Bonita : Une solution open source de gestion de processus métier simple et puissante

Posté par . Modéré par Nÿco.
11
23
juin
2010
Commercial
Bonita est une solution Open Source (GPL) dédiée à l'automatisation de processus métier. Le projet de Bonita Software (BonitaSoft) a été co-fondé par Miguel Valdés Faura, un ancien ingénieur en informatique de l'Institut National de Recherche en Informatique et en Automatique (INRIA) afin de proposer une alternative Open Source aux solutions existantes commerciales dans le domaine BPM (Business Process Managment).

Très rapidement remarqué, Bonita s'est vu décerner un prix "Open Innovation Awards" en 2009 (voir la dépêche linuxfr d'Open World Forum parue cette semaine) et rejoint le consortium OW2 où il est l'un des logiciels les plus téléchargés.

Cette solution logicielle s'articule autour de trois composants :
  • Un studio de modélisation de processus "Bonita Studio", qui tente de relever le défi du standard Business Process Management Notation (BPMN) avec une solution graphique "simple et intuitive", reprenant les concepts d'un tableau blanc.
    Cet éditeur de processus s'accompagne également de nombreux connecteurs vers des bases de données (PostgreSQL, MySQL, Sybase...), des annuaires LDAP, des services web (SugarCRM, Twitter, Facebook, Google...) ainsi que vers d'autres solutions logicielles (Jboss Drools, Microsoft SharePoint, Microsoft Exchange, Alfresco...).
  • Un moteur d'exécution des processus. Celui-ci est assez flexible pour s'adapter à diverses architectures de systèmes d'information et suffisamment extensible pour intégrer de nouveaux services ou standards qui peuvent émerger dans le BPM.
  • Une interface utilisateur de contrôle permettant de lancer l'exécution de processus et de vérifier sous forme de boîte aux lettres de réception le résultat des processus.
Après un an d'existence, BonitaSoft est devenu l'un des principaux éditeurs de solutions BPM open source et connaît une ascension internationale (France, Espagne, États-Unis, Brésil, Canada, Suisse, Belgique et Malaisie). Pour fêter cet anniversaire, la version 5.2.1 de Bonita vient de sortir et la version 5.3 est déjà en route. Seul bémol, la documentation nécessite une inscription (gratuite) et la solution est "packagée" uniquement pour la plate-forme Win32.
  • # Version packagée pour Linux et MacOS

    Posté par (page perso) . Évalué à 7.

    "la solution est packagée uniquement pour la plate-forme Win32"

    En cliquant sur le lien "Download other versions of BOS, and BOS for other Operating systems", on y trouve une version Linux, MacOS et une archive indépendante de l'OS.

    voici le lien :
    http://www.bonitasoft.com/products/BPM_download_all.php
  • # Un anti Excel ?

    Posté par . Évalué à 3.

    J'aime pas trop Microsoft, j'aime un peu Excel, mais j’exècre par dessus tout la sale manie qui consiste à sortir Excel à chaque fois qu'on a besoin d'un outil, quel qu'il soit.

    Je croule sous les feuille Excel qui listent un nombre (quasi) inifi de sujets (un par ligne), pour chaque sujet il existe une foultitude de tâches à passer (colonne), et ô miracle d'Excel, on peut donc savoir où on en est pour chaque étape de chaque sujet. Bien sûr à chaque nouveau projet, on commence par ouvrir Excel et à créer une nouvelle feuille qui nous servira à suivre notre avancementretard.

    Est-ce bien à ça que Bonita sert ?
    • [^] # Re: Un anti Excel ?

      Posté par . Évalué à 8.

      Aucune idée,
      j'ai rien compris au post, je n'y ai rien vu qui me donne envie de m'y intéresser.
      Mais bon, je veux bien être éclairé...
    • [^] # Re: Un anti Excel ?

      Posté par (page perso) . Évalué à 3.

      Le BPM c'est fait pour modéliser les processus métier.

      Exemple : quand quelqu'un arrive dans l'entreprise. Il faut lui créer un compte mail. Pour créer ce compte il faut qu'il soit dans l'annuaire LDAP (service RH), puis que l'on configure sa boite mail (le SI), que le chef approuve (service du gars), etc.... .

      Le BPM va essayer d'automatiser cela en envoyant des mails, en provoquant certaines actions en automatique, en vérifiant l'état de certaines données (par un appel à des webservices par exemple) etc... Il y a un langage de description qui formalise ça.BPMN http://en.wikipedia.org/wiki/Business_Process_Modeling_Notat(...)

      Il va aussi te fournir des outils de monitoring de ces actions

      En fait le BPM c'est un peu comme le workflow mais généralisé (initialement le workflow s'applique à des documents, là c'est plus à tout type d'actions, éventuellement transversale).

      Bref ça ne remplace pas Excel :-)

      Alterway propose un bon livre blanc sur le sujet.
  • # gni ?

    Posté par . Évalué à 9.

    Quelqu'un aurait une explication claire, en langage non-decaïdör ? Est-ce un ETL sous stéroïde qui produit des formulaires en permettant d'observer l'avancée d'un processus ? Le temps gagné par cette urbanisation informatique est-il supérieur au temps requis pour sa production ?
    • [^] # Re: gni ?

      Posté par . Évalué à 7.

      Quelqu'un aurait une explication claire, en langage non-decaïdör ?

      Moi maintenant je me méfie : si dans la description d'un soft seul mon DSI connaît tous les termes, je l'exclus systématiquement.
      • [^] # Re: gni ?

        Posté par (page perso) . Évalué à 2.

        spa faux ;-)
        • [^] # Re: gni ?

          Posté par . Évalué à 3.

          skoi que t'as pas compris ?

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: gni ?

      Posté par (page perso) . Évalué à 9.

      non, ce n'est pas un Extract_Transform_Load plutôt le pendant d'une Architecture_orientee_services pour suivre les [[Procedure_d%27entreprise]].

      En "gros" c'est la glue entre les applications d'une entreprise (mais si je donne plus de détails, tu risques de me sortir le Business_loto :p).
      Le temps gagné est difficilement mesurable (comme souvent) mais c'est clairement la différence entre "les applications peuvent évoluer indépendamment les unes des autres" de "ah mais pour mettre en production A1, il faut que A2 change ses interfaces qui dépendent de A3 ayant comme pré-requis A1, on fait comment, sur un week-end comme d'hab' ?".

      Ce que ça apporte, c'est que la "glue" encaisse les changements (de versions, de fonctionnalités des applis) et ipso facto permet de documenter tant les interfaces d'un point de vue technique que les processus d'un point de vue métier. Et pour répondre au commentaire au-dessus, un tableur est une réponse possible, la meilleure pour avoir un truc non visible des directions informatiques et laissant les utilisateurs s'enterrer dans leur démerde à eux qu'ils gèrent tant bien que mal, généralement mal, jusqu'à appeler à l'aide...

      Bon courage pour parcourir wikipedia, le sujet est assez complexe et varie d'une entreprise à l'autre, même s'il y a des constantes.
      http://fr.wikipedia.org/wiki/Urbanisation_%28informatique%29 et http://en.wikipedia.org/wiki/Enterprise_architecture peuvent aider, même s'il vaut mieux avoir déjà été confronté à ces soucis pour se rendre compte que le bon sens aide bien souvent (et que la solution n'est pas qu'informatique).
    • [^] # Re: gni ?

      Posté par . Évalué à 4.

      La ou j'en étais resté, Bonita est un moteur de Workflow.

      Il permet de décrire une processus métier et d'automatiser son exécution. Le moteur de workflow prend en entrée un fichier décrivant la processus métier: les taches réalisées par des humains, celles réalisées par des machines, etc ainsi que manière dont ces taches se succèdent. C'est un peu la même chose qu'un moteur d'orchestration sauf que ce dernier ne prend pas en compte les humains, mais seulement les services webs. A ce sujet, voir le moteur d'orchestration Orchestra qui utilise le même moteur que Bonita pour exécuter les processus: http://orchestra.ow2.org/xwiki/bin/view/Main/WebHome .

      Par exemple, un processus d'achat de matières premières pour le production peut commencer par une demande faite par une personne chargée de la production. Ensuite, la tache suivante va au département achat qui doit négocier l'achat au meilleur prix. Si l'achat se fait hors de l'UE, alors il y aura une tache pour s'occuper des formalités douanières. Alors que si l'achat se fait dans l'UE, la taches déclarations douanières ne sera pas activée. Le workflow se poursuit alors jusqu'à la réception complète et sans erreur de la marchandise. Si la marchandise livrée ne correspond pas a la commande cela peut alors faire l'objet d'un nouveau processus pour signaler l'erreur auprès du fournisseur jusqu'à résolution complète du problème.

      Hors business loto, c'est comme ca que je comprend a quoi ca sert.
  • # Question avec un exemple

    Posté par . Évalué à 2.

    Avec ce logiciel puis je faire, par exemple, l'implémentation d'une procédure simple type "demande de nouvelle souris" ?

    dans mon idée ce logiciel permet :
    - je fais la description de la procédure dans l'outil avec quelles sont les personnes impliquées, les informations nécessaires, etc

    - j'appuie sur le bouton et ça me génère une interface (web?) qui implémente la procédure permettant aux employés de faire leur demande à travers celle-ci. Avec l'archivage des informations de la demande, l'envoi de mails au responsable du placard à souris, etc,


    Suis je dans le vrai ?
    • [^] # Re: Question avec un exemple

      Posté par . Évalué à 3.

      Oui tu es dans le vrai.

      Les interfaces pour les utilisateurs finaux sont bien des interfaces web (genre formulaires) spécifiques à chaque procédure et l'outil contient également une sorte de webmail permettant à chaque personne de voir les tâches qu'elle a à faire dans les différentes procédures dans lesquelles elle est impliquée.

      Le point fort de ce genre d'outil et de Bonita en particulier c'est les connecteurs qui te permettent d'interfacer plein de systèmes sans avoir à développer des interfaces spécifiques.... ni à coder des formulaires car tout est généré à la volée!
      • [^] # Re: Question avec un exemple

        Posté par . Évalué à 1.

        Je ne vois pas bien l'intérêt de connecteur, puisque l'outil semble capable de gérer entièrement une procédure créée.

        Aurais tu un exemple ?
        • [^] # Re: Question avec un exemple

          Posté par . Évalué à 2.

          Imagine que tu as un logiciel un peu complexe auquel tu veux rajouter un workfow. Au lieu de te coltiner a écrire toi même le moteur de workflow, et a l'intégrer dans ton application, tu peux utiliser Bonita pour faire le workflow, et tu écris un connecteur pour Bonita qui va déclencher des actions dans ton logiciel. Le même connecteur pourra être utilisé pour créer des taches dans Bonita depuis ton logiciel.

          Tu as ceci:
          Bonita (Workflow) <------> Ton logiciel
          ou les flèches représentent des action bidirectionelles, depuis et vers le workflow.
  • # Des exemples, on veut des exemples !

    Posté par (page perso) . Évalué à 5.

    Au vu des commentaires précédents je suis conforté dans mon impression : on ne voit pas bien à quoi ça sert. Pourtant j'ai eu le sentiment en parcourant le site web que ça pourrait servir à beaucoup de choses dans mon entreprise. Ok on fait la « glue » (colle ?) entre diverses couches logicielles, mais pour faire quoi à la fin ? Est-ce pour avoir un voyant vert qui passe au rouge, est-ce pour cracher des rapports PDF automatiques chaque semaine, pour créer des interfaces web agrégeant les informations de l'entreprise ou pour créer des « workflow » (processus de validation ?) en version informatisée web ?

    Ce qu'il manque c'est des cas concrets : machin a réalisé telle chose en faisant ci et ça à partir de ça et ça, etc. Même dans la page « Discover » (http://fr.bonitasoft.com/products/discover.php) j'ai du mal à comprendre ce qu'à changé Bonita dans tous les exemples cités. Quelqu'un a des éléments à apporter pour éclairer ma lanterne ?
  • # Bonita Open Solution en deux mots

    Posté par . Évalué à 4.

    Bonjour,

    Pour faire simple, Bonita Open Solution vous permet de développer vous applications de façon plus simple, rapide et maintenable.

    Voici un exemple:

    Plutôt que "coder en dur" votre application web (i.e application de vente de CDs sur internet) vous pouvez modeliser cela sous forme d'un processus de vente graphiquement).

    Après ça, vous pouvez connecter vos processus avec vos systèmes (i.e la base de données avec les différentes commandes et CDs dans votre catalogue) ainsi que de personnaliser l'application web (ce qui permettra aux clients de faire des nouvelles commandes dans l'exemple précèdent).

    En fait, la plupart d'applications web/desktop que vous développez à la main peuvent être désignés sous forme d'un processus: gestion de commandes, achats sur internet, achats avec des fournisseurs, fabrication d'un produit, gestion d'assurances, gestion d'incidents clients, transactions bancaires... des que vous avez une application a développer avec plusieurs interactions avec des utilisateurs et de systèmes, Bonita Open Solution peut vous aider.

    Cdt,
    Miguel

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.