La plate-forme J2EE : Architecture et concepts

publicité
La plate-forme J2EE :
Architecture et concepts
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
2
Objectifs du cours
¾
Définir la plate-forme J2EE et décrire ses composants
¾
Ecrire des applications Web utilisant les Servlet/JSP
¾
Accéder aux bases de donnees a partir des Servlets via JDBC
¾
Comprendre les problematique et les techniques de gestion
de session dans les Servlets
¾
Étendre les pages JSP en utilisant les Custom Tags
¾
Comprendre Le modele d’architecture MVC
¾
Comprendre les bases des EJB(Entreprises JavaBeans)
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
3
Plan du cours
¾
Introduction
¾
J2EE : Architecture et concepts
¾
Web Components : Servlet et JSP
¾
Le modèle MVC et le développement
d’applications Web
¾
Entreprise JavaBeans
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
4
Introduction
¾
Pré requis
¾
Rappels
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
5
Introduction
Pre-requis
¾
Concepts de base de la programmation orientée objet
¾
Connaissance de base du langage Java (J2SDK)
¾
Connaissance de base du langage XML
¾
Connaissance de base du langage HTML
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
6
Introduction
Rappels
¾
Architectures multi tiers
¾
Le protocole HTTP
¾
Java et le développement d’applications web
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
7
Introduction/Rappels
Architectures multi tiers
¾
Applications standalone(monolithique)
¾
Architecture en couche
¾
Architecture 2-tiers
¾
Architecture 3-tiers
¾
Architecture multi-tiers
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
8
Introduction/Rappels
Le protocole HTTP
¾
Définitions
¾
La requête HTTP
¾
La Méthode de requête HTTP
¾
Exemple de réponse HTTP
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
9
Introduction/Rappels
Java et le développement d’applications web
¾
Java coté client
ƒ
ƒ
¾
Développement d’Applet
Développement d’applications standalone
Développement d’applications web avec Servlet/JSP
ƒ
Architecture Web (3 tiers) a base de
Servlet/JSP
Navigateur Web
Serveur Web
Pages HTML/Applet
Serveur HTTP
Réseau
La plate-forme J2EE : Architecture et concepts
Moteur de
Servlet/JSP
Base de donnees
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
10
J2EE : Architecture et concepts
¾
Qu’est ce que J2EE
¾
Concepts lies a la spécification J2EE
¾
Architecture logique de la plate-forme J2EE
¾
Types et conteneurs de composants d’applications J2EE
¾
Produits J2EE
¾
Services standard de la plate-forme J2EE
¾
Rôles définis par la specification de la plate-forme J2EE
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
11
J2EE : Architecture et concepts
Qu’est ce que J2EE
Definition
J2EE est une spécification qui définit les contrats entre applications et
conteneur d’applications. Le conteneur d’applications étant l’environnement
d’exécution qui fournit les services requis par les composants des applications
qui y sont déployées
Objectifs de la plate-forme J2EE
ƒ
Haute disponibilité
ƒ
Sécurité
ƒ
Fiabilité
ƒ
Réduction des coûts et de la complexité du développement multi-tiers
ƒ
Faciliter d’administration et de maintenance des applications
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
12
J2EE : Architecture et concepts
Concepts lies a la specification J2EE
¾
J2EE Plate form
¾
J2EE Compatibility test suite
¾
J2EE Reference implementation
¾
J2EE BluPrints
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
13
J2EE : Architecture et concepts/
Architecture logique
Applet
container
Web container
HTTP/
SSL
EJB container
RMI
Servlet
JSP
Applet
EJB
Services standards
JMail
JTA
JDBC
JAAS
JMX
JAXR
JCA
JAF
JAX-RPC
JDBC
J2SE
JMS
JMail
JTA
JMX
Services standards
JAF
Application
Client
JMS
JCA
JAAS
HTTP/
SSL
JAXR
Application
client container
JAX-RPC
J2SE
Services standards
J2SE
RMI
JAX-RPC,JAXR,
JMS, JMX, Mgmt
J2SE
Base de données
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
14
J2EE : Architecture et concepts
Conteneurs et composants d’applications J2EE
(containers and J2EE Applications components)
Composants d’applications J2EE
(J2EE applications components)
ƒ
Application clients
ƒ
Applets
ƒ
Web components
ƒ
Enterprise JavaBeans(EJB)
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
15
J2EE : Architecture et concepts
Conteneurs et composants d’applications J2EE
(containers and J2EE Applications components)
Definition
Un Container est un composant qui fournit l’environnement d’exécution
aux ‘J2EE applications components’ qui y sont déployés
Qu’est ce qu’un Container doit offrir
ƒ
Environement d’execution conforme a la specification J2SE
ƒ
Pouvoir analyser et interpréter le fichier de description de
déploiement (ce fichier défini par sa DTD)
ƒ
Les APIs nécessaires aux applications components pour accéder
aux services standard de la plate-forme J2EE
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
16
J2EE : Architecture et concepts
Produit J2EE
Qu’est ce qu’un produit doit fournir
ƒ
Une implémentation des containers
ƒ
Des outils pour le déploiement d’applications components
ƒ
D outils de management des applications déployées
ƒ
Support des services standard de la plate-forme J2EE
Quelle est la différence entre Produit J2EE,
Serveur J2EE et Serveur d’application
Exemples de produits J2EE
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
17
J2EE : Architecture et concepts
Services standard de la plate-forme J2EE
HTTP/HTTPs
JTA : Java Transaction API
RMI-IIOP
Java IDL
JDBC API
JMS : Java Message Service
JNDI :Java Naming Directory Interface
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
18
J2EE : Architecture et concepts
Services standard de la plate-forme J2EE
JavaMail
JAF : JavaBeans Activation Framework
JAXP : Java API for XML Parsing
JCA : J2EE Connector Architecture
JAAS : Java Authentication and Autorisation Service
Web Services
Management
Deployment
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
19
J2EE : Architecture et concepts
Rôles définis par la plate-forme J2EE
J2EE Product Provider
Application Component Provider
Application Assembler
Deployer
System Administrator
Tool Provider
System Component Provider
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
20
Introduction a technologie Servlet
¾ Definitions
¾ Architecture d’applications web a base de Servlet
¾ Advantages des Servlets par rapport aux CGI
¾ Servlet : Comment ça fonctionne
¾ Exemple introductif
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
21
Introduction a technologie Servlet
Definitions
Definitions
Une Servlet est un programme Java s’executant au niveau dans un
conteneur Web(Web container) qui genere du contenu dynamique.
Les Servlets sont des objets bases sur l’API Java Servlet et permettant
d’etendre les fonctionnalites d’un serveur HTTP.
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
22
Introduction a technologie Servlet
Architecture d’applications web a base de Servlet
Request
Navigateur Web
HTML/JavaScript
Serveur HTTP
HTTP
HTTP
Réseau
Servlet
Container
Response
Servlet
Contenu
Statique
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
23
Introduction a technologie Servlet
Advantages des Servlets vs CGI
Performance
Portabilité
Robustesse
Rapidité de développement
Technologie largement utilisée
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
24
Introduction a technologie Servlet/
Comment ça fonctionne
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
25
Introduction a technologie Servlet
Exemple introductif
La plate-forme J2EE : Architecture et concepts
K.LAAROUSSI
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
__
Téléchargement