IP-Tech Offshore

Nos compétances, votre nouveau levier de croissance

L’interopérabilité de Microsoft
SharePoint propulsée par CMIS

L’usage des documents électroniques dans les processus de collaboration, de communication et de prise de décision ne cesse de s’intensifier: Les décisions stratégiques se basent, entre autres, sur des analyses documentées. La communication intra et inter-entreprise, qui se base sur les messages électroniques et les sites web, se doit de cibler une large audience et représente un media de choix pour communiquer avec les partenaires et les clients.

Les éditeurs logiciels se sont très tôt intéressés au domaine de la gestion des contenus de l’entreprise ou Entreprise Content Management (ECM). Au fil des années la pile logicielle (l’ensemble des logiciels inter opérant au sein d’une entreprise pour compléter un processus métier) s’est complexifiée et a vu une multitude d’intervenants opérants entre eux. Cette interopérabilité est essentielle et même stratégique dans certains cas. Elle est aussi couteuse car les éditeurs sont peu enclins à dévoiler leurs protocoles et leurs interfaces, ceci venant s’ajouter à une hétérogénéité des langages informatiques.

A défaut de pile ECM intégrée, les entreprises se sont donc tournées vers le développement de solution ad-hoc. Tâche qui peut s’avérer ardue et qui aboutit, généralement, à un produit non réutilisable et difficile à maintenir.

Ceci n’est pas sans rappeler les problèmes auxquels furent confrontés les développeurs dans les années 80 avec les systèmes de gestion des bases de données (SGBD). Ce problème a été résolu par l’adoption de standards (ODBC, SQL …) par l’ensemble des fournisseurs de SGBD. Cette solution ayant fait ses preuves, les principaux protagonistes du monde ECM, c’est-à-dire Microsoft, EMC et IBM ont élaborés un nouveau standard nommé CMIS (Content Management Interoperability Services) pour mettre fin à cette véritable tour de Babel des ECM.

La première version de a été soumise fin 2008, et très vite elle a suscité l’intérêt de plusieurs acteurs du marché logiciel tel Alfresco, SAP et Drupal …

Suite à cet engouement, l’organisme de standardisation OASIS adopta le projet pour en faire une norme de l’industrie des ECM. Dès lors, les implémentations de CMIS ont commencés à apparaitre et le premier à en proposer une fût Alfresco suivi par ECM et IBM. Mais Microsoft ne proposa aucune solution pour son produit SharePoint et ce n’est que vers février 2009, que l’on voit apparaitre un article sur MSDN traitant du sujet.

Microsoft SharePoint : une success story

SharePoint est devenu au fil des années un des produits phares de Microsoft (plus de 1 milliards de dollars (US$) en licences vendues durant l’année 2008). Cette large implémentation en entreprise a favorisé l’éclosion d’une communauté très active autour de SharePoint notamment à travers le programme MVP de Microsoft, Codeplex et les clubs SharePoint un peu partout dans le monde.

La part du marché des ECM qu’occupe Microsoft est tellement importante que plusieurs entreprises se sont spécialisées dans l’édition de connecteurs spécifiques pour des logiciels tiers interagissant avec SharePoint. Microsoft devant cet engouement pour le développement sous SharePoint a fait preuve de bonne volonté; en intégrant les protocoles de communication SharePoint dans ses initiatives Open Protocol et Open specification. Ceci a conduit à l’apparition de plusieurs produits compatibles comme par exemple l’intégration de SharePoint dans OpenOffice.org.

La norme CMIS est dans la droite lignée de cette ouverture de Microsoft et sa participation à l’élaboration des standards. Mais malgré ses bonnes intentions, Microsoft reste en retard par rapport à ses concurrents en ce qui concerne l’implémentation des services CMIS, menaçant ainsi son adoption en tel que standard de l’industrie.

CMIS4SharePoint :

S’inscrivant dans un objectif de veille technologique, CMIS4SharePoint est avant tout une étude de faisabilité. L’objectif initial était de démontrer qu’une implémentation de CMIS en utilisant uniquement le modèle objet SharePoint était possible.

Au fil des développements, et après quelques concessions dues à la structure même de SharePoint. Il s’est avéré que cette implémentation était opérationnelle. La décision fût alors prise de faire profiter la communauté de ce développement, c’est ainsi que IP-Tech propose la première implémentation du standard CMIS pour la plateforme SharePoint.

Architecture deCMIS4SharePoint

L’architecture nécessite plusieurs aménagement du serveur SharePoint car il se base sur le .NET Framework 2.0 or nous utilisons WCF pour exposer les web services SOAP et REST. Ceci ne peut se faire qu’avec le .NET Framework 3.5 et un « tweak » de SharePoint pour rajouter le support de WCF.

Un scenario simple illustrant l’utilisation de CMIS, peut être la mise en place d’un outil pour l’utilisation offline de SharePoint. Cet outil peut s’avérer très utile pour fournir une meilleure expérience utilisateur dans l’utilisation de SharePoint, car il bénéficie de la puissance de calcul des clients lourds. Aussi on peut envisager sa réutilisation pour d’autres ECM, tel Alfresco ou FileNet. Ainsi, si l’entreprise procède à une migration elle sera presque transparente pour l’utilisateur final. Il conservera la même interface graphique et les mêmes habitudes de travail évitant le réapprentissage imposé par chaque changement d’ECM.

Image d'un client utilisant CMIS4SharePoint

Pour illustrer la facilité qu’apporte l’abstraction CMIS à la création des outils, nous avons développé un client qui liste le nom et l’URL de l’ensemble des bibliothèques de documents disponible dans un site SharePoint.
Pour tester CMIS4SharePoint il faut commencer par créer sur une machine cliente (autre que le serveur SharePoint) un nouveau projet Console sous Visual Studio 2008. On appellera ce projet “ClientTestCMIS”.
Après la création de ce projet, faites un clique droit sur le projet dans explorateur de solution, et sélectionnez “Ajouter référence de services” (Add Service Refrence).

Ajout d'une réference de services sous visual studio 2008

Dans la boite de dialogue qui s’est ouverte, saisissez l’adresse de votre service, appuyez sur “Go” puis sélectionnez le service retrouvé, comme l’illustre cette capture :

Renommez le Namespace du service puis validez.
Maintenant Visual Studio a généré un proxy qui reprend tout les services exposé, il ne reste plus qu’a implémenter le programme dont voici le code source:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ClientTestCMIS.CMISReference;

namespace ClientTestCMIS
{
    class Program
    {
        static void Main(string[] args)
        {
            //création du proxy qui va nous permettre de consommer les services
            RepositoryServiceClient repositoryClient = new RepositoryServiceClient();

            //ouverture de la liaison
            repositoryClient.Open();

            //envoi de la requête pour l’obtention de
            //la liste des repositories (des bibliothèque de documents)disponible dans le site SharePoint
            cmisRepositoryEntryType[] repositories = repositoryClient.GetRepositories();

            //fermeture de la liaison
            repositoryClient.Close();

            //affichage du nom et de l’url de chaque bibliothèque de document
            foreach (cmisRepositoryEntryType item in repositories)
            {

                Console.WriteLine(”Name={0}\nURL={1}\n”, item.repositoryName, item.repositoryURI);

            }
        }
    }
}

Perspectives

L’avenir de CMIS4SharePoint est totalement lié à l’intérêt qu’il suscitera auprès de la communauté. Du chemin reste à faire avant de pouvoir proposer une implémentation totalement opérationnelle mais ceci ne saurait tarder.

CMIS4SharePoint peut être utilisé comme une base pour de applications plus élaborée afin de promouvoir l’utilisation de CMIS. Car un standard qu’on n’exploite pas est un standard qui ne sert à rien. CMIS ne subira pas le même sort que les autres tentatives de standardisation des ECM et tout comme JCR il ne sera pas classé comme « une norme de plus ! » (Just another standard !).

Tags: , , , , , ,

Laisser un commentaire

Security Code:


Tous les droits sont réservés pour IP-Tech