Actualités

[08/09/2017] Breaking news ! Smile décroche le label Happy Trainees 2018

Après le label HappyAtWork, Smile s’offre celui décerné par ses stagiaires et alternants !

[21/07/2017] Smile lance les premiers vélos solaires connectés à l’occasion du Sun Trip Tour 2017

Smile, leader des solutions IoT et open source, confirme sa solide expertise sur le marché de l’embarqué en participant activement à la course de vélos solaires du Sun Trip Tour.

[03/07/2017] Smile remporte le Drupagora d'Or 2017 du meilleur site e-commerce

Le vendredi 30 juin, la 3ème édition des Drupagora d'Or s'est déroulée à Paris.

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Quand Bonita rencontre Nuxeo

Développement d'un connecteur entre Bonita et Nuxeo pour stocker les fichiers issus de vos processus métier dans une base documentaire

Bonita Open Solution v5 propose en standard une palette de connecteurs permettant d'adresser des requêtes aux applications du SI tout au long de l’exécution d’un processus métier.

Sur le segment GED Open Source, une collection de connecteurs pour Alfresco et eXo permettent d'effectuer des opérations courantes, telles que :

  • la dépose d'un fichier
  • la création d'un dossier
  • le téléchargement d'un fichier

Si l'existence de ces connecteurs en ravira plus d'un, force est de constater que Nuxeo manque à l'appel. C’est donc l’occasion de mettre à profit les possibilités d’extension de BOS 5.

1. Scénario

Lors de l'arrivée d'un nouveau collaborateur, une fiche d'information est saisie par le département des ressources humaines. Celle-ci contient les nom, prénom, intitulé du poste et département de l'arrivant ainsi que sa fiche de mission et son contrat de travail.

Après validation, les documents sont versés dans la base RH (ici Nuxeo DM) en adoptant le formalisme suivant :

  • un dossier par collaborateur dont l'emplacement est déterminé par le département auquel il est rattaché
  • création d'une note "fiche de mission" contenant le descriptif de la mission
  • création d'un document "contrat de travail" avec le contrat de travail en fichier principal.

2. Architecture d’un connecteur

Un connecteur BOS 5 est composé des éléments suivants :

  • un fichier de description (entrées/sorties)
  • un fichier source JAVA
  • un fichier de messages par défaut
  • des fichiers de traduction

Lors de l'instanciation d'un connecteur, l'utilisateur est d'abord invité à renseigner les paramètres d'entrée. En fonction du besoin, chaque entrée se verra attribuer une valeur statique ou dynamique, c'est à dire liée à l'une des variables du processus (via un script Groovy). Quand ils existent, les paramètres de sorties sont utilisés pour piloter les variables du processus.

3. Modélisation des connecteurs Nuxeo

Le maître mot dans la réalisation d'un connecteur est la réutilisabilité. À chaque étape d'un processus, il est possible d'associer une séquence de connecteurs. Dès lors, on abandonnera l'idée de développer des connecteurs trop complets et ne répondant qu'à des besoins très précis, pour se concentrer sur des fonctions élémentaires mais fortement paramétrables. Dans le cas d'une utilisation à grande échelle, la mise en place d'un référentiel de connecteurs "simples" facilitera d'autant leur distribution et leur maintenance.

Le scénario proposé met en jeu un traitement décomposable en trois étapes élémentaires, soit autant de connecteurs :

  • NuxeoCreateFolderConnector : créé un dossier et retourne son chemin d'accès
  • NuxeoCreateNoteConnector : créé une note
  • NuxeoCreateDocumentConnector : créé un document

4. Implémentation des fonctionnalités

L'assistant de création proposé dans Bonita Studio permet de réaliser des enveloppes de connecteurs sans taper la moindre ligne de code. Seule la réalisation du code métier du connecteur fait appel à une expertise technique. Mais là encore, il est possible de minimiser l'effort de développement en factorisant le maximum de fonctionnalités dans des librairies. Les avantages sont multiples :

  • Les équipes de développement maintiennent et fournissent le même jeu de librairies
  • Le code du connecteur reste lisible et facilement modifiable par des profils moins techniques
  • La montée de version d'une application n'a pas (ou peu) d'impact sur les connecteurs

Du fait de la forte implication de Nuxeo dans le groupe de travail d'OASIS dédié à CMIS (Content Management Interoperability Services), la solution Nuxeo DM en propose une implémentation via Apache Chemistry (dont Nuxeo est l'un des principaux contributeurs). La couverture fonctionnelle des services de Nuxeo DM n’est à ce jour pas encore complète, mais suffisante pour réaliser les trois connecteurs décrits ci-dessus. Toutes les fonctionnalités nécessaires à la réalisation du prototype sont embarquées dans un client CMIS développé pour l'occasion. Les librairies requises (client et dépendances) sont rattachées au processus depuis Bonita Studio.

Le résultat en vidéo :

 

Sébastien Chevallier
picto

Commentaires

Soyez la premiere personne à ajouter un commentaire sur cet article.
Ecrire un nouveau commentaire