Java 2 Enterprise Edition Introduction Introduction Introduction

publicité
Introduction
Java 2 Enterprise Edition
EJB
: Enterprise Java Bean
Un modèle de programmation pour des composants
- distribués (accessibles à distance)
- couplés à un système de sauvegarde de données (SGBD, ...)
Lionel Seinturier
Une spécification (Sun)
Université Pierre & Marie Curie
- Java
- servlet
- JDBC
- beans
9/9/04
1
Lionel Seinturier
philosophie WORA (Write Once, Run Everywhere)
étendre le comportement d'un serveur Web
intéragir avec des SGBD
composants prêt à l'emploi
J2EE
2
Introduction
EJB
(EJB 2.1, bientôt 3.0)
Dans la lignée de
[email protected]
J2EE
java.sun.com/ejb
Lionel Seinturier
Introduction
: Enterprise Java Bean
Architecture 3 tiers
Serveur d'applications
présentation
traitement
client
serveur d'applications
donnée
- système hébergeant des applications
- respectant les spécifications EJB
Serveurs d'applications existants
- J2EE RI (Sun) Java 2 Enterprise Edition
- commerciaux
WebSphere (IBM), WebLogic (BEA), Sun ONE, Oracle App Serv, …
>20 voir java.sun.com/j2ee/compatibility.html
- free
JBoss, JOnAS, Geronimo, OpenEJB, JFox, …
J2EE
3
SGBD
La technologie EJB réutilise un nombre important de librairies Java
• RMI-IIOP
• JNDI
• JDBC
• JTA
• JMS
•…
Lionel Seinturier
J2EE
: invocation de méthodes distantes
: accès à un service de nommage
: connexion à des bases de données
: gestion des transactions
: communications en mode message
4
Lionel Seinturier
Introduction
Introduction
Architecture 3 tiers
Communications distantes
Client
requête/réponse
• riche : application Java (éventuellement autre langage)
• léger : navigateur Web
prog.
client
requête
rés
eau
Serveur d'applications
• J2EE (Sun), WebSphere (IBM), WebLogic (BEA), JBoss, JOnAS, ...
• hébergent des applications à base de :
• composants EJB
: classes Java conformes au modèle EJB
• composants Web
: servlet ou JSP
prog.
serveur
réponse
orientées message (MOM : Message-Oriented Middleware)
prog.
client
SGBD
dépose
message
retrait
Boîte à
lettres
message
prog.
serveur
• fournit un support de stockage pour les données de l'application
- 80% : SGBDR (Oracle, SQL Server, PostGreSQL, ...)
- 20% : autres applications de stockage
J2EE
5
Lionel Seinturier
J2EE
Introduction
6
Lionel Seinturier
Introduction
Serveur d'applications EJB
Serveur d'applications EJB
Application EJB =
serveur d'applications
serveur d'applications
- 0, 1 ou +sieurs composants EJB
- 0, 1 ou +sieurs composants Web
4 services fournis par le serveur
au conteneur EJB
conteneur EJB
• cycle de vie
• transaction
• nommage
• sécurité
conteneur EJB
+sieurs rôles dans le développement
Lionel Seinturier
J2EE
8
Cycle de vie
7
Sécurité
ces services sont intégrés dès le départ
à la plate-forme
conteneur Web
J2EE
Transaction
≠ middleware style CORBA
Nommage
• développeur de composants Web
• développeur de composants EJB
• assembleur d'applications
• déployeur et gestionnaire d'applications
Lionel Seinturier
Introduction
Serveur d'applications EJB
J2EE
9
Lionel Seinturier
Téléchargement