Introduction de qq Bases sur Programmation Web Java Edition Entreprise Les comp

Introduction de qq Bases sur Programmation Web Java Edition Entreprise Les composants d’une application web Pages Web dynamique Une page html pourrait être générée dynamiquement par un script côté serveur, Les langages et les serveurs utilisés sont diverses, La technologie des servlets Java et page JSP fonctionnant avec différents serveurs (Tomcat, Apache,..) et sur différentes plate-formes (Windows, Linux), Une page html peut également contenir des scripts qui seront exécutés par le navigateur, Les langages de script côté navigateur sont nombreux PerlScript, JavaScript,.. Un script JSP <%@ page import="java.util.*" %> <% // code java%> <% Calendar calendrier = Calendar.getInstance(); int mn= calendrier.get(Calendar.MINUTE); int h = calendrier.get(Calendar.HOUR_OF_DAY); int s = calendrier.get(Calendar.SECOND); %> <% // code html %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page affichant l heure</title> </head> <body> <h1>Il est <%=h%>:<%=mn%>:<%=s%></h1> </body> </html> JavaScript côté navigateur <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page affichant l heure</title> <script language="javascript"> function réagir(){ alert ("vous avez cliqué sur le bouton ok"); } </script> </head> <body> <form action="index.jsp" method="get"> <input type="submit" value="ok" onclick="réagir()"> </form> <h1>Il est <%=h%>:<%=mn%>:<%=s%></h1> </body> </html> Les échanges client/serveur Les applications web se trouvent sans la couche Application et s’appuient donc sur les protocoles TCP- IP (couche Application, Transport, Réseau, Interface réseau). Les couches des machines client et serveur utilisent le protocole HTTP pour s’échanger des messages et se comprendre. Ces messages sont normalisés et ont la forme suivante: Entêtes HTTP Ligne Vide Document Le modèle TCP/IP Application Application | ---HTTP--- | Transport Transport | | Réseau Réseau | | Interface réseau Interface réseau | --réseau physique-- | Les méthodes HTTP Le protocole HTTP dispose de « méthodes »; ce sont des mots que le navigateur utilise pour dialoguer avec le serveur. Nous nous intéressons à trois en particulier: GET,POST et HEAD. GET: permet de récupérer une ressource web du serveur via une URL ou en cliquant sur un lien. La réponse consiste à retourner la ressource demandée, accompagnée d'informations diverses à son sujet (la taille des donnée, la date d ‘envoi…) dans ce qui s'appelle les en-têtes. Des paramètres peuvent être placés dans l’URL ou dans des cookies pour ensuite être transmises au serveur. POST: permet de soumettre au serveur des données de tailles variables et volumineuses, parfait pour envoyer des fichiers par exemple. HEAD: Cette méthode est identique à la méthode GET, la réponse du serveur contient seulement les en-têtes HTTP. La requête HTTP part du client et arrive sur le serveur. Alors le serveur HTTP (on parle également de serveur web) entre en jeu… Pour l’écoute de la requête sur un port (en générale 80), il la transmet ensuite à un autre élément le conteneur … Java Framework La plateforme Java est composée de trois éditions, destinées à des usages différents : Java ME : Java Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des terminaux mobiles ; Java SE : anciennement Java 2 Standard Edition est destiné au développement d'applications pour ordinateurs personnels, poste de travail ; Java EE : Java Enterprise Edition, destiné à des applications entreprises en fournissant un ensemble de composants sous forme d’API. 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'un ensemble de classes. Java EE (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. On parle généralement de la plateforme JEE pour désigner les services offerts (API), les composants et l’infrastructure d’exécution. La plateforme JEE La plateforme JEE comprend: Les spécifications du serveur d'application, c'est-à-dire de l'environnement d'exécution: J2EE définit finement les rôles et les interfaces pour les applications ainsi que l'environnement dans lequel elles seront exécutées. Ces recommandations permettent ainsi à des entreprises tierces de développer des serveurs d'application conformes aux spécifications ainsi définies, sans avoir à redévelopper les principaux services. Les service, c'est-à-dire des extensions Java indépendantes permettant d'offrir en standard un certain nombre de fonctionnalités. Ils pouvent être classés par catégories : Les services d'infrastructures : JDBC,JNDI… Les services de communication : JavaMail,JAAS… Les composants, on distingue habituellement deux familles de composants : Les composants web : Servlet et JSP. 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. Architecture Java EE un des composants de base pour le développement d'applications Web; Peut servir à créer dynamiquement des pages HTML; Bien sûr d’autres solutions existent pour les pages web dynamiques; Les servlets* peuvent servir à d’autres usages; Ecrite sur le langage Java, elle a tous les avantages du langage: Portabilité, l’accès aux APIs Java dont le JDBC… API Servlet * Sevlet est masculin selon le grand dictionnaire terminologique, féminin selon le livre Servlets Java: guide des programmeurs Une servlet Un programme java qui s'exécute côté serveur: la portabilité, l'accès à toutes les API de java dont JDBC pour l'accès aux bases de données, ... Effectue les traitements et renvoie le résultat correspondant à la requête du client. Elle agit selon le modèle requête/réponse. Cette interaction peut être directe ou via un serveur http, ftp, etc La principale utilisation actuelle est la génération de pages html dynamiques utilisant le protocole http et donc un serveur web, Mais n'importe quel protocole reposant sur le principe de requête/réponse peut faire usage d'une servlet. Une servlet peut être invoquée plusieurs fois en même temps pour répondre à plusieurs requêtes simultanées. La servlet se positionne dans une architecture Client/Serveur trois tiers dans le tiers du milieu entre le client léger chargé de l'affichage et la source de données. La version actuelle de la spécification servlet est 3.1 depuis Mai 2013. Serveur d’application Un serveur d'application permet de charger et d'exécuter les servlets dans une JVM. C'est une extension du serveur web qui a ses limites: Pas de contenu dynamique, Pas de sauvegarde de données sur le serveur Ce serveur d'application contient entre autre un moteur de servlets qui se charge de manager les servlets qu'il contient: un conteneur La notion de conteneur se retrouve dans de nombreuses technologies – Servlet, Applet, MIDlet, Xlet, (*-let), EJB, … Un conteneur est un composant logiciel système qui contrôle d’autres composants, dits métier – Tomcat est un exemple de conteneur – Les servlets n’ont pas de méthode main(), ils sont contrôlés par le conteneur Tomcat – Les requêtes ne sont pas adressées aux servlets mais au conteneur dans lequel ils sont déployés. Pourquoi un conteneur ? Un conteneur web est un moteur de servlet prend en charge l’instanciation et le chargement de la servlet, gestion de son cycle de vie, passage des requêtes et des réponses ... Un conteur web peut être intégré dans un serveur d'application qui va contenir d'autre conteneur et éventuellement proposer d'autres services.. Pourquoi? Pour oublier le cours de « réseau » et faciliter la tâche du programmeur Un conteneur fournit pour les Servlets – Un support pour la communication – La gestion du cycle de vie – Un support pour le Multithreading – Un support pour la sécurité – Un support pour les JSP Notion de module Web Un servlet ne peut pas être déployé directement dans un conteneur, il doit faire partie d’un module Web Un module Web est un ensemble de librairies, de fichiers de configurations, de code Java (bytecode des servlets…), … Le module Web est l’unité de déploiement dans le conteneur Le fonctionnement d’une servlet Remarque 1: Le chargement et l'instanciation d'une servlet se font selon le paramétrage soit au lancement du serveur soit à la première invocation de la servlet. Dès l'instanciation, la servlet est initialisée une seule et unique fois avant de pouvoir répondre aux requêtes. Cette initialisation peut permettre de mettre en place l'accès à des ressources tel qu'une base de données. Pour exécuter une servlet, il suffit de saisir une URL qui désigne la servlet dans un navigateur. 1. Le serveur reçoit la requête http qui nécessite une servlet de la part du navigateur 2. Si c'est la première sollicitation de la servlet, le serveur l'instancie. Les servlets sont stockées (sous forme de fichier .class) dans un répertoire particulier du serveur. Ce répertoire dépend du serveur d'application utilisé. La servlet reste en mémoire jusqu'à l'arrêt du serveur. Remarque 2: La servlet en mémoire, peut être appelée par plusieurs threads lancés par le serveur pour chaque requête. Ce principe de fonctionnement évite d'instancier un objet de type servlet à chaque requête et permet de maintenir un ensemble de ressources actives tel qu'une connexion à une base de données. 3. le serveur créé un objet qui représente la requête http et objet qui contiendra la réponse et les envoie à la servlet 4. la servlet créé dynamiquement la réponse sous forme de page html transmise via un flux dans l'objet contenant la réponse. La création de cette réponse utilise bien uploads/Finance/ java-edition-entreprise.pdf

  • 77
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Fev 05, 2022
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 16.6910MB