The CMIS protocol specification does not even contain the words “synchronous” or “asynchronous”.
I guess that implicitely, every server-side operation is synchronous?
Are there counter-examples?
Scenario: I create a document, then immediately I list the directory, and the file does not appear yet.
Is this scenario illegal?
(not a client problem, the client waits for HTTP response before going to the next instruction)
CMIS is synchronous, and doesn’t have any semantic for transactions spanning multiple requests. Thus, each successful mutation request (
POST,PUT,DELETEin the AtomPub binding) have immediate effect to subsequent requests.The scenario you depicted is not illegal, it’s simply impossible to achieve under CMIS. If you need asynchronous operations, you need to decouple the client from CMIS and introduce an intermediate layer that e.g.: