SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
JEE : Introduction à l’environnement JEE
Mahran Farhat
farhatmahran@yahoo.fr
Mahran Farhat farhatmahran@yahoo.fr
information
Je tiens à vous informer que le support de cous (les slides du
cours) est inspiré du cours de monsieur Khalid Housni. Le support
du cours (cours, TP et projets) est partagé sur google drive.
http ://shorturl.at/cehtP
Mahran Farhat farhatmahran@yahoo.fr
Plan
Cours JEE - Khalid HOUSNI 2
Introduction au Java EE
• Qu'est-ce que Java EE ?
• Java EE n'est pas Java
• Le terme « Java » fait bien évidemment référence à un langage,
mais également à une plate-forme : son nom complet est « Java
SE » pour Java Standard Edition. Celle-ci est constituée de
nombreuses bibliothèques, ou API : citons par exemple
java.lang, java.io, java.math, java.util, etc.
• Le terme « Java EE » signifie Java Enterprise Edition,. Il fait
quant à lui référence à une extension de la plate-forme
standard. L'objectif majeur de Java EE est de faciliter le
développement d'applications web robustes et distribuées,
déployées et exécutées sur un serveur d'applications.
Cours JEE - Khalid HOUSNI 3
L’architecture JEE
 Le nom de la 5ème version de la plate-forme Java pour Entreprise a été
simplifiée : au lieu de se nommer J2EE (Java 2 Enterprise Edition) version
1.5, la plate-forme a été renommée Java EE 5 (Java Enterprise Edition).
 L'accent est mis dans cette version sur la simplification des développements
tout en conservant et en faisant évoluer les fonctionnalités proposées par la
plate-forme J2EE.
Java EE 5 intègre aussi de nouvelles API :
 JSF ;
 JPA ;
 EJB 3.0 ;
 Le support des dernières versions des API concernant les services web permettant
une mise en œuvre d'une architecture de type SOA.
Cours JEE - Khalid HOUSNI 4
Introduction au Java EE
• Comment ça marche?
• les données sont échangées entre le client et le serveur via le protocole HTTP ;
• le client ne comprend que les langages de présentation de l'information, en
d'autres termes les technologies HTML, CSS et Javascript ;
• les pages sont générées sur le serveur de manière dynamique, à partir du code
source du site.
Cours JEE - Khalid HOUSNI 5
Les API de JEE
API Rôle
Entreprise Java Bean (EJB) Composants serveurs contenant la logique métier
Remote Method Invocation (RMI et
RMI-IIOP)
RMI permet d'utilisation d'objet Java distribué. RMI-IIOP
est une extension de RMI pour utiliser avec CORBA.
Java Naming and Directory
Interface (JNDI)
Accès aux services de nommage et aux annuaires
d'entreprises
Java Database Connectivity
(JDBC)
Accès aux bases de données. J2EE intègre une
extension de cette API
Java Transaction API (JTA)
Java Transaction Service (JTS)
Support des transactions (JTA est un protocole de
commit à deux phases )
Java Messaging service (JMS) permet d'envoyer et de recevoir des messages de
manière asynchrone entre applications ou composants
Java. Basé sur l’architecture MOM (Messages Oriented
Middleware)
Servlets permet de créer dynamiquement des données au sein
d'un serveur HTTP.
JSF (JavaServer Faces) est un framework MVC basé sur les composants
Cours JEE - Khalid HOUSNI 6
Les API de JEE
API Rôle
Java Server Pages (JSP) technique basée sur Java qui permet aux développeurs
de créer dynamiquement du code HTML
Java IDL Utilisation de CORBA
JavaMail Envoie et réception d'email
J2EE Connector Architecture
(JCA)
Connecteurs pour accéder à des ressources du
système d'information de l'entreprises.
Java API for XML Parsing (JAXP) Analyse et exploitation de données au format XML
Java Authentication and
Authorization Service (JAAS)
Echange sécurisé de données
JavaBeans Activation Framework Utilisé par JavaMail : permet de déterminer le type
mime
Java API for XML-based RPC
(JAXP-RPC)
permettant de transmettre des messages SOAP en
mode RPC. S'appuie sur SAAJ et JAXM
SOAP with Attachments API for
Java (SAAJ)
permet d'envoyer de façon standard des documents
XML sur Internet à partir d'un modèle de programmation
Java
Cours JEE - Khalid HOUSNI 7
Les API de JEE
Ces API peuvent être regroupées en trois grandes catégories :
 les composants : Servlet, JSP, EJB ;
 les services : JDBC, JTA/JTS, JNDI, JCA, JAAS ;
 la communication : RMI-IIOP, JMS, Java Mail.
