Pour trouver les services logiques, les modèles sémantiques et pragmatiques tu dériveras. (« Praxeme 4ème commandement extrait de la bible de l’aspect logique »).
La bible de la méthodologie d’architecture d’entreprise franco française Praxeme, énonce entre autres que l’architecture logique prolonge les décisions d’urbanisation du SI et que les services et données dérivent des modèles amont c’est-à-dire des aspects sémantique (entités métiers) et pragmatique (processus métiers et cas d’utilisation).
En 2006, le buzz était sur l’architecture SOA (Service Oriented Architecture) et je me suis intéressée à Praxeme qui était une des seules méthodes SOA open source et cerise sur le gâteau en français.
Aujourd’hui, Praxeme est à l’architecture d’entreprise ce que la théorie unifiée est à la physique.
Praxeme agrège toutes les bonnes pratiques en cours, allant de la stratégie d’entreprise à la réalisation d’applications informatiques en passant par l’urbanisation du Système d’Information, la gouvernance SI, l’architecture technique, SOA, l’ingénierie dirigée par les modèles jusqu’aux bonnes pratiques de conception.
On peut dire que Praxeme n’a rien inventé, mais elle a le mérite d’avoir intégré avec succès toutes ces bonnes pratiques avec une terminologie bien à elle.
Par exemple, la dérivation des aspects sémantique et pragmatique en aspect logique s'inspire de MDA (Model Driven Architecture, norme OMG) à la transformation du niveau CIM (Computational Independent Model) en PIM (Platform Independent Model) ou bien encore dans le monde de l’urbanisation du Système d’Information, à la cartographie métier qui se projette sur la cartographie fonctionnelle.
Voici quelques articles que nous avions consacrés sur ces sujets :
1) Sur les transformations des vues de l'urbanisation du Système d'Information
- Urbanisme SI : la nécessité d'un "espéranto"
- On remet une couche sur le cadre d'urbanisation SI ?
- Urbanisation SI : comment marche le méta-modèle ?
- Libérez-vous, laissez votre stratégie prendre le leadership"
- En cas d'évènements imprévus, votre SI doit savoir jouer les "Transformers" !
- Avec un peu de métier, métamodéliser la vue métier pour assurer la traçabilité avec la stratégie
- En urbanisation SI, comment définit-on la vue fonctionnelle et quels sont les liens avec la vue métier et applicative ?
- En urbanisation SI, comment met on en oeuvre la traçabilité entre la vue applicative et les vues fonctionnelle et infrastructure ?
2) Sur l'Ingénierie Dirigée par les Modèles (MDE Model Driven Engineering)
- Model-Driven Engineering (MDE) : modèles, métamodèles, métamétamodèles, méta... ?
- Ingénierie Dirigée par les Modèles : présentation MDA ( Model Driven Architecture ), mais est ce utilisé dans la vraie vie ?
Pour pouvoir manipuler un modèle, on doit avoir son méta-modèle.
Mais où est passé le méta-modèle Praxeme ?
Sur le site officiel :
http://www.praxeme.org/telechargements/catalogue/
il est indiqué que le document PxMDS-05 traitant du méta-modèle est « en cours ».
Mais il y a un bouton « Visiter » qui nous renvoie sur la page :
http://wiki.praxeme.org/index.php?n=Modus.PraxemeMetamodel
Le lien « Le méta-modèle Praxeme » nous envoie à :
http://wiki.praxeme.org/Praxeme.MetaModel/index.html
Nous arrivons sur un diagramme de package cliquable mais malheureusement quand on clique sur un package, on arrive sur une description textuelle des entités mais point de diagramme de classe représentant le méta-modèle.
Plus grave, quand on clique sur le deuxième lien « Caisse d’allocations Familiales », un autre lien « méta-modèle Praxeme » nous répond « Error 404, page not-found ».
Notre objectif est de réaliser des prototypes, les extraits fournis dans les différents évangiles Praxeme seront donc parfaits pour nos démonstrateurs.
Voyons d’un peu plus près à quoi ressemblent les règles de dérivation.
Par exemple une classe sémantique (métier) devient une Machine Logique Métier élémentaire (attributs, opérations, associations et navigations) et une Machine Logique Métier ensembliste (services sur les collections).
Le modèle pragmatique composé de la vue de l’utilisation (use case) et la vue de l’organisation (processus métier, diagramme d’activité).
Par exemple, concernant la première, un use case devient une Machine Logique Organisation et un Service Logique Transactionnel.
Pour la dérivation des processus métier, la méthode parle d’un dispositif transverse chargé de l’ordonnancement et de l’exécution des services autrement dit un moteur de processus exécutables, BPM Business Process Management.
Pour la dérivation des règles métiers 2 solutions sont envisagées :
- La programmation de la règle en dur
- L’enregistrement dans un dispositif ad hoc autrement dit un moteur de règles, BRMS Business Rules Management System.
La méthode devrait intégrer plus clairement le couple de normes (BPMN, DMN).
BPMN (Business Process Model and Notation) pour les processus métiers (aspect pragmatique vue organisation), et la norme DMN (Decision Model and Notation) pour les règles métiers (aspect sémantique).
Et pourquoi pas SOAML (SOA Modeling Language) pour les aspects logiques et les services ?
L’OMG (Object Management Group) fourni pour toutes ces normes, les méta-modèles complets avec leurs diagrammes de classes accompagnés des description textuelles.
Ainsi en utilisant des outils de transformation de modèles, il est possible d'industrialiser les processus et les règles de dérivation des aspects Praxeme.
Les aspects stratégiques peuvent être modélisés en utilisant la norme BMM (Business Motivation Model) que l'on pourrait dériver en aspects sémantique et pragmatique.
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).
Voir la série d’articles sur jBPM :
- Exemple d'un moteur de processus exécutable : tutorial jBPM #01
- Exemple d'un moteur de processus exécutable : tutorial jBPM #02
Voir la série d’articles sur les moteurs de règles métiers :
- Drools le moteur de règles métiers open source (BRMS)
- A quoi sert un moteur de règles ?
- Les étapes d’un projet avec un moteur de règles
- Quand faut il utiliser un moteur de règles ?
- Qui fait fonctionner un moteur de règles ?
- Comment concevoir une règle ?
- BRMS Moteur de règles : mais que fait IBM ?
Comment automatiser ces transformations, (en praxemien on parle de dérivations car le terme transformation implique une modification du modèle source) ?
De nombreuses solutions existent comme XSLT (XML Stylesheet Language Transformation), ATL (Atlas Transformation Language), QVT (Query View Language), …
Voir par exemple le cours complet sur ATL et le tutoriel QVT.
1) ATL (Atlas Transformation Language)
- Ingénierie Dirigée par les Modèles (IDM) : tutoriel ATL (ATLAS Transformation Language), concevez les métamodèles avant de passer aux choses sérieuses
- Ingénierie Dirigée par les Modèles (IDM) : tutoriel ATL (ATLAS Transformation Language), le "Da Vinci code" de la transformation ATL
- Ingénierie Dirigée par les Modèles (IDM) : documentation ATL (ATLAS Transformation Language), vous saurez tout ou presque sur les modules
- Ingénierie Dirigée par les Modèles (IDM) : cours complet sur ATL (ATLAS Transformation Language)
- Cours complet sur ATL (ATLAS Transformation Language) #01
- Cours complet sur ATL (ATLAS Transformation Language) #02
- Cours complet sur ATL (ATLAS Transformation Language) #03
- Cours complet sur ATL (ATLAS Transformation Language) #04
- Cours complet sur ATL (ATLAS Transformation Language) #05
- Cours complet sur ATL (ATLAS Transformation Language) : pour terminer, une dernière chose à laquelle il faut prendre garde !
2) QVT
Mais laquelle choisir ?
C’est ce que nous verrons prochainement.
Rhona Maxwel
@rhona_helena
"Et le secret de toute la méthode est là : en toute choses repérer soigneusement ce qui est le plus absolu."
René Descartes
Articles conseillés :
Comment être efficace dans la modélisation de vos cas d'utilisation (UML use case diagram) ?
SysML pour les nuls : de la modélisation des exigences à la réalisation du système
A découvrir aussi
- Ingénierie Dirigée par les Modèles : didacticiel GMF, avec "Generate diagram code (Xtend2)" et suppression de quelques éléments ça marche !
- Cours complet sur ATL (ATLAS Transformation Language) : De la bonne utilisation des règles dans le langage ATL
- Cours complet sur ATL (ATLAS Transformation Language) : pour terminer, une dernière chose à laquelle il faut prendre garde !
Inscrivez-vous au site
Soyez prévenu par email des prochaines mises à jour
Rejoignez les 782 autres membres