Java Enterprise Edition
Gaël Thomas
(Basé sur un cours de Lionel Seinturier)
Université Pierre et Marie Curie
Master Informatique
M2 – Spécialité SAR – 2006/2007
MDOC : Middleware Orienté Composants
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 2
Introduction
JEE : Java Enterprise Edition
Plate-forme pour le développement d’applications réparties
Définie par Sun, basée sur Java
Applications types
Serveurs Internet de commerce électronique
Systèmes d’information
Applications de type “informatique de gestion”
Java = 3 branches distinctes (compilo+VM+bibliothèques)
Java ME (Micro) : VM et librairies pour les syst. embarqués (PDA, tél., ...)
Java SE (Standard) : "le" JDK (compilateur + VM + librairies de base)
Java EE (Enterprise) : serveur pour les applications d'entreprise
Actuellement JEE 5
Noms avant 2005 : J2ME, J2SE, J2EE
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 3
Introduction
JEE : Java Enterprise Edition
Plates-formes existantes
Implémentation de référence : Java EE 5 SDK (Sun)
Commerciales
2 principales : WebSphere (IBM), WebLogic (BEA)
Mais aussi : Sun Java System Application Server, Oracle Application Server, …
20 voir java.sun.com/javaee/overview/compatibility.html
Open source
JBoss, JOnAS, Geronimo, OpenEJB, JFox, …
Processus de certification mis en place par Sun
TCK (Test Compatibility Kit)
Payant sauf pour plates-formes open-source
Assez lourd à mettre en œuvre (~20 000 tests)
Encore peu de plates-formes certifiées JEE 5 (la grande majorité certifiée
J2EE 1.4)
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 4
Introduction
JEE : Java Enterprise Edition
Un ensemble de technologies pour construire des applications
réparties
JSP/Servlet (i.e. Web Component) : pages web dynamiques
Composants EJB (i.e. Enterprise Java Bean) : composants JEE
JDBC : API d’accès à des SGBD
Et de nombreuses autres : JNDI, JTA, JCA, JMX, JAX, …
Selon le principe des architectures 3 tiers
SGBDServeur d’ApplicationsPrésentation
JDBC
JSP/Servlet
EJB
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 5
Introduction
Architecture 3 tiers
Client
Riche : application Java (classes Java conforme au modèle EJB)
Léger : navigateur Web (clients HTTP/HTML)
Serveur d'applications
Hébergent des applications à base de
Composants EJB : classes Java conformes au modèle EJB
Composants Web : servlet ou JSP
SGBD
Fournit un support de stockage pour les données de l'application
80% : SGBD Relationnel (Oracle, SQL Server, PostGreSQL, ...)
20% : autres applications de stockage
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 6
Introduction
Communication par requête/réponse
programme
serveur
programme
client
requête
réponse
Infrastructure de communication
Interaction : 1 requête + 1 réponse
Client : envoie une requête et attend la réponse
Serveur : attend une requête, exécute un traitement et renvoie la réponse
Extension : appel de procédure distante
RPC, RMI, Corba, EJB
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 7
Introduction
Communication par messages
programme
serveur
programme
client
Infrastructure de communication
Interaction : par envoie de message
Client : envoie un message
Asynchrone : n’attend pas la réception du message
Synchrone : attend la réception et le traitement du message
Serveur : attend des messages et exécute un traitement
Exemples
JMS, Scribe, WebSphere MQ..
dépose
message
retire
message
Boîte à lettres
autres serveurs
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 8
Introduction
Le second tiers : serveur d'applications
Application JEE =
0, 1 ou +sieurs composants EJB
0, 1 ou +sieurs composants Web
Plusieurs rôles dans le développement
Développeur de composants Web
Développeur de composants EJB
Assembleur d'applications
Déployeur et gestionnaire d'applications
Serveur d
Serveur d
applications
applications
Conteneur Web
Conteneur Web
Conteneurs EJB
Conteneurs EJB
Client léger
SGBD
Client
riche
SGBD
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 9
Introduction
Serveur d'applications
4 principaux services fournis par le
serveur au conteneur EJB
Cycle de vie
Transaction (JTS)
Nommage (JNDI)
Sécurité
middleware style CORBA
ces services sont intégrés dès le
démarrage de la plate-forme
Conteneur EJB
Conteneur EJB
Cycle de vie
Nommage
Transaction
Sécurité
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 10
Introduction
Architecture
Classique
Serveur Web
(par exemple Apache)
Conteneur Web
(par exemple Tomcat)
WC
JNDI : service de résolution de noms
Conteneur EJB
(par exemple JONAS)
EJB EJB
Conteneur EJB
(par exemple JONAS)
EJB
Conteneur EJB
(par exemple JONAS)
EJB EJB
Bus à objets (par exemple RMI-IIOP)
JDBC
EJB SG
BD
WC
Conteneur Web
(par exemple Tomcat)
WC WC
Connecteur
(HTTP, AJP…)
HTTP GET
JTA : transaction
J2EE
J2EE
Cycle de vie Authentification
Autres Services
Client lourd
Client léger
Gaël Thomas Master SAR - M2 MDOC - Java Enterprise Edition 11
Introduction
Plan du cours
Composants Web
Cours 1 : Servlet
Cours 2 : JSP
Connexion aux SGBD
Cours 3 : jdbc
Composants EJB
Cours 4 et 5 : Enterprise Java
Bean
Cours 4 : Session bean
Cours 5 : Entity Bean
Web Services
Cours 6 et 7 : Web Services
Plan des TME
Composants Web
TME 1 : servlet
TME 2 : JSP
Connexion aux SGBD
TME 3 : JDBC dans une servlet
Composants EJB
TME 4 : Session Bean
TME 5 : Entity Bean
Web Services
TME 6 : Web Service à base
de servlet
TME 7 : Web Service à base
d’EJB
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !