Upload
jacques-beauvais
View
105
Download
0
Embed Size (px)
Citation preview
OPTIMALJ,
CONCEPTION ET DÉVELOPPEMENT RAPIDE
MDA-PATTERNS-UMLEJB 2.0-STRUTS
Eric Risser-Maroix
Agenda
Compuware – Qui sommes nous?– Notre offre
L’approche Compuware– Architecture J2EE– Model Driven Architecture
OptimalJ– Les concepts d’OptimalJ– Normes de Développement et de Conception
Acteur Global
COMPUWARE12 000 Employés
1,7 milliard de dollars
Présence globale
47 Pays110 bureaux
Services
9,500 personnes
Logiciels
8 gammes de produits
130 produits3 laboratoires de développement
APPLICATIONS OPERATIONS
Development& Integration
Automated Software Quality
Production Readiness Performance & Availability Management DESKTOP NETWORK SERVER
TRANSACTIONPROFILING
PERFORMANCETESTING
WANPROVISIONING
ACCELERATING DEVELOPMENT & INTEGRATION
FUNCTIONAL& REGRESSION
TESTING
DEBUGGING & TUNING
PROJECT, DATA AND WORKFLOW MANAGEMENT
Optimal QACenter
DevPartnerDevPartnerDB
Enterprise Editions
Application Expert
QACenter Predictor
VISUALIZATION& REPORTINGBASELINE DATA
END-USERMONITORING & DIAGNOSTICS
SERVER,APPLICATION& DATABASEMONITORING
PERFORMANCE TROUBLESHOOTING
NETWORKAPPLICATIONMONITORING
Application Vantage & STROBE
ClientVantage NetworkVantage ServerVantage
VantageView
Cycle de vie de l’application …
L’approche Compuware
L’approche Compuware:
L’architecture J2EE
J2EE est la plate-forme middleware technologiquement riche, mise à profit par 50% des futures applications d’entreprise java. (Gartner)
JSP
EJB J2EE
CORBA
JDBC
Servlet
Struts
UDDI
HTML
Comment Faire ?
Java
XML
CSS
XSLT
WAP
WSDL
L’architecture J2EE
L’approche Compuware:
Model Driven Architecture
Object Management Group : Support de l’industrie
OMG : 800 membres / 40 organisations
Son but:Résoudre les problèmes d’intégration de systèmes
Augmenter la productivité
Comment :Produire des spécifications, des standards.
Exemples :CORBAUMLMDA
IBM
SUN
Compuware
Borland
Together
InteractiveObjects
Codagen Technologies
La vision MDA
Finance
E-Commerce
Santé
Plus …...
Transport
Espace
Fabrication
Télécommunication
Une nouvelle manière de spécifier et de construire des systèmes
– Basée sur la modélisation UML
– Modéliser au lieu de programmer
PIM – Le Modèle Indépendant de la Plate-forme
(PIM) représente les fonctionnalité du business et sa conduite sans rentrer dans les détails techniques.
PSM– Applique une correspondance standard pour
créer ou générer un Modèle Spécifique à la Plate forme (PSM). Ceci à partir du PIM.
Code Model– Créer ou générer le code pour le PSM
PlatformIndependent
Model
CodeModel
PlatformSpecificModel
Les spécifications en MDA
Intégration
OptimalJ
OptimalJ implémente MDA
TechnologyPatternsTechnology
Patterns
Domain Model Domain PatternsDomain
Patterns
Application Models ApplicationPatternsApplication
Patterns
Code ModelCode PatternsCode
Patterns
TransformationPatterns
FunctionalPatterns
Op
timalJ
(ré)G
énéra
tion
Platform
Independent
Model
Code
Model
Platform
Specific
Model
Mo
del
Dri
ven
Arc
hit
ectu
re 2/3 ;3/3;EJB1ou 2
ImplementationPatternsImplementation
Patterns
Paramétrage d’implémentation :Local / Remote interface, CMR / BMR, State-full / State-Less, Transaction, TagLib, Struts, HTML / WML…
Développement de vos Patterns
Définition, Import
Domain Model
PlatformIndependent
Model
CodeModel
PlatformSpecificModel
MDA
Application Model
PlatformIndependent
Model
CodeModel
PlatformSpecificModel
MDA
TechnologyPatternsTechnology
Patterns
Code Model
PlatformIndependent
Model
CodeModel
PlatformSpecificModel
MDA
Genera
te
ImplementationPatternsImplementation
Patterns
Test Production
TomcatJOnASJBossSolid
IBM WebSphere, BEA WebLogic,Sun ONE, Oracle 9iAS, JBoss
JSP EJB SQL
.WAR .JAR .DAR
.EAR
DeploymentDescriptors
DeploymentDescriptors
Déploiement
1) Test2) Production
OptimalJ•Modélisation UML
•Génération d’application Java en architecture J2EE
Weblogic
Déploiement
Intégration
Modélisation
Génération (Patterns)
WebLogic
Génération d ’EJB …
Génération de JSP…
Génération de SQL…
Génération d’EAR…
En Résumé …
Optimal J : la démarche
Modélisation
(PIM)
Découpage
J2EE
(PSM)
Génération Java
(Codage)
Génération IHM
• NetBeans• Jbuilder• WSAD
•Web Services
•Java Legacy
•CICS / IMS
•CORBATest Production
TomcatJOnASJBossSolid
IBM WebSphere, BEA WebLogic,Sun ONE, Oracle 9iAS, JBoss
JSP EJB SQL
.WAR .JAR .DAR
.EAR
DeploymentDescriptors
DeploymentDescriptors
Déploiement
Comment intégrer vos Normes de Développement et de Conception ?
Génération “Pattern-driven”
Accès au référentiel “Meta Object Facility” Transformation PIM PSM
Implementation PSM Code Model
Langage de patterns– Langage simple compilé en code Java
PlatformIndependent
Model
CodeModel
PlatformSpecificModel
MDA
PATTERN IMPORT FILE TEMPLATETYPE TEMPLATE GUARD FREE IF DO LET FOR FILE JOINPOINT
Exemple de Transformation Pattern
Transformation PIM PSM
Génération “Pattern-driven”
Implementation PSM Code Model
Pattern Join Points
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Join Point
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Génération du code
yyyyy
yyyyy
yyyyy
yyyyy
Les avantages d’OptimalJ
Complex business process
Complex technology platform (J2EE)
Bu
sin
ess
– IT
gap
Patterns
Réduction de la complexité technologique
Models Réduction de la complexité dubusiness
Modélisation
Développement
Test
Déploiement
Focus métier
Les Acteurs de MDA
Architecte
DesignerDeveloper
Les Rôles et Activités
Generated Application
•Modélisation du Business
•Exigence du Management
•Analyses et Design
•Définition des règles de gestion
•Génération de l’Application
•Pré test de l’application
•Recherche technologique
•Définition d’ architecture
•Définition des ’best practices’ via les patterns
•Développer les standards & guides
•Transfert de connaissances
•Personnalisation de l’appli générée
•Intégration d’Application
•Test et debug
•Maintenance de l’application
•Déploiement
Best Practices & Standards
Best Practices & Standards
Fonctionnels
Développeurs
Architectes
OptimalJ: Le code généré
Vérification des normes de codageVérification des normes de codage
Monitoring du Garbage CollectorMonitoring du Garbage Collector
Performance Analysis CPU
Affichage Graphe d’appelAffichage Graphe d’appel
Couverture de CodeCouverture de Code
OptimalJ : le code généré !
DevPartner For JavaDevPartner For Java
Intégration dans OptimalJIntégration dans OptimalJ
Conclusion
La technologie évoluesurtout dans le monde J2EE
JDBC
2.0
EJB
1.1
Servlet
2.2
JSP
1.0
JMS
1.1
EJB
2.0
JCA
1.0
Servlet
2.3
JSP
2.0
JNDI
1.2.1
JTS
1.0
JSP
3.x
Servlet
2.4
Application
Framework
JSF
1.0
Framework ???
Application ???
JDK1.4
JDK 1.3
OptimalJ Solution complète, structurée et
industrielle pour :
• Développer rapidement• Maintenir simplement• Sans connaissance pointue de java
des applications en architecture J2EE
Portail Développeur OptimalJ http://javacentral.compuware.com
• OptimalJ Community Home– News
– White papers
– Documentation
– FAQ
– Forums
– Support Center
– Java links
• More than 1000 users
Démonstration
Démonstration
Le sujet : Créer une application web en architecture 3 tiers J2EE.Un contact d’une société de voyage propose des promotions pour des séjours dans des pays.
Relation inter package
promotion fournisseur
Les FournisseursSociete
(from fournisseur)
rss : Stringadresse : Adresseid : StringemailRacine : String
Contact(from fournisseur)
nomResponsable : StringprenomResponsable : StringemailResponsable : Stringid : String
validerMail()
1..1
0..*
1..1
0..*
On rajoutera par la suite une classe Agence liée à Société
package Fournisseur
Les Promotions
Agenda(from promotion)
id : StringdateDebut : DatedateFin : DatenbPlace : inttarif : BigDecimal
TypeSejour(from promotion)
id : StringliblTypeSejour : String
Pays(from promotion)
id : StringliblPays : String
Transport(from promotion)
id : Stringcompagnie : StringtypeTransport : CategorieTransport
Sejour(from promotion)
id : StringliblSejour : Stringcategorie : CategorieSejour
1 0..*1 0..*
0..*0..1
0..*0..1 0..1
0..*0..1
0..*
0..*0..* 0..*0..*
package Promotion
CategorieTransport(from promotion)
Avion : StringTrain : StringCarClim : StringCar : StringLocVoiture : StringPaquebot : String
<<EnumerationType>>CategorieSejour
(from promotion)
Etoile1 : String = *Etoile2 : String = **Etoile3 : String = ***Etoile4 : String = ****
<<EnumerationType>>Adresse
(from fournisseur)
rue : StringcodePostal : Stringville : String
<<ValueType>>
Les autres possibilités de modélisation
Le Modèle
People and software for business applications sm