Model Driven Architecture

publicité
Model Driven Architecture
L'approche par les Modèles
« Un pont entre les îlots de savoir »
Plan

Qu’est-ce Qu’un modèle ?
Pourquoi UML ?
Genèse des modèles ?
MDA : Motivations
Typologie des modèles de référence
Principes
Un cas concret
15' : Démonstration Objecteering MDAC Swing
20' : ECHANGES :

Annexe : Différentes sources d’information








Qu’est-ce qu’un modèle ?
Ingénierie Dirigée par les
Modèles pour les SoCs

Un abstraction ou une
simplification de la réalité,
pour bien/mieux comprendre le
système à développer.

Un modèle ne représente pas
toute la réalité, mais au plus
/mieux l’aspect économique
que l’on souhaite exploiter.

Une vue, un diagramme, un plan ne sont pas des modèles mais des représentations du
modèle. Il s’agit d’une projection d’un hyper espace (le modèle) afin de simplifier ce
que l’on veut présenter.
Anne Etien
Maître de Conférences
INRIA – Projet DaRT
[email protected]
Présentation : Pourquoi UML







Langage formel
Langage de langage
Enrichissable
Simple, Structuré
Complet
Graphique
Unified Modeling
Language
Xavier Blanc
[email protected]
UML n’est pas une méthode, mais la boite à outil des
méthodes Objet (UP, PRAXEME)
Introduction : la genèse des modèles
Glossaire
Dérivations
Praxeme
Dictionnaire
Métriques
Projet
Modèle
Modèle
Modèle
Spécs
*
*
Suivi
Modèle
Test
Documentations
Contrôles
EJB
Test
Doc
Code
Code
Code
Code
Qu’est ce
qu’un modèle ?
Le code est
le modèle
Le code et
le modèle
coexistent
le modèle
est le code
2
3
4
1
Code
Corba
Laissez nous
concevoir
5
MDA : Comment Modéliser
Pilotage
Architecture

Avec de la matière première









Production
Pilotage en réseau
Rationalisation des moyens
Structures de production
Indicateurs de Performance
Du Formalisme et des Règles
Des ateliers de
transformations
Objets
Métiers
XML
XSD
UML
XMI
Patrimoine
U.O
Processus
procédure
SOA
BPM
BPEL
Générations
Dérivations
Des objectifs





Des compétences
De la technologie
De la motivation
Une organisation


Étude
Ambitieux
Fédérateurs
Réalisables
Normés dans le temps
Et de la méthode …
Outils
Normalisation
Best practices
projets
Indicateurs
Métriques
Livrables
Composants
Oracle
SQL
C++
Java
.Net
Des hommes une équipe
Focus : Les indicateurs de performances
On a atteint la cible avec succès, mais on
aurait pu l’atteindre plus vite, à l’aide
d’information de pilotage au fil de l’eau

Définition

Objectif

Limite

Liste des mesures

Liste des KPI
Sur l’activité globale,
je suis bon
Je le sais
et je le prouve …
Marginalement, sur l’activité OMEGA,
je peux faire mieux.
D’ailleurs, j’ai identifié des leviers
d’amélioration…
MDA : Motivations

Faire évoluer les systèmes de façon flexible

Réutiliser les travaux d’architecture, de codage, …les bonnes pratiques, les standards

Les modèles sont plus pérennes que le code

Les modèles permettent l’échange à tous les niveaux ce que le seul code ne permet pas

Le travail en équipe est plus efficace que le travail d’un ensemble d’acteurs isolés

Minimiser l’effort de conception aval en modélisant en amont l’ensemble des
exigences de solutions métiers.

Assurer la traçabilité des exigences métiers

Assurer l’intégrité et la cohérence entre les phases projet
Présentation : Typologie de Modèle
Plusieurs acteurs  plusieurs points de vues  plusieurs modèles

CIM (Computational Independent Model)




PIM (Plaform Independent Model)





Indépendant de tout système informatique
C’est le modèle métier ou le modèle
Pérenne dans le temps
Indépendant de de la plate-forme technique.
Modèle informatique qui représente une vue partielle d’un CIM
Représente la logique fonctionnelle du métier
Il décrit le système, à l’aide des classes et de OCL
PSM (Platform Specific Model)




