1 Introduction à la plateforme JEE Dr. Abdessamad Belangour 20/06/2016 cours JE
1 Introduction à la plateforme JEE Dr. Abdessamad Belangour 20/06/2016 cours JEE - Dr. Abdessamad Belangour 2 Plan du cours Partie 1 : Survol de la plateforme JEE Partie 2 : Les Servlets Partie 3 : Les Java Server Pages (JSP) Partie 4 : Accès aux bases de données avec JDBC 2 Partie 1 : Survol de la plateforme JEE 20/06/2016 cours JEE - Dr. Abdessamad Belangour 4 Pourquoi utiliser une plateforme ? Une plateforme est une base générique qui fournit un ensemble de fonctionnalités utiles pour une majorité d’applications. Une plateforme se construit sur la base d’un ensemble de besoins génériques partagés entre plusieurs applications (accès aux bases de données, communication réseaux, etc..) Avantages : Ne pas re-coder des fonctionnalités communes et récurrentes Se concentrer sur les fonctionnalités réelles de l’application en cours de développement. Gain de temps et d’argent 3 20/06/2016 cours JEE - Dr. Abdessamad Belangour 5 Java Framework Le Java Framework est composé de trois éditions, destinées à des usages différents : JME : Java Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des PDA (Personal Digital Assistant ) et terminaux mobiles (téléphone portables, …) ; JSE : Java Standard Edition est destiné au développement d'applications pour ordinateurs personnels ; JEE : Java Enterprise Edition, destiné à un usage professionnel avec la mise en œuvre de serveurs. Chaque édition propose un environnement complet pour le développement et l'exécution d'applications basées sur Java et Comprend notamment une machine virtuelle Java (Java virtual machine) ainsi qu'une bibliothèque de classes. 20/06/2016 cours JEE - Dr. Abdessamad Belangour 6 La plateforme JEE JEE (Java Enterprise Edition) est une norme proposée par la société Sun, portée par un consortium de sociétés internationales, visant à définir un standard de développement d'applications d'entreprises multi-niveaux, basées sur des composants. La plateforme JEE désigne l'ensemble constitué des services (API) offerts et de l'infrastructure d'exécution. La norme JEE comprend : 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. Remarque : Sun fournit une implémentation minimale de ces API appelée JEE SDK (JEE Software Development Kit). 4 20/06/2016 cours JEE - Dr. Abdessamad Belangour 7 Les API de JEE Les API de JEE peuvent se répartir en deux grandes catégories : Les composants Les composants web Les composants métier Les services Les services d'infrastructures Les services de communication 20/06/2016 cours JEE - Dr. Abdessamad Belangour 8 Les API de JEE Les composants : Les composants Web : Servlets et JSP (Java Server Pages). Il s'agit de la partie chargée de l'interface avec l'utilisateur (on parle de logique de présentation). Les composants métier : EJB (Enterprise Java Beans). Il s'agit de composants spécifiques chargés des traitements des données propres à un secteur d'activité (on parle de logique métier ou de logique applicative) et de l'interfaçage avec les bases de données. 5 20/06/2016 cours JEE - Dr. Abdessamad Belangour 9 Les API de JEE Les services : Les services d'infrastructures : JDBC (Java DataBase Connectivity) est une API d'accès aux bases de données relationnelles. JNDI (Java Naming and Directory Interface) est une API d'accès aux services de nommage et aux annuaires d'entreprises tels que DNS, NIS, LDAP, etc. JTA/JTS (Java Transaction API/Java Transaction Services) est une API définissant des interfaces standard avec un gestionnaire de transactions. JCA (JEE Connector Architecture) est une API de connexion au système d'information de l'entreprise, notamment aux systèmes dits «Legacy» tels que les ERP. JMX (Java Management Extension) fournit des extensions permettant de développer des applications web de supervision d'applications. 20/06/2016 cours JEE - Dr. Abdessamad Belangour 10 Les API de JEE Les services de communication : JAAS (Java Authentication and Authorization Service) est une API de gestion de l'authentification et des droits d'accès. JavaMail est une API permettant l'envoi de courrier électronique. JMS (Java Message Service) fournit des fonctionnalités de communication asynchrone (appelées MOM pour Middleware Object Message) entre applications. RMI-IIOP (Remote Method Invocation Over Internet Inter-ORB Protocol) est une API permettant la communication synchrone entre objets. 6 20/06/2016 cours JEE - Dr. Abdessamad Belangour 11 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). 20/06/2016 cours JEE - Dr. Abdessamad Belangour 12 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) 7 20/06/2016 cours JEE - Dr. Abdessamad Belangour 13 Types de clients Client lourd (en anglais fat client ou heavy client) : désigne une application cliente graphique exécutée sur le système d'exploitation de l'utilisateur. Un client lourd possède généralement des capacités de traitement évoluées et peut posséder une interface graphique sophistiquée. Client léger (en anglais thin client) : désigne une application accessible via une interface web (en HTML) consultable à l'aide d'un navigateur web, où la totalité de la logique métier est traitée du côté du serveur. Pour ces raisons, le navigateur est parfois appelé client universel. Client riche est un compromis entre le client léger et le client lourd. L'objectif du client riche est de proposer une interface graphique, décrite avec une grammaire de description basée sur la syntaxe XML, permettant d'obtenir des fonctionnalités similaires à celles d'un client lourd (glisser déposer, onglets, multi fenêtrage, menus déroulants). 20/06/2016 cours JEE - Dr. Abdessamad Belangour 14 Serveur d’application Un serveur d'application 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 Exemples : JBoss (www.jboss.org) WebSphere Application Server d’IBM Weblogic de BEA (www.bea.com) ..etc 8 Partie 2 : Les Servlets 20/06/2016 cours JEE - Dr. Abdessamad Belangour 16 Introduction aux servlets Ce sont des applications Java fonctionnant du côté serveur (tels que ASP ou bien PHP). Les servlets sont au serveur Web ce que les applets sont au navigateur pour le client. Servlet: Reçoit des requêtes HTTP Effectue traitement Fournit une réponse HTTP dynamique au client Web (permet donc de créer des pages web dynamiques). 9 20/06/2016 cours JEE - Dr. Abdessamad Belangour 17 Introduction aux servlets les servlets sont indépendantes du serveur web Elles s'exécutent dans un moteur de servlets utilisé pour établir le lien entre la servlet et le serveur Web Servlet Requête HTTP Réponse HTTP Serveur web Client (navigateur) Moteur de servlet 20/06/2016 cours JEE - Dr. Abdessamad Belangour 18 Avantages des servlets Les servlets ont de nombreux avantages par rapport aux autres technologies côté serveur: Peut utiliser toutes les API Java afin de communiquer avec des applications extérieures, se connecter à des bases de données, accéder aux entrée-sorties… Sont indépendantes du serveur Web Se chargent automatiquement lors du démarrage du serveur ou bien lors de la connexion du premier client. La résidence en mémoire leur permettent : De traiter les demandes des clients grâce à des threads. D’occuper moins de mémoire et de charge du processeur. À l’opposé, les langages de script traditionnels créent de nouveaux processus pour chaque requête HTTP. permettant de créer des composants réutilisables. 10 20/06/2016 cours JEE - Dr. Abdessamad Belangour 19 Moteur de servlets Un moteur de servlets est connu aussi par conteneur de servlets (en anglais Servlet Container) Un moteur de servlets permet d’établir le lien entre la Servlet et le serveur Web Il prend en charge et gère les servlets: chargement de la servlet gestion de son cycle de vie passage des requêtes et des réponses Deux types de conteneurs Conteneurs de Servlets autonomes : c’est un serveur Web qui intègre le support des Servlets Conteneurs de Servlets additionnels : fonctionnent comme un plug-in à un serveur Web existant 20/06/2016 cours JEE - Dr. Abdessamad Belangour 20 Moteur de servlets Nombreux conteneurs de Servlet Jakarta Tomcat (jakarta.apache. JBoss (www.jboss.org) WebSphere Application Server d’IBM Weblogic de BEA (www.bea.com) Dans le reste du cours et des TP, nous utiliserons le conteneur Tomcat pour déployer nos servlets. 11 20/06/2016 cours JEE - Dr. Abdessamad Belangour 21 Jakarta Tomcat Tomcat 5.5.4 respecte la spécification Servlet 2.4 et JSP 2.0 Écrit entièrement en Java, il peut donc être utilisé sur n’importe quel système disposant d’une machine virtuelle Disponible gratuitement sous forme d’une licence Open Source Nécessite obligatoirement une machine virtuelle respectant la spécification 5.0 (jre 1.5.0) Implémentation de référence de la spécification JEE. Il fournit donc les librairies de façon à concevoir des Servlets (javax.servlet.http.HttpServlet) Jakarta Tomcat Après installation de Tomcat : L’icône suivante montre quand il marche L’icône suivante montre quand il est arrêté « Start service » permet de le faire marcher s’il est en arrêt « uploads/s1/ jee-belangour-v3.pdf
Documents similaires
-
44
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 22, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 0.7229MB