La plate-forme J2EE :
Architecture et concepts
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
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)
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
¾ Introduction
¾ J2EE : Architecture et concepts ¾ Web Components : Servlet et JSP ¾ Le modèle MVC et le développement
d’applications Web ¾ Entreprise JavaBeans
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Plan du cours ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
Introduction
¾ Pré requis ¾ Rappels
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
¾ 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
Introduction Pre-requis
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
¾ Architectures multi tiers ¾ Le protocole HTTP
¾ Java et le développement d’applications web
Introduction Rappels
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
¾ Applications standalone(monolithique) ¾ Architecture en couche ¾ Architecture 2-tiers ¾ Architecture 3-tiers ¾ Architecture multi-tiers Introduction/Rappels Architectures multi tiers
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
Introduction/Rappels Le protocole HTTP
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
¾ Définitions ¾ La requête HTTP ¾ La Méthode de requête HTTP ¾ Exemple de réponse HTTP ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
Introduction/Rappels Java et le développement d’applications web
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
¾ Java coté client
Développement d’Applet
Développement d’applications standalone ¾ Développement d’applications web avec Servlet/JSP
Pages HTML/Applet Navigateur Web Réseau Serveur Web Moteur de Servlet/JSP Serveur HTTP Base de donnees
Architecture Web (3 tiers) a base de Servlet/JSP ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
J2EE : Architecture et concepts
K.LAAROUSSI La plate-forme 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
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
J2EE : Architecture et concepts
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
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
Qu’est ce que J2EE
Definition
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
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
J2EE : Architecture et concepts
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Concepts lies a la specification J2EE
¾ J2EE Plate form
¾ J2EE Compatibility test suite ¾ J2EE Reference implementation ¾ J2EE BluPrints ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
J2EE : Architecture et concepts/ Architecture logique
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Web container Applet container J2SE EJB container J2SE Application client container J2SE J2SE Services standards JA X-R PC JA X R JM S JA F JM ai l JC A J AAS JT A JM X JD B C Services standards JA X-R PC JA X R JM S JA F JM ai l JC A J AAS JT A JM X JD B C JSP Servlet Base de données Applet Application Client EJB HTTP/ SSL Services standards JAX-RPC,JAXR, JMS, JMX, Mgmt RMI RMI HTTP/ SSL ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
J2EE : Architecture et concepts
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Composants d’applications J2EE
(J2EE applications components)
Application clients Applets Web components Enterprise JavaBeans(EJB)
Conteneurs et composants d’applications J2EE (containers and J2EE Applications components)
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Un Container est un composant qui fournit l’environnement d’exécution aux ‘J2EE applications components’ qui y sont déployés
Conteneurs et composants d’applications J2EE (containers and J2EE Applications components)
Definition
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
J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme 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
J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme 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
J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme 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
J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme 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
J2EE : Architecture et concepts
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
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 ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Une Servlet est un programme Java s’executant au niveau dans un conteneur Web(Web container) qui genere du contenu dynamique.
Definitions
Les Servlets sont des objets bases sur l’API Java Servlet et permettant d’etendre les fonctionnalites d’un serveur HTTP.
Introduction a technologie Servlet Definitions ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Architecture d’applications web a base de Servlet
HTML/JavaScript Navigateur Web Réseau Servlet Container Servlet Request Response Serveur HTTP Contenu Statique HTTP HTTP
Introduction a technologie Servlet
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Advantages des Servlets vs CGI Introduction a technologie Servlet
Performance Portabilité Robustesse
Rapidité de développement Technologie largement utilisée
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Introduction a technologie Servlet/ Comment ça fonctionne
______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __
K.LAAROUSSI La plate-forme J2EE : Architecture et concepts
Introduction a technologie Servlet
Exemple introductif ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ __