Q:

Large video storage and streaming using CMIS

I am building a content management application to store large sized mp4 videos and provide a streaming playback experience for the user. The application needs to be compliant with CMIS standards. I have gone through the standard and see that
appendContentStream, setContentStream and getContentStream APIs under object service can be used for this purpose. My application is designed as a SOAP based WCF
web service but I think RESTful service is more suitable for video streaming.
I am planning to have one SOAP based service for current functionality and create a new RESTful service for videos. Does the CMIS standard restrict exposing multiple endpoints for, let's say, object service?

A:

Generic CMIS clients don't except that they have to switch the binding or use an external REST endpoint to fetch the content. If you want to make them work you have to provide the content via SOAP - which is a really, really bad idea. Clients that know your extension of CMIS can of course handle that.
It depends on your clients. If you want to support generic CMIS clients, implement the CMIS Browser Binding on the server side for the best performance and content streaming. If you have clients that understand your extension, provide a URL to a REST endpoint as a document property. Those clients then know where to look for the content.

