1 Introduction à la plateforme JEE Dr. Abdessamad Belangour cours JEE - Dr. Abd
1 Introduction à la plateforme JEE Dr. Abdessamad Belangour cours JEE - Dr. Abdessamad Belangour 2 Plan du cours Chapitre 1 : Survol de la plateforme JEE Chapitre 2 : Servlets Chapitre 3 : JSP Chapitre 4 : JDBC Chapitre 5 : JPA (exposé) Chapitre 6 : JSTL Chapitre 7 : EJB 3.2 (exposé) 1 2 2 Chapitre 1 : Survol de la plateforme JEE Notion de plateforme Une plateforme de développement informatique est une base générique qui fournit une implémentation à un ensemble de besoins récurrents : ●accès aux bases de données, ●communication réseaux, ●etc.. Avantages : ●Se concentrer sur les fonctionnalités réelles de l’application en cours de développement. Gain de temps et d’argent cours JEE - Dr. Abdessamad Belangour 4 3 4 3 Plateforme Java EE Est l'Edition du Framework Java destinée au développement Web coté serveur Elle désigne l'ensemble constitué des services (API) offerts et de l'infrastructure d'exécution. Elle est proposée sous forme d’une norme comprenant : ●Les spécifications du serveur d'application (environnement d'exécution). ●Des services (au travers d'API) qui sont des extensions Java indépendantes permettant d'offrir en standard un certain nombre de fonctionnalités. cours JEE - Dr. Abdessamad Belangour 5 La Fondation Eclipse Est une organisation à but non lucratif fondée en 2004 par IBM autour de l’IDE Eclipse. Son objectif s’est élargi depuis à la création et gestions de projets open source Elle rallie plus de 200 membres dont : IBM, Oracle, Google, Microsoft, SAP,… En 2017, Oracle cède la gestion de sa plateforme JEE (depuis la version 8) et son IDE Netbeans à la fondation Eclipse. Ainsi Java EE devient Jakarta EE Et Netbeans devient Apache Netbeans cours JEE - Dr. Abdessamad Belangour 6 5 6 4 Jakarta EE Est l’édition du Framework Java destinée au développement d’applications entreprise Java natives dans le cloud. Elle désigne l'ensemble constitué des services (API) offerts et de l'infrastructure d'exécution. Les spécifications Jakarta EE consistent en: ●Spécification des APIs ●Kit de compatibilité technologique (Technology Compatibility Kit ou TCK) - utilisé pour tester le code implémenté sur la base des API et du document de spécification ●Implementation Compatible - implémentation qui passe avec succès le TCK cours JEE - Dr. Abdessamad Belangour 7 Les API de JEE Les API de JEE sont réparties en 5 grandes catégories : ●Web Application Technologies ●Enterprise Application Technologies ●Web Services Technologies ●Management and Security Technologies ●Java EE-related Specs in Java SE cours JEE - Dr. Abdessamad Belangour 8 7 8 5 Les API de JEE Web Application Technologies ●Java Servlet 4.0 ●JavaServer Pages 2.3 ●Expression Language 3.0 ●Standard Tag Library for JavaServer Pages (JSTL) 1.2 ●JavaServer Faces 2.3 ●Java API for WebSocket 1.1 ●Java API for JSON Binding 1.0 ●Java API for JSON Processing 1.1 cours JEE - Dr. Abdessamad Belangour 9 Les API de JEE Enterprise Application Technologies ●Batch Applications for the Java Platform 1.0 ●Concurrency Utilities for Java EE 1.0 ●Contexts and Dependency Injection for Java 2.0 ●Dependency Injection for Java 1.0 ●Bean Validation 2.0 ●Enterprise JavaBeans 3.2 ●Interceptors 1.2 ●Java EE Connector Architecture 1.7 ●Java Persistence 2.2 ●Common Annotations for the Java Platform 1.3 ●Java Message Service API 2.0 ●Java Transaction API (JTA) 1.2 ●JavaMail 1.6 cours JEE - Dr. Abdessamad Belangour 10 9 10 6 Les API de JEE Web Services Technologies ●Java API for RESTful Web Services (JAX-RS) 2.1 ●Implementing Enterprise Web Services 1.3 ●Web Services Metadata for the Java Platform 2.1 ●Java API for XML-Based RPC (JAX-RPC) 1.1 (Optional) ●Java API for XML Registries (JAXR) 1.0 (Optional) cours JEE - Dr. Abdessamad Belangour 11 Les API de JEE Management and Security Technologies ●Java EE Security API 1.0 ●Java Authentication Service Provider Interface for Containers 1.1 ●Java Authorization Contract for Containers 1.5 ●Java EE Application Deployment 1.2 (Optional) ●J2EE Management 1.1 ●Debugging Support for Other Languages 1.0 cours JEE - Dr. Abdessamad Belangour 12 11 12 7 Les API de JEE Java EE-related Specs in Java SE ●Java Management Extensions (JMX) 2.0 ●SOAP with Attachments API for Java (SAAJ) Specification 1.3 ●Streaming API for XML (StAX) 1.0 ●Java API for XML Processing (JAXP) 1.6 ●Java Database Connectivity 4.0 ●Java Architecture for XML Binding (JAXB) 2.2 ●Java API for XML-Based Web Services (JAX-WS) 2.2 ●JavaBeans Activation Framework (JAF) 1.1 cours JEE - Dr. Abdessamad Belangour 13 cours JEE - Dr. Abdessamad Belangour 14 L'architecture JEE L'architecture JEE permet ainsi de séparer : ●La couche présentation, correspondant à l'interface homme-machine (IHM), ●La couche métier contenant l'essentiel des traitements de données en se basant dans la mesure du possible sur des API existantes, ●La couche de données correspondant aux informations de l'entreprise stockées dans des : Fichiers, Bases de données relationnelles ou XML, Annuaires d'entreprise Systèmes d'information complexes (ERP par exemple). 13 14 8 cours JEE - Dr. Abdessamad Belangour 15 L'architecture JEE JNDI Java Mail … JAAS JDBC JTA JCA … EJB EJB EJB JSP Servlets Conteneur de servlets Client lourd Clients légers Serveur Web Serveur d’application Bdd relationnelle Système d’information (ERP) APIs Annuaire Données Métier Présentation (IHM) Types de clients Client lourd (fat client ou heavy client) : ●Application cliente graphique exécutée sur le système d'exploitation de l'utilisateur. ●Possède généralement des capacités de traitement évoluées ●Peut posséder une interface graphique sophistiquée. Client léger (thin client) : ●Application accessible via un navigateur web, ●La totalité de la logique métier est traitée du côté du serveur. cours JEE - Dr. Abdessamad Belangour 16 15 16 9 Types de clients Client riche (rich client) : ●Compromis entre le client léger et le client lourd. ●Propose une interface graphique avec des fonctionnalités avancées (glisser déposer, onglets, multi fenêtrage, menus déroulants) , ●Décrit avec une grammaire basée sur la syntaxe XML cours JEE - Dr. Abdessamad Belangour 17 cours JEE - Dr. Abdessamad Belangour 18 Serveurs d’application C’est un environnement d'exécution des applications côté serveur. Il prend en charge l'ensemble des fonctionnalités qui permettent à N clients d'utiliser une même application Lorsque les serveur d'application n'implémente que la partie Web (Servlets et JSP) de la spécification Java EE, il est appelé conteneur ou moteur de servlets 17 18 10 Serveurs d’application : Exemples Apache Tomcat Apache Geronimo GlassFish IBM Websphere Application Server JOnAS Novell exteNd Application Server Oracle WebLogic Server Resin Server WildFly (version communautaire de JBoss) JBoss EAP (version Red Hat JBoss) cours JEE - Dr. Abdessamad Belangour 19 Chapitre 2 : Les Servlets 19 20 11 cours JEE - Dr. Abdessamad Belangour 21 Introduction aux servlets Ce sont des classes Java fonctionnant du côté serveur. Elles permettent de construire des pages Web dynamiques. Une Servlet: ●Reçoit des requêtes HTTP d’un client Web ●Effectue traitement ●Fournit une réponse HTTP dynamique au client Web La compréhension du fonctionnement du protocole HTTP est nécessaire Servlets et protocole HTTP Les servlets s’appuient sur le protocole HTTP pour communiquer avec le client. HTTP agit comme un protocole de Transport cours JEE - Dr. Abdessamad Belangour 22 Requête HTTP Réponse HTTP Serveur Web Client (navigateur) 21 22 12 Le protocole HTTP HTTP = HyperText Tranfert Protocol Protocole qui permet au client de récupérer des documents sur serveur : ●Documents Statiques (HTML, PDF, Image, etc..) ou ●Documents Dynamiques (PHP, JSP, ASP…) HTTP permet également de soumissionner les formulaires SOA - Pr. Abdessamad Belangour 23 envoi des en-têtes HTTP Client (navigateur) Décode localisation du fichier Création des en-têtes formatage des données envoi des en-têtes HTTP de réponse Le protocole HTTP : Fonctionnement SOA - Pr. Abdessamad Belangour 24 IPS =…. Port = 80 :Socket Port = 80 :SocketServer accept() IPC =…. Port = …. :Socket Doc.html Connexion GET / doc.html Réponse HTTP (OK) Status=200 Déconnexion Client HTTP Serveur Web 23 24 13 Le protocole HTTP : Méthodes 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…) SOA - Pr. Abdessamad Belangour 25 Le protocole HTTP : Forme d’une requête HTTP SOA - Pr. Abdessamad Belangour 26 Entête : valeur Entête : valeur Entête : valeur Entête : valeur … *** saut de ligne *** …. …. .... …. …. Entête Corps de la requête Ligne vide 25 26 14 Le protocole HTTP : Requête de type POST SOA - Pr. Abdessamad Belangour 27 Post http://www.site.ma HTTP/1.0 Accept : text/html Accept-Language : fr User-Agent : Mozilla/4.0 *** saut de ligne *** param1=Valeur1& param2=Valeur2 & param3=Valeur3 Entête Corps de la requête Ligne vide Le protocole HTTP : Requête de type GET SOA - Pr. Abdessamad Belangour 28 GET http://www.site.ma HTTP/1.0 Accept : text/html Accept-Language : fr User-Agent : Mozilla/4.0 *** saut de ligne *** Entête Corps de la requête (VIDE) Ligne vide 27 28 15 Le protocole HTTP : Exemple SOA - Pr. Abdessamad Belangour 29 GET uploads/s3/ introduction-a-la-plateforme-jee-dr-abdessamad-belangour.pdf
Documents similaires
-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 20, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 1.4383MB