OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

43
OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix

Transcript of OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Page 1: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

OPTIMALJ,

CONCEPTION ET DÉVELOPPEMENT RAPIDE

MDA-PATTERNS-UMLEJB 2.0-STRUTS

Eric Risser-Maroix

Page 2: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 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

Page 3: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 4: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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 …

Page 5: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

L’approche Compuware

Page 6: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

L’approche Compuware:

L’architecture J2EE

Page 7: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 8: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

L’approche Compuware:

Model Driven Architecture

Page 9: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 10: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 11: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 12: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

OptimalJ

Page 13: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 14: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Domain Model

PlatformIndependent

Model

CodeModel

PlatformSpecificModel

MDA

Page 15: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Application Model

PlatformIndependent

Model

CodeModel

PlatformSpecificModel

MDA

TechnologyPatternsTechnology

Patterns

Page 16: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Code Model

PlatformIndependent

Model

CodeModel

PlatformSpecificModel

MDA

Genera

te

ImplementationPatternsImplementation

Patterns

Page 17: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 18: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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…

Page 19: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

En Résumé …

Page 20: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 21: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Comment intégrer vos Normes de Développement et de Conception ?

Page 22: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 23: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Exemple de Transformation Pattern

Transformation PIM PSM

Page 24: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Génération “Pattern-driven”

Implementation PSM Code Model

Page 25: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 26: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 27: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Les Acteurs de MDA

Page 28: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 29: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

OptimalJ: Le code généré

Page 30: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 31: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Intégration dans OptimalJIntégration dans OptimalJ

Page 32: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Conclusion

Page 33: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 34: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

OptimalJ Solution complète, structurée et

industrielle pour :

• Développer rapidement• Maintenir simplement• Sans connaissance pointue de java

des applications en architecture J2EE

Page 35: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 36: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Démonstration

Page 37: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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.

Page 38: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Relation inter package

promotion fournisseur

Page 39: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 40: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 41: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

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

Page 42: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

Le Modèle

Page 43: OPTIMALJ, CONCEPTION ET DÉVELOPPEMENT RAPIDE MDA-PATTERNS-UML EJB 2.0-STRUTS Eric Risser-Maroix.

People and software for business applications sm