mdoc 1 - j2ee

publicité
Introduction
MDOC : Middleware Orienté Composants
JEE : Java Enterprise Edition
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”
Gaël Thomas
[email protected]
Java = 3 branches distinctes (compilo+VM+bibliothèques)
(Basé sur un cours de Lionel Seinturier)
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
Université Pierre et Marie Curie
Master Informatique
M2 – Spécialité SAR – 2006/2007
Actuellement JEE 5
Noms avant 2005 : J2ME, J2SE, J2EE
Gaël Thomas
Master SAR - M2 MDOC - Java Enterprise Edition
Introduction
2
Introduction
JEE : Java Enterprise Edition
JEE : Java Enterprise Edition
Plates-formes existantes
Un ensemble de technologies pour construire des applications
réparties
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, …
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
Processus de certification mis en place par Sun
JSP/Servlet
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
JDBC
EJB
Présentation
3
Gaël Thomas
Serveur d’Applications
Master SAR - M2 MDOC - Java Enterprise Edition
SGBD
4
Introduction
Introduction
Architecture 3 tiers
Communication par requête/réponse
Client
programme
client
Riche : application Java (classes Java conforme au modèle EJB)
Léger : navigateur Web (clients HTTP/HTML)
requête
programme
serveur
réponse
Infrastructure de communication
Serveur d'applications
Hébergent des applications à base de
Interaction : 1 requête + 1 réponse
• Composants EJB : classes Java conformes au modèle EJB
• Composants Web : servlet ou JSP
Client : envoie une requête et attend la réponse
Serveur : attend une requête, exécute un traitement et renvoie la réponse
SGBD
Fournit un support de stockage pour les données de l'application
Extension : appel de procédure distante
• 80% : SGBD Relationnel (Oracle, SQL Server, PostGreSQL, ...)
• 20% : autres applications de stockage
Gaël Thomas
Master SAR - M2 MDOC - Java Enterprise Edition
RPC, RMI, Corba, EJB…
5
Gaël Thomas
Introduction
Communication par messages
6
Introduction
Le second tiers : serveur d'applications
autres serveurs
Boîte à lettres
programme
client
Master SAR - M2 MDOC - Java Enterprise Edition
dépose
retire
message
message
Client léger
Application JEE =
programme
serveur
0, 1 ou +sieurs composants EJB
0, 1 ou +sieurs composants Web
SGBD
Infrastructure de communication
Conteneur Web
Interaction : par envoie de message
Plusieurs rôles dans le développement
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
Client
Développeur de composants Web
riche
Développeur de composants EJB
Assembleur d'applications
Déployeur et gestionnaire d'applications
Conteneurs EJB
Serveur d’
d’applications
Exemples
SGBD
JMS, Scribe, WebSphere MQ..
Gaël Thomas
Master SAR - M2 MDOC - Java Enterprise Edition
7
Gaël Thomas
Master SAR - M2 MDOC - Java Enterprise Edition
8
Introduction
Introduction
Architecture
Classique
Serveur d'applications
Autres Services
Conteneur EJB
(par exemple JONAS)
Client léger
HTTP GET
Cycle de vie
Transaction (JTS)
Nommage (JNDI)
Sécurité
Conteneur Web
(par exemple Tomcat)
Serveur Web
(par exemple Apache)
Cycle de vie
Nommage
middleware style CORBA
ces services sont intégrés dès le
démarrage de la plate-forme
Transaction
Sécurité
WC
Connecteur
(HTTP, AJP…)
Conteneur EJB
Client lourd
WC
Conteneur Web
(par exemple Tomcat)
WC
WC
J2EE
EJB
EJB
EJB
EJB
Conteneur EJB
(par exemple JONAS)
JDBC
Cycle de vie Authentification
Bus à objets (par exemple RMI-IIOP)
4 principaux services fournis par le
serveur au conteneur EJB
JTA : transaction
SG
BD
Conteneur EJB
(par exemple JONAS)
EJB
EJB
JNDI : service de résolution de noms
Gaël Thomas
Master SAR - M2 MDOC - Java Enterprise Edition
9
Introduction
Plan du cours
Plan des TME
Composants Web
Composants Web
• Cours 1 : Servlet
• Cours 2 : JSP
• TME 1 : servlet
• TME 2 : JSP
Connexion aux SGBD
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
Gaël Thomas
• 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
Master SAR - M2 MDOC - Java Enterprise Edition
11
Gaël Thomas
Master SAR - M2 MDOC - Java Enterprise Edition
10
Téléchargement