API Rôle
Java API for XML Registries (JAXR) conçu pour uniformiser l’accès aux annuaires de
web services
Java Management Extensions (JMX) gérer le fonctionnement d'une application Java
en cours d'exécution
Java Authorization Service Provider
Contract for Containers (JACC)
Norme qui définit un contrat entre les conteneurs
et les fournisseurs de services d'autorisation
…
Cours JEE - Khalid HOUSNI 8
Architectures d’une
Application Entreprise
Cours JEE - Khalid HOUSNI 9
Architecture JEE
Cours JEE - Khalid HOUSNI 10
Architecture serveur
• Concrètement, le serveur d'applications va :
• récupérer les requêtes HTTP issues des clients ;
• les mettre dans des boîtes, des objets, que votre code sera capable de
manipuler ;
• faire passer ces objets dans la moulinette qu'est votre application, via le
conteneur ;
• renvoyer des réponses HTTP aux clients, en se basant sur les objets
retournés par votre code
Cours JEE - Khalid HOUSNI 11
Le protocole HTTP
• HTTP :HyperText Tranfert Protocol
• Protocole qui permet au client de récupérer des documents du serveur
• Ces documents peuvent être statiques (contenu qui ne change pas :
HTML, PDF, Image, etc..) ou dynamiques ( Contenu généré
dynamiquement au moment de la requête : PHP, JSP, ASP…)
• Ce protocole permet également de soumissionner les formulaires
• Fonctionnement (très simple en HTTP/1.0)
• Le client se connecte au serveur (Créer une socket)
• Le client demande au serveur un document : Requête HTTP
• Le serveur renvoi au client le document (status=200) ou d’une erreur
(status=404 quand le document n’existe pas)
• Déconnexion
Cours JEE - Khalid HOUSNI 12
Méthodes du protocole HTTP
• Une requête HTTP peut être envoyée en utilisant les méthodes
suivantes:
• GET : Pour récupérer le contenu d’un document
• POST : Pour soumissionner des formulaires (Envoyer, dans la requête,
des données saisies par l’utilisateur )
• PUT pour envoyer un fichier du client vers le serveur
• DELETE permet de demander au serveur de supprimer un document.
• HEAD permet de récupérer les informations sur un document (Type,
Capacité, Date de dernière modification etc…)
Cours JEE - Khalid HOUSNI 13
Méthodes du protocole HTTP
• Une requête HTTP peut être envoyée en utilisant les méthodes
suivantes:
• GET : Pour récupérer le contenu d’un document
• POST : Pour soumissionner des formulaires (Envoyer, dans la requête,
des données saisies par l’utilisateur )
• PUT pour envoyer un fichier du client vers le serveur
• DELETE permet de demander au serveur de supprimer un document.
• HEAD permet de récupérer les informations sur un document (Type,
Capacité, Date de dernière modification etc…)
Cours JEE - Khalid HOUSNI 14
Methode POST
• Le client envoie la requête : Méthode POST
Post /Nom_Script HTTP/1.0
host: www.intra.net
HTTP_ACCEPT_LANGUAGE : fr
User-Agent : Mozilla/4.0
login=Value1& pass=Value2
& Var3=Value3
*** saut de ligne ***
corps de la requête
Méthode,chemin,version
Nom de domaine
Code de la langue
Type et version du
navigateur
Paramètres des différents
champs du formulaire.
Entête de la requête
Cours JEE - Khalid HOUSNI 15
Methode GET
• Le client envoie la requête : Méthode GET
GET /Nom_Script?login=val1&pass=val2&…. HTTP/1.0
host: www.intra.net
HTTP_ACCEPT_LANGUAGE : fr
User-Agent : Mozilla/4.0
corps de la requête est vide
Entête de la requête
Cours JEE - Khalid HOUSNI 16
Le Serveur retourne la réponse
HTTP/1.0 200 OK
Date : Wed, 05Feb02 15:02:01 GMT
Server : Apache/1.3.24
Last-Modified : Wed 02Oct01 24:05:01GMT
Content-Type : Text/html
Content-legnth : 4205
<HTML><HEAD>
….
</BODY></HTML>
*** saut de ligne ***
corps de la reponse
Ligne de Status
Date du serveur
Nom du Serveur
Dernière modification
Type de contenu
Sa taille
Le fichier que le client
va afficher
Entête de la reponse
Cours JEE - Khalid HOUSNI 17
• Seules les méthodes GET et POST sont supportées et traitées de
la même manière par tous les navigateurs.
• Les spécifications HTML jusqu'à 4.01 ne définissent aucun
support PUT/DELETE pour les formulaires, et seulement GET
et POST sont supportés. Du fait que ces deux méthodes
PUT/DELETE sont de plus en plus utilisées, HTML 5 définit
une spécification pour PUT/DELETE.
• En dehors d’HTML 5, un navigateur qui respecte strictement la
spécification w3c de HTML ne supporte pas PUT et DELETE,
et c'est la valeur GET qui est envoyée par défaut si la méthode
n'est pas reconnue.
Cours JEE - Khalid HOUSNI 18
Architecture en Java EE
Mahran Farhat farhatmahran@yahoo.fr
Mahran Farhat farhatmahran@yahoo.fr

