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

  • 26
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager