urbanisation-si.com

urbanisation-si.com

Experts métiers, passez-vous de développeurs, modélisez vos règles métiers avec DMN puis générez et exécutez automatiquement le code RedHat Drools et inversement

Ou comment Red Hat donna vie au langage DMN (Decision Model and Notation) en le rendant exécutable et en fit une pièce maîtresse du concept des transformations des aspects dans l'architecture d’entreprise.

 

dmn-vers-drools-et-drools-vers-dmn.PNG

 

Les règles métiers font partie de la connaissance stratégique de l’entreprise et doivent être modélisées avec la norme DMN les rendant indépendantes de leur implémentation informatique.

Les dernières innovations des outils de modélisation DMN permettent avec un simple clic de générer le code en langage Drools (DRL Drools Rules Language), le standard open source de l’industrie des moteurs de règles métiers (BRMS Business Rules Management System) et bien sûr de pouvoir l’exécuter.

 

Si vous n’êtes pas familier avec BPMN (Business Process Model and Notation)

dmn-table-decision-3.PNG

 

La plupart des experts métiers ne sont pas concernés par le code, sauf dans les domaines des règles métiers où la logique très détaillée, y compris les quantités, les dates et les formules de calcul, est essentielle.

BPMN a été étendu pour inclure la modélisation des règles métier avec la notation de modélisation de décision (DMN).

Bien que séparé de BPMN, DMN a été conçu pour fonctionner avec BPMN.

Avec la modélisation de décisions, les experts métier peuvent contrôler un processus en déterminant :

  • Que doit-on faire ensuite ?
  • Qui doit le faire ?
  • Quand et où cela est-il fait ?
  • Et surtout, des règles importantes ont-elles été enfreintes ? 

 

Cela fait déjà un certain temps que les processus métiers exécutables au sens de la norme de modélisation BPMN, peuvent l’être réellement dans un moteur BPM (Business Process Management) comme par exemple jBPM.

Les 2 open source jBPM  et Drools de l’éditeur Red Hat (qui édite aussi des versions payantes) sont aujourd'hui intimement associés et supportent entièrement les 2 normes soeurs BPMN et DMN.

 

Les concepts de base :

  1. BPMN 2 : les concepts de base des processus métiers
  2. BPMN l’exemple type pour tout comprendre sans prendre d’aspirine

 

Démonstration de la modélisation d’un processus métier avec BPMN et son exécution complète.

Ce tutorial sur jBPM est destiné aux experts métiers et garantit 100% sans code de programmation :

  1. Tutoriel jBPM : étude de cas avec human task (partie 2/10)
  2. Tutoriel jBPM : connexion à l'IDE KIE Workbench et création des unités organisationnelles (partie 5/10)
  3. Tutoriel jBPM : conception du processus en BPMN 2 (partie 6/10) 
  4. Tutoriel jBPM : vérifiez la conformité à la norme BPMN 2 (partie 7/10)
  5. Tutoriel jBPM : génération de formulaires et mapping des variables (partie 8/10)
  6. Tutoriel jBPM : construction et déploiement du processus de notre étude de cas (partie 9/10)
  7. Tutoriel jBPM : démarrage et test final de l'exécution complète de l'étude de cas (partie 10/10)

  

Si vous n’êtes pas familier avec DMN (Decision Model and Notation)

DMN permet aux utilisateurs métier de modéliser des décisions exécutables en utilisant un langage graphique de haut niveau, normalisé OMG (Object Management Group), qui favorise l'interopérabilité et préserve leur investissement en évitant d’être liés à des fournisseurs.

 

Voici une sélection d’articles que nous avions consacré à DMN :

 

Les concepts de base :

 

dmn-decision-input-data-1.PNG

 

 

dmn-knowledge-source-business-source-knowledge-requirement-authority-requirement-2.PNG

 

 

dmn-table-decision-3.PNG

  

Pour tout comprendre, voici un exemple complet montrant un processus métier modélisé avec BPMN et incluant des règles métiers modélisées avec DMN. 

Cet exemple va des modèles jusqu’à leur exécution :

  1. Tutoriel – didacticiel – exemple complet sur la norme de modélisation des règles métiers DMN ( Decision Model Notation ) : le processus métier BPMN
  2. Tutoriel – didacticiel – exemple complet sur la norme de modélisation des règles métiers DMN ( Decision Model Notation ) : La vue des exigences des décisions
  3. Tutoriel – didacticiel – exemple complet sur la norme de modélisation des règles métiers DMN ( Decision Model Notation ) : Le niveau logique de décision
  4. Tutoriel – didacticiel – exemple complet sur la norme de modélisation des règles métiers DMN ( Decision Model Notation ) : Exemple d'exécution du modèle de décisions
  5. DMN ( Decision Model Notation ) : Ne serait-ce pas un langage de plus, une contrainte de plus imposée à la MOA par la MOE ?

 

Pour aller plus loin avec DMN, nous avions même consacré un tutorial archi complet sur comment concevoir un outil de modélisation DMN :

  1. DMN ( Decision Model and Notation ) : comment concevoir son propre outil de modélisation DMN ? [1/4]
  2. Le métamodèle Eclipse Ecore DMN ( Decision Model and Notation ) : comment concevoir son propre outil de modélisation DMN ? [2/4]
  3. Tutorial Obeo Designer Community : comment concevoir son propre outil de modélisation DMN ? [3/4]
  4. Améliorations et notions avancées Eclipse Sirius, suite et fin de notre saga : comment concevoir son propre outil de modélisation DMN ? [4/4]

 

Et Drools donna vie à la norme DMN

L'équipe de Drools, le moteur BRMS open source de RedHat, standard de l’industrie, a activement suivi les spécifications DMN.

L’éditeur Red Hat estime que, conformément à son engagement de longue date envers les normes ouvertes, il est maintenant temps de soutenir la spécification DMN (V 1.1) et de fournir une implémentation conforme aux intérêts des utilisateurs.

Drools a un niveau le niveau conformité maximal (= 3) à la norme, il met en œuvre le langage FEEL (Friendly Enough Expression Language) pour par exemple les formules mathématiques, prend en charge complètement le format d'échange XML permettant de traduire les graphiques DMN en langage interprétable par une machine ainsi qu’une implémentation du métamodèle.

La mise en œuvre DMN exploite toute la plate-forme Drools (y compris, entre autres, le modèle de déploiement, l'infrastructure et l'outillage).

Les modèles DMN sont des citoyens de première classe dans la plate-forme et un atout supplémentaire pour Drools.

Drools DMN est intégré à jBPM BPMN dans la dernière version 7.

 

Partenariat entre l’éditeur Signavio et Red Hat : transformez vos diagramme DMN en code exécutable RedHat Drools

 

 

dmn-en-code-drools-1.PNG

 

Modéliser les processus et les règles métiers avec les standards BPMN et DMN en utilisant les outils Signavio, puis en déployant ces modèles dans les moteurs jBPM et Drools pour l'exécution !

 

C'est un BPM de bout en bout : de la modélisation de processus avec Signavio à l'exécution avec Red Hat !

 

Pendant près d'une décennie, la conception de processus dans BPMN (Business Process Model Notation) a été une bonne pratique pour aligner les objectifs métiers et techniques.

Avec BPMN, l'analyste métier ou l'expert peut définir avec précision les interactions des clients, des systèmes et des partenaires métiers avec les activités et les événements qui les animent.

 

Avec le gestionnaire de processus Signavio, toutes les parties prenantes peuvent collaborer sur les modèles de processus.

 

 

L’outil peut exporter le diagramme dans un format XML que d'autres systèmes peuvent interpréter.

Signavio et Red Hat ont mis à profit cette capacité pour que les processus puissent être échangés.

La logique de décision peut être exportée depuis Signavio Process Manager et intégrée dans l'atelier KIE de RedHat.

 

 

Le travail d'équipe de Signavio et Red Hat est un exemple de la séparation parfaite des préoccupations entre l'entreprise et l'informatique.

 

Parce qu'il est conçu pour être facile à utiliser et collaboratif, le gestionnaire de processus Signavio est l'environnement idéal pour développer la vision d'un processus ou d'une décision.

De même, parce qu'il peut tirer parti de la puissance et de l'évolutivité de l'ensemble de la pile middleware Red Hat, la suite BPM est l'environnement idéal pour transformer ces décisions en une forme exécutable et les héberger.

Signavio vous permet de modéliser la logique de décision avec l'éditeur Signavio facile à utiliser et d'exporter ensuite les diagrammes DMN en fichiers DRL pour les transférer dans la solution de gestion des règles métier open source Drools.

Ainsi, vous pouvez facilement transférer des diagrammes DMN dans une logique métier automatisée.

 

Vous pouvez exporter plusieurs diagrammes, un diagramme ou une seule table de décision et ses sous-décisions.

L'exportation Signavio Drools prend en charge trois types d'exportation différents: Production, Développement et Test.

Contrairement à la production, le développement ajoute des commentaires et un comportement de journalisation supplémentaires.

 

De plus, vous pouvez sélectionner la dernière révision ou la révision publiée qui sera utilisée pour l'exportation.

 

Les autorisations pour l'exportation Drools peuvent être limitées aux utilisateurs de groupes d'utilisateurs spécifiques.

 

Pour exporter la logique de décision vers Drools, ouvrez le Signavio Explorer. sélectionnez un ou plusieurs diagrammes et allez dans Import / Export - Export Drools:

 

 

DMN-exporter-en-code-drools-signavio.PNG

 

