Actualités

[22/05/2017] Des Smiliens récompensés lors du Hackathon Carrefour !

Notre équipe, composée en partie de Smiliens, a remporté le Prix du Code et celui de l'Incubation lors du Hackathon Carrefour, organisé ce week-end à Paris !

[18/05/2017] OpenShift, le nouveau livre blanc Smile !

Smile publie aujourd'hui un livre blanc dédié à OpenShift, le PaaS open source orienté DevOps. A télécharger dès maintenant !

[15/05/2017] Smile décroche le label HappyAtWork 2017 !

Pour la 2ème année consécutive, Smile obtient le label HappyAtWork for Starters qui récompense les entreprises où il fait bon débuter sa carrière !

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

       
Giovanni Evangelisti
Bonjour
Je suis Giovanni Evagelisti et je suis un sharehoder de la société qui a signé un contrat de distribution avec Nuxeo pour représenter la marque Nuxeo dans plusieurs pays comme l'Italie ME et Pays de l'Est.
Nous avons quelques occasions où nous allons proposer un produit de BPM et nous pensons proposer Bonita. J'ai constaté que vous avez développé connecteur tel et nous aimerions savoir comment nous pouvons l'obtenir
merci d'avance
Giovanni Evangelisti
lundi 11 octobre 2010 @ 8:00
       
Ecrire un nouveau commentaire