Journées NEPTUNE - Keynote Modélisation chez Microsoft
-
Upload
xavier-warzee -
Category
Technology
-
view
689 -
download
1
Transcript of Journées NEPTUNE - Keynote Modélisation chez Microsoft
La modélisation chez MicrosoftUML, le bon ? XAML, la brute ? Les DSL, les truands ?
Le duel ?!
Xavier Warzee, Architecte
Email : [email protected]@microsoft.com
Blog : http://warzee.frhttp://blogs.msdn.com/xavierw
Twitter : @xwarzee
Microsoft France
Forum des Architectures Applicatives Microsoft
Groupe LinkedIn:
http://bit.ly/archiappms
Le continuum d’usage des modèles
Source : http://blogs.msdn.com/b/stuart_kent/archive/2011/04/07/is-model-driven-development-feasible.aspx
XAML, LA BRUTE ?
Approche Déclarative
Utilisation de XAML pour les ModèlesFrameworks configurables en XAML !
ApplicationModèle Framework
WPF
WFWCF
.NET est de plus en plus orienté modèle
Support de XAML
WCF
WF
WPF/Silverlight
.NET 3.0 .NET 3.5 .NET 4.0
Rich XAML support
Rich XAML support
Rich XAML support
Rich XAML support
Rich XAML support
XAML with code behind
XAML with code behind
No XAML support
LimitedXAML support
Services WCF implémentés par un worflow WF
WCF Service
WF Workflow
ClientExternalService
ExternalService
WCF endpoint
WCF endpoint
WCF/WF
XAML verbeux
« Designer graphique » pour rendre plus lisible le modèle XAML WCF/WF
UML, LE BON ?
UML : une des attentes du marché !
Comprendre et améliorer• Comment mieux comprendre un
système que je n’ai jamais vu avant ?
• Comment améliorer un système conformément aux attentes métier ?• Suis-je en train de modifier les
bons composants ?• S’agit-il toujours de
l’architecture souhaitée ?
Modéliser et avancer• Comment mieux comprendre un
besoin fonctionnel à résoudre ?• Comment valider une
architecture logique face à des patterns et des règles de conception ?
• Comment partager avec mon équipe ?
Exécuter et livrer• Comment je sais que j’avance
correctement ?• Comment savoir que le système
en cours de développement respecte les règles de conception ?
• Comment connaître le niveau de qualité des composants en développement ?
• Comment savoir quand j’ai terminé mes développements ?
Approche retenue• UML au niveau logique• DSLs au niveau physique• Support de .Net• Refactoring à l’aide de modèles visuels
• Intégration ALM
Intégration des niveaux physiques et logiques
• Visualisation des codes existants• Comprendre, manipuler et réutiliser
Découverte d’architecture
• FxCop pour la conception• Traçabilité du modèle au code• Connexion claire entre architecture et besoins fonctionnels
Validation d’architecture
Support UML dans VS 2010> Ultimate Edition
• Conforme au niveau 1 (L1) avec quelques exceptions
VSTS 2010 supporte
UML 2.1.2
• Diagramme de cas d’utilisations • Diagramme de classes• Diagramme d’activités• Diagramme de séquences• Diagramme de composants• Diagramme d’états (L2)
Diagrammes supportés
Support UML dans VS 2010> Ultimate Edition
Diagrammes UML 2 Architecture Explorer (C#, VB)
Layer Diagram (C#, VB)
Import Visio/XMI (?) Integration avec TFS
API & SDK prévus pour l’intégration
des DSLs, et d’outils et utilitaires tiers
Layer Diagram
UML Class Diagram
UML Use Case Diagram
UML Sequence Diagram
UML Component Diagram
UML Activity Diagram
Collaborations : OMG
• depuis septembre 2008Microsoft est membre actif de l’OMG
• Steve Cook, co-créateur d’UMLReprésentant
• publié officiellement par l’OMG en décembre 2008• UML plus simple et extensible, diagrammes mieux définis (plus
précis, ambigüités réduites), l’interopérabilité
Steve Cook est leader du RFI « Future of UML »
• RFP « UML Specification Simplication » : lettre d’intention -> UML 2.5
Steve co-chair UML 2.4 & 2.5
• RFP « MOF Support for Semantic Structures » adopté (non publié)Microsoft a publié
Collaborations : Eclipse Fondation avec Soyatec
• depuis septembre 2008Soyatec est membre actif de l’Eclipse Foundation
• Yves Yang, fondateur de SoyatecReprésentant
• PMF (Presentation Modeling Framework)• Meta-modèle pour les Interfaces Graphiques• Utiliser un dérivé de XAML, les frameworks EGF• La prise en compte de la plateforme .Net
Yves Yang est leader du projet PMF
• Génération d’applications Windows Phone 7 à partir d’un modèle
Exemple de cible supportée : WP7
LES DSLS, LES TRUANDS ?
PRINCIPES D’OSLO
Bus de Services
Repository
Cloud
Outils de modélisation
Runtimes
Langage de modélisation
Analyste Arch Dev IT Pro
Oslo : la démarche
Architecture d'Oslo
Development Domains
TEXTUAL DSLsVISUAL DSLs RUNTIMES
“Quadrant” Web Editor
“MWeb” ASP.NET
“Quadrant” Service Editor
“MService”WCF/WF
(“Dublin”)
“Quadrant” Entity Editor
“MEntity” EF
“Quadrant” Schema Editor
“MSchema” SQL
“Quadrant” My Configured
EditorMy DSL My Runtime
WEB
SERVICES
ENTITIES
DATABASE
CUSTOM
La language M
SIMPLIFIER LA MODÉLISATION AVEC UN DSL ?
Mon petit dsl
Un DSL pour qualifier les applications
Un DSL pour qualifier les applications
Du Mschema au référentiel
Du DSL au référentielQuadrant
DSL
Référentiel
« M » avec visual studio 2010
• Création du modèle
Schéma & données créés avec « M »
Application ASP.NET MVC générée avec « M »
Modélisation avec Quadrant
Modélisation avec Quadrant
Modélisation avec Quadrant
LIGHTSWITCH
Faciliter les développements pour tous
Faciliter les développements pour tous les développeurs
Architecture supportée
Technologies supportées
Presentation Tier
User Interface
Screen layout
Business Logic
Entity logic
Screen logic
Service Access
Entity Container
Service Tier
Service Interface
Data Service Entity
Container
Business Logic
Entity logic Query
pipeline Submit pipeline
Data Access
Data provider
Data Tier
Service Interface
(black box)
Architecture de référence en 3 niveaux
Application
ScreenScreen
Property
Query
Screen Collection Property
Query
Entity Container
Group
Entity Container
DataService
EntityContainer
EntitySet Query Operation
EntityType
Entity Property
Navigation Property
Computed Property
Le méta-modèle
Exemple
Méta-Modèle
• EntityType
Modèle• Customer • PurchaseOrder
Système• aCustomer • aPurchaseOrder
(instances)
Sous le capotPr
esen
tatio
n Ti
er
Serv
ice
Tier
Dat
a Ti
erSQ
L Se
rver
Azur
eSh
areP
oint
Oth
er …
*
Silverlight 4.0
Desktop Host
Browser Host
Methods ControlsScreens
Data Workspace
WCF RIA Services
ASP.NET 4.0
IIS 6.0/7.0
Submit Pipeline Queries
Data Workspace
WCF RIA Services
La philosophie de LightSwitch
Débutez
Décrivez vos données
Créez des écrans pour les taches courantes
RetouchezDéfinissez la logique
métier
Personnalisez les écrans
Définissez des requêtes personnalisées
Etendez
Ajoutez des composants
Créez des controles Silverlight personnalisés
Intégrez des sources de données spécifiques
L’extensibilité de LightSwitch• LightSwitch repose sur MEF• Tout est extensible– Le shell, le thème– Les contrôles graphiques– Les sources de données– Les types de données– …
Extension du Shell
Configuration de déploiement
Données
+
Ecrans
= Applications métiers
LightSwitch en bref• Un DSL décrivant :
• Des sources de données à consommer• Des écrans qui les manipulent• Du code métier personnalisé.
• Un designer Visual Studio en WPF• Un générateur de code• Un framework (runtime) d’exécution• Intégré à la plateforme .Net
• Visual Studio et TFS• Framework 4.0• IIS
CONCLUSION
Une approche globale
MERCI
Ressources• Architecture (Cloud, SOA, Enterprise Architecture, …)
– Portail : http://msdn.com/architecture– The Architecture Journal : http://www.architecturejournal.net
• Windows Communication Foundation Web – http://msdn.microsoft.com/wcf
• Windows Workflow Foundation Web– http://msdn.microsoft.com/wf
• Oslo/Data/M– Portail : http://msdn.com/data– Forum : http://social.msdn.microsoft.com/Forums/en-US/oslo/threads/– La spécification du langage « M » : http://
msdn.microsoft.com/en-us/library/dd285282.aspx– « Model-Driven SOA with “Oslo” »
• http://msdn.microsoft.com/en-us/architecture/aa699436.aspx
• LightSwitch Developer Center– http://msdn.microsoft.com/en-gb/lightswitch/
• LightSwitch Blog– http://blogs.msdn.com/b/lightswitch/
Back slides
• Images Charles Da Costa– http://
chadacosta44.blogspot.com/2010/03/sergio-leone_8328.html