Architecture/stack
The Alfresco implementation of the CMIS standard changed in Version 4.0 when the OpenCMIS client and server library was adopted as the CMIS server framework for the Alfresco server.
The following diagram shows the current Alfresco CMIS stack:
Right on top of the Alfresco Service interface is a CMIS abstraction layer called CMISConnector that works as a façade between the Alfresco system and the OpenCMIS server framework. The OpenCMIS Service Provider Interface (SPI) is implemented with the AlfrescoCmisServiceImpl component that ties together Alfresco's repository with the OpenCMIS server framework. Alfresco then just takes advantage of the OpenCMIS protocol binding implementations.
Adopting the OpenCMIS library had several benefits for Alfresco, some of which are as follows:
The OpenCMIS server framework is used by several CMS servers and not just Alfresco; so Alfresco automatically benefits from all the bug fixes and improvements.
Alfresco will have one code base for all CMIS...