Contenu connexe

Similaire à JEE_chapitre 1.pdf

Presentation
PresentationPresentation
Presentationbois
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Presentation article rest : How-to
Presentation article rest : How-toPresentation article rest : How-to
Presentation article rest : How-toDamien Cavaillès
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Olivier Le Goaër
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystémeAlgeria JUG
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Alphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server FacesAlphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server FacesAlphorm
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnHINDGUENDOUZ
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfHamdaneAbdelAzizHagg
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Vlad Posea
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxHamzaElgari
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.pptadiouf2
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdfElomyakobi
 

Similaire à JEE_chapitre 1.pdf (20)

Presentation
PresentationPresentation
Presentation
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Presentation article rest : How-to
Presentation article rest : How-toPresentation article rest : How-to
Presentation article rest : How-to
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Alphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server FacesAlphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server Faces
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
 
7 rest
7 rest7 rest
7 rest
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptx
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdf
 

Dernier

systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 

Dernier (15)

systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 

JEE_chapitre 1.pdf

  • 1. JEE : Introduction à l’environnement JEE Mahran Farhat farhatmahran@yahoo.fr Mahran Farhat farhatmahran@yahoo.fr
  • 2. information Je tiens à vous informer que le support de cous (les slides du cours) est inspiré du cours de monsieur Khalid Housni. Le support du cours (cours, TP et projets) est partagé sur google drive. http ://shorturl.at/cehtP Mahran Farhat farhatmahran@yahoo.fr
  • 3. Plan Cours JEE - Khalid HOUSNI 2
  • 4. Introduction au Java EE • Qu'est-ce que Java EE ? • Java EE n'est pas Java • Le terme « Java » fait bien évidemment référence à un langage, mais également à une plate-forme : son nom complet est « Java SE » pour Java Standard Edition. Celle-ci est constituée de nombreuses bibliothèques, ou API : citons par exemple java.lang, java.io, java.math, java.util, etc. • Le terme « Java EE » signifie Java Enterprise Edition,. Il fait quant à lui référence à une extension de la plate-forme standard. L'objectif majeur de Java EE est de faciliter le développement d'applications web robustes et distribuées, déployées et exécutées sur un serveur d'applications. Cours JEE - Khalid HOUSNI 3
  • 5. L’architecture JEE  Le nom de la 5ème version de la plate-forme Java pour Entreprise a été simplifiée : au lieu de se nommer J2EE (Java 2 Enterprise Edition) version 1.5, la plate-forme a été renommée Java EE 5 (Java Enterprise Edition).  L'accent est mis dans cette version sur la simplification des développements tout en conservant et en faisant évoluer les fonctionnalités proposées par la plate-forme J2EE. Java EE 5 intègre aussi de nouvelles API :  JSF ;  JPA ;  EJB 3.0 ;  Le support des dernières versions des API concernant les services web permettant une mise en œuvre d'une architecture de type SOA. Cours JEE - Khalid HOUSNI 4
  • 6. Introduction au Java EE • Comment ça marche? • les données sont échangées entre le client et le serveur via le protocole HTTP ; • le client ne comprend que les langages de présentation de l'information, en d'autres termes les technologies HTML, CSS et Javascript ; • les pages sont générées sur le serveur de manière dynamique, à partir du code source du site. Cours JEE - Khalid HOUSNI 5
  • 7. Les API de JEE API Rôle Entreprise Java Bean (EJB) Composants serveurs contenant la logique métier Remote Method Invocation (RMI et RMI-IIOP) RMI permet d'utilisation d'objet Java distribué. RMI-IIOP est une extension de RMI pour utiliser avec CORBA. Java Naming and Directory Interface (JNDI) Accès aux services de nommage et aux annuaires d'entreprises Java Database Connectivity (JDBC) Accès aux bases de données. J2EE intègre une extension de cette API Java Transaction API (JTA) Java Transaction Service (JTS) Support des transactions (JTA est un protocole de commit à deux phases ) Java Messaging service (JMS) permet d'envoyer et de recevoir des messages de manière asynchrone entre applications ou composants Java. Basé sur l’architecture MOM (Messages Oriented Middleware) Servlets permet de créer dynamiquement des données au sein d'un serveur HTTP. JSF (JavaServer Faces) est un framework MVC basé sur les composants Cours JEE - Khalid HOUSNI 6
  • 8. Les API de JEE API Rôle Java Server Pages (JSP) technique basée sur Java qui permet aux développeurs de créer dynamiquement du code HTML Java IDL Utilisation de CORBA JavaMail Envoie et réception d'email J2EE Connector Architecture (JCA) Connecteurs pour accéder à des ressources du système d'information de l'entreprises. Java API for XML Parsing (JAXP) Analyse et exploitation de données au format XML Java Authentication and Authorization Service (JAAS) Echange sécurisé de données JavaBeans Activation Framework Utilisé par JavaMail : permet de déterminer le type mime Java API for XML-based RPC (JAXP-RPC) permettant de transmettre des messages SOAP en mode RPC. S'appuie sur SAAJ et JAXM SOAP with Attachments API for Java (SAAJ) permet d'envoyer de façon standard des documents XML sur Internet à partir d'un modèle de programmation Java Cours JEE - Khalid HOUSNI 7
  • 9. Les API de JEE Ces API peuvent être regroupées en trois grandes catégories :  les composants : Servlet, JSP, EJB ;  les services : JDBC, JTA/JTS, JNDI, JCA, JAAS ;  la communication : RMI-IIOP, JMS, Java Mail. API Rôle Java API for XML Registries (JAXR) conçu pour uniformiser l’accès aux annuaires de web services Java Management Extensions (JMX) gérer le fonctionnement d'une application Java en cours d'exécution Java Authorization Service Provider Contract for Containers (JACC) Norme qui définit un contrat entre les conteneurs et les fournisseurs de services d'autorisation … Cours JEE - Khalid HOUSNI 8
  • 11. Architecture JEE Cours JEE - Khalid HOUSNI 10
  • 12. Architecture serveur • Concrètement, le serveur d'applications va : • récupérer les requêtes HTTP issues des clients ; • les mettre dans des boîtes, des objets, que votre code sera capable de manipuler ; • faire passer ces objets dans la moulinette qu'est votre application, via le conteneur ; • renvoyer des réponses HTTP aux clients, en se basant sur les objets retournés par votre code Cours JEE - Khalid HOUSNI 11
  • 13. Le protocole HTTP • HTTP :HyperText Tranfert Protocol • Protocole qui permet au client de récupérer des documents du serveur • Ces documents peuvent être statiques (contenu qui ne change pas : HTML, PDF, Image, etc..) ou dynamiques ( Contenu généré dynamiquement au moment de la requête : PHP, JSP, ASP…) • Ce protocole permet également de soumissionner les formulaires • Fonctionnement (très simple en HTTP/1.0) • Le client se connecte au serveur (Créer une socket) • Le client demande au serveur un document : Requête HTTP • Le serveur renvoi au client le document (status=200) ou d’une erreur (status=404 quand le document n’existe pas) • Déconnexion Cours JEE - Khalid HOUSNI 12
  • 14. Méthodes du protocole HTTP • Une requête HTTP peut être envoyée en utilisant les méthodes suivantes: • GET : Pour récupérer le contenu d’un document • POST : Pour soumissionner des formulaires (Envoyer, dans la requête, des données saisies par l’utilisateur ) • PUT pour envoyer un fichier du client vers le serveur • DELETE permet de demander au serveur de supprimer un document. • HEAD permet de récupérer les informations sur un document (Type, Capacité, Date de dernière modification etc…) Cours JEE - Khalid HOUSNI 13
  • 15. Méthodes du protocole HTTP • Une requête HTTP peut être envoyée en utilisant les méthodes suivantes: • GET : Pour récupérer le contenu d’un document • POST : Pour soumissionner des formulaires (Envoyer, dans la requête, des données saisies par l’utilisateur ) • PUT pour envoyer un fichier du client vers le serveur • DELETE permet de demander au serveur de supprimer un document. • HEAD permet de récupérer les informations sur un document (Type, Capacité, Date de dernière modification etc…) Cours JEE - Khalid HOUSNI 14
  • 16. Methode POST • Le client envoie la requête : Méthode POST Post /Nom_Script HTTP/1.0 host: www.intra.net HTTP_ACCEPT_LANGUAGE : fr User-Agent : Mozilla/4.0 login=Value1& pass=Value2 & Var3=Value3 *** saut de ligne *** corps de la requête Méthode,chemin,version Nom de domaine Code de la langue Type et version du navigateur Paramètres des différents champs du formulaire. Entête de la requête Cours JEE - Khalid HOUSNI 15
  • 17. Methode GET • Le client envoie la requête : Méthode GET GET /Nom_Script?login=val1&pass=val2&…. HTTP/1.0 host: www.intra.net HTTP_ACCEPT_LANGUAGE : fr User-Agent : Mozilla/4.0 corps de la requête est vide Entête de la requête Cours JEE - Khalid HOUSNI 16
  • 18. Le Serveur retourne la réponse HTTP/1.0 200 OK Date : Wed, 05Feb02 15:02:01 GMT Server : Apache/1.3.24 Last-Modified : Wed 02Oct01 24:05:01GMT Content-Type : Text/html Content-legnth : 4205 <HTML><HEAD> …. </BODY></HTML> *** saut de ligne *** corps de la reponse Ligne de Status Date du serveur Nom du Serveur Dernière modification Type de contenu Sa taille Le fichier que le client va afficher Entête de la reponse Cours JEE - Khalid HOUSNI 17
  • 19. • Seules les méthodes GET et POST sont supportées et traitées de la même manière par tous les navigateurs. • Les spécifications HTML jusqu'à 4.01 ne définissent aucun support PUT/DELETE pour les formulaires, et seulement GET et POST sont supportés. Du fait que ces deux méthodes PUT/DELETE sont de plus en plus utilisées, HTML 5 définit une spécification pour PUT/DELETE. • En dehors d’HTML 5, un navigateur qui respecte strictement la spécification w3c de HTML ne supporte pas PUT et DELETE, et c'est la valeur GET qui est envoyée par défaut si la méthode n'est pas reconnue. Cours JEE - Khalid HOUSNI 18
  • 20. Architecture en Java EE Mahran Farhat farhatmahran@yahoo.fr