CMIS (Content Management Interoperability Services), est une API créée à l’initiative de plusieurs acteurs de l’ECM (Enterprise Content Management), dans le but de faciliter l’interopérabilité entre les systèmes de gestion de contenus (CMS, GED).
La spécification CMIS a été soumise à OASIS. Même si le processus de normalisation est toujours en cours, plusieurs cas d’application ont déjà été réalisés.
Il y a fort à parier pour que CMIS supplante la JSR 170, qui avait la même vocation, mais avec des modalités d’intégration beaucoup plus contraignantes. Et de fait, peu d’éditeurs en ont fait des intégrations conformes.
Historique
EMC (Documentum), Microsoft (Sharepoint) et IBM (Filenet) sont à l’origine de cette initiative, en octobre 2008. Ils ont ensuite été rejoints par Alfresco, Nuxeo, OpenText, Oracle, SAP au début 2009. Depuis, de nombreux éditeurs ont déclaré leur intérêt pour la mise en conformité de leur application avec CMIS (on peut citer parmi eux Exalead, Freedom, Knwoledge Tree, Vignette, …)
Que propose le standard ?
Il s’agit d’une spécification technique permettant d’interagir avec les entrepôts de contenus d’un ECM par le biais de web services. Cela comprend :
- un modèle de données
- un jeu de services génériques en lien avec le modèle de données
- plusieurs protocoles pour ces services, dont SOAP et REST/Atom
CMIS définit 4 natures d’objets présents dans un entrepôt : document, dossier, relation, règle d’administration. Une typologie est déclinable pour chacun d’eux, ainsi qu’un ensemble de propriétés (URI, nom, etc)
Le langage utilisé par CMIS (CMIS Query Language) s’inspire de SQL. Il permet de réaliser des jointures de tables, des sélections de données et des recherches plein-texte. Il comprend aussi des mécanismes de création, mise à jour et suppression d’objets, ainsi qu’une gestion des versions de documents. Enfin, il est à même de naviguer dans les structures arborescentes de dossiers puisqu’il intègre la notion d’objet hiérarchique.
Pour plus d’informations, vous pouvez consulter le rapport technique qui contient des liens pour télécharger les spécifications V0.5.
Les avantages
- Se baser sur des web services standardisés permet de travailler sur des entrepôts existants, sans nécessiter de développements lourds
- Présenter des informations provenant de systèmes de gestion différents
Des exemples de mise en œuvre dans l’open source
Les exemples fleurissent régulièrement :
L’objectif était globalement :
- de faire bénéficier les utilisateurs du CMS Joomla ou Drupal des fonctionnalités de la solution d’ECM (Alfresco) en matière de gestion de contenus et de documents
- de faciliter le travail des contributeurs, sous Alfresco, pour gérer et publier leurs contenus sur les sites internet gérés par les CMS
Autre initiative, la création d’un explorateur CMIS. Vous trouverez sur ce blog des illustrations du résultat.
Le projet est aussi disponible sur Google Code.
CMIS devient donc un réel outil pour construire des plateformes d’informations.
Commentaires
Le project Apache Chemistry, par exemple, vise a créer une implémentation de CMIS sur un repository JSR 170, les deux normes sont complémentaires et ont des objectifs et domaines d'applications différents.