Dépendant de la plate-forme technique
Sert de base à la génération de code
Est un module de transformation ou de dérivation
Se nomme MDAC en Objecteering
MDA : les principes
• Comment passer d’un PIM à un PSM
• La transformation de modèle
• Formaliser les règles de transformation
• Formaliser le contenu des modèles  Méta Modèle
• Définir des annotations pour capter les spécificités d’une technologie :
les tagged values, les stéréotypes
• Réunir les annotations compatibles entre elles  les profils UML de
l’OMG
• Persistence, J2EE, …
• Ajouter les règles de transformation  spécifique aux outils : les
MDAC d’Objecteering
MDE : Model Driven Engeniering
• Industrialisation de la transformation de modèle
• Avantages
• Changer de profiles pour changer de techno
• Garder l’indépendance métier/techno
MDE : Model Driven Engeniering
• Le processus en Y
• Le processus en arrête de poisson
• L’application à PRAXEME
Analyse
Modèles
Sémantique + pragmatique
Modèles
Organisationnel + logique
Mapping objet relationnel +MPD
Framework + EJB
Solveur de contraintes
implémentation
Scoping
Praxeme
Pourquoi ça pourrait marcher mieux ?
• Réversibilité d’un PSM vers un PIM
• Comment faire évoluer un système par ajout et
modification des PIMs sans être pollué par les
contingences métiers
• La ré-application « intelligente » des transformations
pour ne pas écraser ce qui a été ajouté après la
transformation.
Model Driven Architecture
Un cas concret
Le projet Règlements
Scoping
Modèle sémantique : exemple
Scopin
g
Exemple : Module documentaire
Le profil sémantique (scope manager)
Scopi
ng
Modèle pragmatique(1) : exemple
Scoping
Modèle pragmatique(2) : exemple
Scoping
Modèle Logique (1) : exemple
Composants et interfaces
Composants et services
Scoping
Modèle Logique (2) : exemple
Règles de gestions
Traceabilité
Règles - Services
Scoping
Modèle Logique (3) : exemple
Traceabilité Sémantique - Logique
Automate d’états
Scoping
Génération Documentaire Logique
Scoping
Modèle Technique (1) : exemple
Framework JAMOS




La méthodologie est basée sur AMOS (PRAXEME)
L’architecture J2EE a été définie par l’équipe technique
Les choix techniques sont implémentés dans le framework
Le framework SMABTP permet de choisir le type de déploiement au moment du
déploiement :


Full POJO (Plain Old Java Object ie objet java simple)
En EJB, pour les MLOs et Ateliers

Le développeur ne choisit plus la méthodologie, l’architecture ou les technologies
à mettre en oeuvre (comme dans un projet classique)

Le développeur code uniquement en mode POJO (gain de temps par rapport aux
EJBs)
Le développeur se concentre uniquement sur le fonctionnel

Architecture
Présentation
Technique
Log
Habilitation
Framework MVC (Ecensity Presentation Server)
MLO Factory
Gestion du contexte IHM
Factory
Atelier Factory
MLM Factory
Organisation
Gestion transactionnelle
POJO
EJB
Machine Logique Organisationnelle (MLO)
Métier
Data Architecture Object
(DAO)
Hibernate
JRules
EAI (via MQ)
Configuration
EPS
Atelier
Machine Logique Métier (MLM)
Domaines
externes
SGBD
Editique
Broker
d’intégration
Scoping
Transformation Logique – Logiciel (1)
Lien avec le framework JAMOS
Scoping
Transformation Logique – Logiciel (2)
Implémentation des design patterns
Scoping
Transformation Sémantique – Logique (1)
Modèle Logique de données
SQL
Scoping
Génération Logique – Logiciel (2)
Mapping O/R - Hibernate
Scoping
Génération Logique – Logiciel (1)
Fichier
de
configuration
Scoping
Génération Logique – Logiciel (2)
Génération pour JRules
Paramétrage des règles métier
Scoping
Génération Logique – Logiciel (3)
Génération
Java/J2EE
Code Java
MDA : Différentes sources d’information
Ingénierie Dirigée par les
Modèles pour les SoCs
Anne Etien
Maître de Conférences
INRIA – Projet DaRT
[email protected]
Sodifrance
MDA : Mise en
œuvre
industrielle
Génie logiciel et
l’approche par
les modèles
Téléchargement