10
Découverte d'Activiti et comparaison avec Bonita © StarXpert 2011 STARXPERT - Siège social : 100 rue des Fougères 69009 LYON SAS au capital de 40 000 - Siret : 449 436 732 00035 - NAF : 723Z

Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

Découverte d'Activiti et comparaison avec Bonita

© StarXpert 2011 STARXPERT - Siège social : 100 rue des Fougères 69009 LYONSAS au capital de 40 000 € - Siret : 449 436 732 00035 - NAF : 723Z

Page 2: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

Table des matières 1 Introduction.............................................................................................................3 2 Activiti......................................................................................................................4

2.1 Composants d'Activiti :......................................................................................4 2.1.1 Activiti Engine............................................................................................ 4 2.1.2 Activiti Modeler...........................................................................................5 2.1.3 Activiti Explorer.......................................................................................... 6 2.1.4 Activiti Cycle...............................................................................................7

2.2 Activiti et Alfresco Share :................................................................................. 7 3 BonitaSoft................................................................................................................ 9 4 Conclusion............................................................................................................ 10

© StarXpert 2011 Conception de l'architecture 2 / 10

Page 3: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

1 IntroductionCe document se propose d'identifier les solutions open source permettant de modeler et de mettre en place un processus BPM. Nous procéderons en deux étapes : dans un premier temps, nous examinerons les caractéristiques d'Activiti, que nous comparerons ensuite à Bonitasoft.

Le cas de figure utilisé pour illustrer le processus de BPM est la gestion des congés chez StarXpert.

© StarXpert 2011 Conception de l'architecture 3 / 10

Page 4: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

2 Activiti Activiti, est un projet open source de gestion des processus métier (BPM). Il s'agit d'une nouvelle plate-forme de BPM Open Source, lancée en 2010 sous licence Apache pour implémenter le nouveau standard BPMN 2.0 de l’OMG (Object Management Group) et pour permettre de supporter de manière optimale les nouveaux défis technologiques comme l’interopérabilité et le mode cloud. Tom Baeyens, fondateur et architecte du projet JBoss jBPM, et son collaborateur Joram Barrez, tous deux employés d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante, Activiti fonctionne indépendamment du système ECM Open Source Alfresco. Entièrement pensé comme un moteur BPM léger et aisément intégrable, Activiti est également conçu pour fonctionner au sein d’environnements cloud évolutifs. Il est publié sous licence Apache 2.0, permettant notamment d’encourager l’utilisation et l’adoption du BPMN 2.0, standard en cours de finalisation par l’OMG. Activiti est conçu spécialement pour les développeurs.

Source : communiqués de presse Alfresco.

2.1 Composants d'Activiti :

2.1.1 Activiti Engine Le moteur Activiti est composé d'un ensemble de bibliothèques (« librairies ») permettant la gestion des processus BPM, tandis que la définition des modèles se fait grâce à un fichier XML. Un plug-in Activiti est disponible sous Eclipse permettant de faciliter la création de projets Activiti, ainsi que l'import des modèles conçus grâce à des outils externes BPMN. L'import/export se fait par des fichiers .bar contenant un fichier XML, lequel contient à son tour la définition du modèle BPM. L'API permet de créer facilement d'autres Class java, ainsi que des Units tests (clic droit sur le fichier XML pour créer des Units tests). Il est donc possible de contrôler le code créé à la ligne près. Il peut se poser un problème de conflit entre quelques lib openSource (par exemple les lib de log), mais étant donné qu'on a le contrôle de tout le code, des moyens de contournement sont souvent facilement adaptés pour palier à ce problème.

UnitTest lié au processus

© StarXpert 2011 Conception de l'architecture 4 / 10

Page 5: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

