Toutes les routes mènent à la GED

Acronyme de plus en plus présent dans les discussions, La GED, ou Gestion Electronique de Documents, met à disposition les principales notions relatives à la manipulation de documents numériques.

On peut alors s'interroger sur les principaux bénéfices d'utilisation d'une GED par rapport à des méthodes plus simples comme le stockage dans un répertoire de son système d'exploitation, et au final quelles sont les méthodes disponibles pour intégrer une GED dans une application tierce.

Pour illustrer cet article, je vous propose de nous attarder à un des systèmes du marché : Alfresco.

Pourquoi utiliser une GED ?

Il s'agit d'une question souvent posée mais trop souvent écartée. En effet, une GED permet une manipulation de documents électroniques de façon bien plus évoluée que le traditionnel stockage sur disque dur. Prenons un exemple simple : l'historisation de données. En effet, si l'on se trouve face à la problématique de conserver un historique des différentes versions d'un document, avec une approche traditionnelle d'utilisation d'un système sur disque, l'arborescence de répertoire des différentes versions finit bien vite par exploser et donc il ne vous reste plus qu'à mettre votre chapeau d'Indiana Jones pour retrouver LA version du document qu'il vous faut.
Les systèmes de GED proposent ainsi d'autres avantages comme la sécurisation du partage d'information ou la mise en place de système de notification et d'approbation de documents ("Workflow"). N'hésitez pas à explorer les différents choix présent sur le marché, comme eXo Platform ou Alfresco afin d'évaluer la solution qui vous conviendrait le mieux.

Ma GED est choisie, et maintenant ?

Avoir une solution de GED accessible à vos utilisateurs est déjà une bonne chose, mais là où elle devient encore plus intéressante, réside dans la possibilité de l'intégrer à vos applications personnelles. De la sorte, si vous n'êtes pas encore prêts à "ouvrir" la GED à l'ensemble de vos utilisateurs, vous pouvez l'intégrer via vos applications, et prévoir d'en fournir un accès par la suite, pourquoi pas via de nouveaux vecteurs tel qu'un partage SAMBA, un accès FTP ou un lien WebDav.

Nous allons évoquer différentes méthodes d'accès en nous basant sur une solution existante : Alfresco Community Edition.
Alfresco vous propose ainsi plusieurs passerelles d'accès, afin d'intégrer une GED dans votre application.

Solution du SDK propriétaire

Alfresco vous propose en effet d'accéder à son contenu via l'utilisation d'une librairie propriétaire. Ce Kit de développement, regroupant librairies, dépendances et exemple est disponible à l'adresse suivante : Alfresco_SDK_3.4.

Via l'intégration de cette librairie dans votre projet, vous serez alors en mesure de communiquer avec la GED d'Alfresco.
Cependant, cette solution peut vite se révéler limitée du fait de la forte dépendance/couplage de votre application au SDK d'Alfresco. Les montées en version de la GED nécessitant pour plus de sécurité, la mise à jour de vos librairies. De plus, de part les choix retenus dans la conception du SDK, certaines procédures ne seront tout simplement pas isolables (mockables), transformant vos tests unitaires en tests d'intégration.

Interfaçage via les services REST

Alfresco a plus d'une lame à son couteau Suisse, en proposant également une interface via l'appel de service REST.
L'ensemble des règles et fonctionnalités sont décrites sur le site Wiki d'Alfresco : Repository_RESTful_API_Reference
Cependant, la mise à jour du wiki et les définitions des services disponibles sur votre version d'Alfresco peuvent différer. Heureusement il vous est possible de "générer" le listing complet des fonctionnalités de votre serveur via l'appel suivant :

http://localhost:8080/alfresco/service/index/all.mediawiki?url=/api&desc=Public

en remplaçant bien sûr l'adresse et le port d'écoute de votre serveur par votre propre configuration.

Vous obtenez alors le "contrat" d'Alfresco en termes de requêtage REST. L'utilisation des services d'Alfresco devient alors bien plus simple et une fois que la manipulation des différents types de données (texte, ATOM, JSON, XML, et autres) n'aura plus de secret pour vous, vous aurez ainsi diminué votre couplage à la sphère "Alfresco", afin d'utiliser le requêtage REST qui, moyennant quelques adaptations, pourra fonctionner de la même manière sur d'autres systèmes de GED.

Oui mais comment faire pour parler au "monde entier" ?

En effet, Alfresco, comme d'autres de ses confrères, propose SES interfaces d'échange, eXo Platform en fera de même et ainsi de suite.
Heureusement une troisième solution s'offre à nous sous la forme de la librairie Apache Chemistry.

Chemistry propose ainsi un système de communication basé sur les règles du Content Management Interoperability Services, ou CMIS, défini par le comité OASIS.
Cette spécification, disponible à l'adresse suivante cmis-spec-v1.0.html, définit ainsi une grammaire et des mécanismes d'uniformisation de communication entre différents systèmes de GED : en d'autres termes un système de requêtage complet, proche de notre bon vieux SQL. La librairie Chemistry propose ainsi aussi bien la partie "Cliente" de la spécification, que la partie "Serveur". Attention, il faut cependant noter que toute la spécification n'est pas encore implémentée, mais elle propose déjà énormément de fonctions qui répondront aux besoins les plus courants sur l'utilisation d'une GED.

Apache Chemistry est disponible à l'adresse suivante : dev-client-overview.html

Une fois intégrée à votre projet, et le paramétrage "cible" effectué, votre application pourra alors passer aussi bien d'un Alfresco, à un eXo ou autre.

La mise en place et l'utilisation de Chemistry fera l'objet d'un billet complémentaire, donc si votre curiosité est réveillée, n'hésitez surtout pas à revenir pour la suite de la découverte de la GED et de son utilisation dans vos applications.

2 commentaires

  1. You realize therefore drastically in relation to this particular subject matter, produced myself personally ponder over it out of several a lot of angles. Its like women and men usually are not needed other than it’s one thing to accomplish having Young lady crazy! Your individual products fantastic. Usually tackle it!

  2. You realize therefore drastically in relation to this particular subject matter, produced myself personally ponder over it out of several a lot of angles. Its like women and men usually are not needed other than it’s one thing to accomplish having Young lady crazy! Your individual products fantastic. Usually tackle it!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.