3

CMIS is a protocol supported by all modern Enterprise Content Management servers.

Some legacy servers (for instance IIS) don't know the CMIS protocol and only offer WebDAV.

Is there a sort of gateway that would make any WebDAV server appear as a CMIS server?

WebDAV server (for instance IIS) ----> gateway ----> CMIS client

I am aware that not all advanced CMIS capabilities are implementable over WebDAV, but I would be happy with even a basic CMIS server (files/folders download/upload only is OK).

This would be useful to connect from clients that implement CMIS but not WebDAV, for instance CmisSync. One of my clients is trying to achieve exactly this.

Here is the opposite question.

1 Answer 1

1

I don't know any software that do it directly, however, perhaps you can find it has an ESB (Enterprise Service Bus) module out as a Service Gateway.

If you do not find one, you can assemble it. It should be easy if you assemble has an ESB module.

An ESB is a software that allow to connect different or same services under the same bus. So you can expose the CMIS service, and under the hood the module requests the files from the WebDAV server.

It should be something as simple as:

service = new CMIS( aPortToServe );
legacy = new WebDAV(  myLegacyServer );

while (   service→asRequest()  ) {
    request = service→getRequest();
    if ( request→getType() == “I NEED A FILE” )  {

        if ( legacy→fileExists( request→getFilenameRequested() ) )
            request->deployFile ( legacy->getFile( request→getFilenameRequested()  ) );
        else
            request→notFoundError();

    } if ( request→getType() == “I WANT TO SAVE” ) 
        legacy→save ( request→getFilenameRequested()  , request→getData() );
    else
        request→unkowError();

    request→done();
}

All the interchangeability infrastructure can be provided by the ESB. Your work is just to map the common functionalities between the two protocols.

A good software to do it is Anypoint Studio, http://mulesoft.com/platform/studio , it includes the CMIS module yet.

Another choice is a datamapper software, Mule Software offer one too.

Perhaps you should be start to think about your business and software requirements. For example:

  • If a file need to be found by a UUID instead the filename, how you will handle it? WebDav doesn’t support UUID, so you can generate an UUID for every file and store into a database or you can generate the UUID only when the file has touched, if the UUID is requested for an untouched file the ESB can return an error, even the desired file really exists.
  • Another problem is about inheriting the connection between software, such as timeout, bandwidth limits, filename encoding, corruption, etc.

You need an information systems professional.

3
  • Could you please recommend a specific ESB product that has WebDAV and CMIS modules, and can be used for this task? Thanks! There is no need for search by anything else than file path.
    – Nicolas Raoul
    Dec 8, 2017 at 2:04
  • Yes, try it mulesoft.com/platform/studio , includes the CMIS module yet. :D Dec 11, 2017 at 19:27
  • Please include this information into your answer, thanks!
    – Nicolas Raoul
    Dec 12, 2017 at 3:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.