Un plugin sous Eclipse permet de créer des processus BPM grâce à une interface graphique (drag'n drop). A chaque sauvegarde du projet, un fichier XML représentant la définition BPMN du processus et une image png représentant le schéma du processus sont créés .

2.1.2 Activiti ModelerUn module web appartenant à une suite développée par Signavio (Signavio core components) est inclus. Il est appellé « modeler », tandis que le plugin Eclipse est appelé « Designer », bien que les deux fassent à peu près la même chose. Ce module permet la création des modèles BPMN via une interface WEB (avec du drag'n drop également). A noter que le designer ne permet pas l'ajout des détails techniques au modèle (par exemple l'implémentation des fonctionnalités tierces via des scripts), pour ce faire il faut importer ce modèle dans Eclipse et le finaliser via le designer.

N.B. On est toujours obligé de passer par ce plugin (le designer) puisqu'il est utilisé dans la dernière étape, à savoir le déploiement du processus (non disponible sous le modeler).

© StarXpert 2011 Conception de l'architecture 5 / 10

Page 6: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

Les projets sont créés dans le Workspace lié à l'installation d'Activiti (emplacement personnalisable par un fichier de configuration). Deux fichiers sont créés par le modeler lors de la création d'un nouveau modèle : un fichier .signavio.xml propre à la plateforme signavio, et un fichier bpmn20.xml contenant la définition BPMN 2.0 standard du processus. Le dernier fichier est celui importé dans Eclipse pour générer les fichiers du déploiement.

2.1.3 Activiti Explorer

Ce module web permet la gestion des processus : démarrage, création des taches, annulation, etc. Il permet aussi le déploiement des processus anciennement créés par le modeler/designer.

Toutes les actions concernant les processus, création des instances, étapes, etc. sont sauvegardées dans une base de données d'historiques, ce qui permet le suivi des exécutions afin d'avoir des statistiques précises sur le temps d'exécution de chaque activité, ainsi que d'autres informations concernant les acteurs du processus.Plusieurs autres fonctionnalités, anciennement intégrées dans le module activiti-probe, sont disponibles maintenant via l'explorer, notamment le déploiement et l'affichage des statistiques sur le processus :

© StarXpert 2011 Conception de l'architecture 6 / 10

Page 7: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

2.1.4 Activiti Cycle

Ce module est maintenant géré par Camunda fox BPM Plateform, il se présente aussi sous forme d'une application Web permettant de faciliter le travail collaboratif autour d'un projet BPM. Il facilite, en effet, la communication entre les différents types d'acteurs, analystes, développeurs, managers. Etc.

2.2 Activiti et Alfresco Share :Alfresco intègre le moteur Activiti par défaut depuis la version 3.4.e d'Alfresco Communautaire. Les workflows simples mis par défaut dans Share sont d'ors et déjà traduits en workflow Activiti :

© StarXpert 2011 Conception de l'architecture 7 / 10

Page 8: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

Étant donné que Activiti s'intègre facilement dans une architecture Spring, l'ajout d'un workflow Activiti devrait respecter le même mécanisme que les workflow jBPM, (emplacements, fichiers de configurations XML, etc.)

Exemple d'un workflow: validation par groupe (étape finale) :

© StarXpert 2011 Conception de l'architecture 8 / 10

Page 9: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

3 BonitaSoftBonita, développé par Bonita Open Solution (bonitaSoft), combine trois solutions en une: un studio de création de processus, un moteur de BPM et une interface utilisateur final. Bonita Open Solution offre une solution simple, intuitive et graphique. Le déploiement d'un processus est relativement facile via des menus depuis le studio BonitaSoft. BonitaSoft est conçu pour les utilisateurs/développeurs. Il dispose d'une interface appelée « connecteurs » et qui permet de rajouter l'aspect technique aux activités. A ce jour un nombre important de ces connecteurs est développé et mis à disposition par la communauté. Ceux-ci permettent de communiquer avec une base de données, un web service, une GED, etc.

L'étape de déploiement consiste à exporter le processus (plusieurs formes sont disponibles, EJB, war, etc), ainsi que l'application runtime de bonita. Le WAR généré est une application WEB facilement personnalisable (css et html). Une autre application permet la gestion des processus, User XP (expérience utilisateur)

A ce niveau, un utilisateur normal peut faire des taches de suivi ou d'administration en général. Cette interface ressemble au module activiti-explorer dans sa partie administration.

© StarXpert 2011 Conception de l'architecture 9 / 10

Page 10: Découverte d'Activiti et comparaison avec Bonita · d'Alfresco, rejoignent Activiti pour créer le premier moteur BPMN 2.0 sous licence Apache. Géré sous une marque indépendante,

DOCUMENT : Activiti-Bonita VERSION : 1.0

4 ConclusionActiviti, lancé seulement en 2010, s'améliore à une vitesse phénoménale. Cependant, Activiti reste un outil s'adressant uniquement aux développeurs. En effet, s'il permet une grande flexibilité, il souffre d'être peu intuitif et donc peu accessible aux usagers autres que développeurs.

De son côté, Bonita reste un outil complet pour faire du BPM, et surtout plus facile à utiliser par les non-développeurs. En effet :

– Bonita s'installe simplement et rapidement avec un exécutable. Activiti, de son côté, requiert une version précise et classique d'Eclipse pour pouvoir installer le plugin "Activiti designer". Les autres composants (modeler, explorer etc.) sont disponible sous forme d'applications web facilement installables sur un Tomcat par exemple.

– Bonita intègre un serveur de web interne pour effectuer tests/debugs, et dont l'utilisation est intuitive : un bouton "lancer le processus ou debugger..." ouvre le navigateur avec la première activité du processus. Activiti ne possède par de telle fonctionnalité, cependant il est possible de l'intégrer soi- même, par exemple en installant un Tomcat et en le connectant avec Eclipse. Naturellement, cet usage est réservé aux développeurs.

– Bonita gère les formulaires dans les activités de façon simple, grâce à un glisser-déplacer des champs/étiquetes... Activiti propose juste un tableau permettant de rajouter les champs avec leurs types, avec parfois des erreurs au niveau de la mise à jour des valeurs saisies.

– De son côté, Activiti propose un système de gestion des variables processus permettant de rajouter facilement et à tout moment une variable globale/locale.

Enfin, en parcourant le site officiel de Bonita, on remarque qu'ils ont tendance à privilégier la version SP (version supportée) par rapport à la version gratuite, détail non-négligeable.

© StarXpert 2011 Conception de l'architecture 10 / 10