Exemple d'un modèle DMN avec son code généré :

dmn-generer-en-drools-et-inversement-drools-en dmn-000.PNG

 

Vous pouvez également exporter une table de décision et ses sous-décisions directement à partir de l'éditeur DMN Signavio.

Dans l'éditeur, ouvrez une table de décision et cliquez sur Importer / Exporter dans le coin supérieur droit de la boîte de dialogue.

Vous pouvez choisir entre générer l'exportation Drools ou les cas de test.

 

Et inversement ...

Pour être conforme à la norme MDA (Model DrivenArchitecture), les transformations doivent être bidirectionnelles.

L'outil Signavio permet à partir du code exécutable RedHat Drools conçu par les développeurs, de générer automatiquement les modèles DMN.

 

dmn-vers-drools-et-drools-vers-dmn.PNG

 

Pour être complet, voici d'autres outils

L’outil DecisionsFirst Modeler Enterprise Edition

Avec DecisionsFirst Modeler Enterprise Edition et l'intégration pour RedHat JBoss BRMS (Drools pour la version opensource), les modèles de décision basés sur la norme DMN peuvent être plus facilement intégrés aux règles métier gérées et déployées à l'aide de RedHat BRMS, améliorant ainsi la traçabilité.

DecisionsFirst Modeler est une solution de modélisation décisionnelle collaborative utilisant la norme DMN.

DecisionsFirst Modeler fournit une interface utilisateur conviviale et supporte les diagrammes DMN.

L'intégration de RedHat BRMS lie les modèles de décision graphique aux règles métier implémentées et gérées dans Drools, facilitant ainsi la définition partagée de l'implémentation par l'architecte et l’expert métier propriétaire de la règle.

 

Trisotech, la solution d’intégration de bout en bout

Drools / Red Hat - Trisotech DMN Modeler - Method & Style DT Analysis

Les règles métier sont modélisées par l'outil Trisotech DMN Modeler, puis analysées à l'aide du module Method & Style DT Analysis et exécutées dans le cloud à l'aide de BRMS de Drools / Red Hat.

Les processus métier modélisés en BPMN et les règles métiers en DMN sont nativement exécutées dans RedHat BPM !

 

 

DMN-Drools-Redhat-Trisotech-01.PNG

 

Une belle illustration de l’Ingénierie Dirigées par les Modèles

Voici un brillant exemple de l’Ingénierie Dirigées par les Modèles (IDM ou MDE Model Driven Engineering ou bien encore MDA Model Driven Architecture la norme de l'OMG Object Management Group), qui repose sur la volonté de décrire précisément les besoins des clients par des CIM (Computational Independent Models) et la connaissance métier d’une organisation dans des modèles abstraits indépendants des plates-formes (PIM - Platform Independent Models).

 

Ayant isolé le savoir-faire métier dans des PIM, on a besoin soit de transformer ces modèles en d’autres PIM (besoin d’interopérabilité, migration vers un nouveau système, fusion de SI en cas d’acquisition d’une autre organisation, …), soit de produire ou de créer des modèles PSM (Platform Specific Models) ciblant une plate-forme d’exécution spécifique (pour améliorer la portabilité et augmenter la productivité) et ceci de manière bidirectionnelle.

 

Vous l’avez compris les modèles BPMN et DMN sont des PIM et jBPM et Drools sont des PSM.

 

 

Dans l'article ci-après on posait la question : « Et pourquoi pas dériver le couple (BPMN, DMN) en modèle de code (PSM Platform Specific Model) d’un moteur de processus métier ou de règles métiers, par exemple le couple open source bien intégré (jBPM, Drools) ? »

 

 

Conclusion

 

praxeme-derivation-des-aspects-semantique-pragmatique-brms-bpm.png

 

Le jour est arrivé où les experts métier peuvent exprimer leurs processus et règles métiers sous forme de diagrammes normalisés en BPMN et DMN et directement les simuler, vérifier, exécuter et gérer leurs cycles de vie dans un référentiel.

 

Avec cette conversion de modèles métier (PIM) BPMN + DMN en code exécutable (PSM) jBPM + Drools, pour une fois une des principales préconisations des cadres d’architecture d’entreprise comme Praxeme ou TOGAF, concernant l’outillage pour les transformations des niveaux selon MDA est bien satisfaite.

 

Drools donne ainsi vie à la norme DMN, puisse d’autres outils de dérivation donner vie à l’automatisation des dérivations des autres aspects de l’architecture d’entreprise.

 

Rhona Maxwel

@rhona_helena

 

"La variété est la véritable épice de la vie, qui lui donne toute sa saveur."

William Cowper

 

 

Articles conseillés :

 

Comment concevoir une règle ? 

 

Les étapes d’un projet avec un moteur de règles

 

A quoi sert un moteur de règles ?



29/11/2017
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au site

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 769 autres membres