Expos de Systme Informatique et Rseau Expos Systme

  • Slides: 22
Download presentation
Exposé de Système - Informatique et Réseau Exposé Système Informatique et Réseau Présentation de

Exposé de Système - Informatique et Réseau Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Cédric Jourdan – IR 5

PLAN q Introduction q JSP q PHP q Lequel choisir entre JSP et PHP

PLAN q Introduction q JSP q PHP q Lequel choisir entre JSP et PHP

INTRODUCTION § Les sites Internet sont de plus en plus riches § Interaction avec

INTRODUCTION § Les sites Internet sont de plus en plus riches § Interaction avec l’utilisateur § Connexions avec des Bases de données et d’autres applications § Langage script côté serveur

JSP - (Java Server Pages) q Présentation q Exécution

JSP - (Java Server Pages) q Présentation q Exécution

JSP Présentation § Standard Java permettant de développer des Applications Web interactives § Intégrable

JSP Présentation § Standard Java permettant de développer des Applications Web interactives § Intégrable au sein d’une page HTML § Langage script exécuté du côté serveur § Répartition des tâches de développement

JSP Présentation - Modèle § Demande de fichier JSP

JSP Présentation - Modèle § Demande de fichier JSP

JSP Présentation – Syntaxe (1) § Exemple de code dans une page HTML <html>

JSP Présentation – Syntaxe (1) § Exemple de code dans une page HTML <html> <body> <% String visitor = request. get. Parameter("name"); if (visitor == null) visitor = " World"; %> Hello, <%= visitor %>! </body> </html> § Affichage “Hello, World !” pour une requête http: //serveur. fr/hello. Script. jsp “Hello, Java !” pour une requête http: //serveur. fr/hello. Script. jsp? name=Java

JSP Présentation – Syntaxe (2) § Les Balises: § Les Directives Pour transmettre au

JSP Présentation – Syntaxe (2) § Les Balises: § Les Directives Pour transmettre au conteneur de JSP des informations de traitement spécifiques à une page § Les éléments scripts Code JAVA compilé par le serveur Web § Les Commentaires Pour ajouter du texte explicatif à une page JSP § Les actions Elles permettent de réaliser plusieurs comportements différents (appel Applet, Servlet, Java. Bean…)

JSP Présentation - Implémentation § Séparation de la présentation et de l’implémentation Présentation Implantation

JSP Présentation - Implémentation § Séparation de la présentation et de l’implémentation Présentation Implantation Balises des JSP HTML et style HTML Composants Java Balises Servlets JSP Java Bean personnalisées Classes …

JSP Exécution - Conditions § Serveur Web HTTP (Apache, Netscape Enterprise Server …) §

JSP Exécution - Conditions § Serveur Web HTTP (Apache, Netscape Enterprise Server …) § Conteneur de JSP (Tomcat … ) § JDK (Java Development Kit) contient un “Java Runtime Environment” (machine virtuelle), un compilateur …

JSP Exécution - Servlets § Programme exécuté sur le serveur Web § Peut recevoir

JSP Exécution - Servlets § Programme exécuté sur le serveur Web § Peut recevoir et émettre des requêtes HTTP § Les JSP sont transformées en Servlet Application Web GET http: //www/servlets/Hello. Word Requête Réponse Client <HTML>…. <Hello. Word></body></html> (Navigateur) § API Java “javax. servlet” et “javax. servlet. http” Conteneur de Servlets Servelet Hello. Word JVM Serveur

JSP Exécution - Fonctionnement Serveur HTTP Réception de la requête Conteneur de JSP Servelet

JSP Exécution - Fonctionnement Serveur HTTP Réception de la requête Conteneur de JSP Servelet du compilateur de page Servelet JSP courante? Oui Servelet JSP chargée? Oui Non Analyse les JSP Génère le source de la servelet Non Charge la servlet Génère la réponse Envoie de la réponse Compile la servlet JSP Servlet de page JSP

JSP Exécution – Fonctionnement (Étape 1) § client serveur + moteur 2 façons: -

JSP Exécution – Fonctionnement (Étape 1) § client serveur + moteur 2 façons: - le client charge une URL http: // www. univ-mlv. fr/ prog. Jsp Ø le navigateur construit une commande HTTP GET /prog. jsp HTTP/ 1. 1 - le client saisit des informations dans un formulaire et clique sur envoi Ø le navigateur construit une commande HTTP POST avec les données du formulaire (chaîne de caractères) POST /prog. jsp HTTP/ 1. 1 Nom= Jourdan&Prenom= Cedric

JSP Exécution – Fonctionnement (Étape 2) § serveur + moteur JSP Le "moteur": -

JSP Exécution – Fonctionnement (Étape 2) § serveur + moteur JSP Le "moteur": - à la 1ère invocation, crée une classe, la compile et l' instancie. Si la classe existe déjà, et elles aussi récente que la page HTML, on l’utilise. - crée un thread - invoque une méthode de la classe contenant le code à exécuter La JSP: - s'exécute sur le serveur Web Serveur HTTP Conteneur JSP Nom=Jourdan&Prenom=Cedric Prog. jsp 2 JVM

JSP Exécution – Fonctionnement (Étape 3&4) § 1) JSP serveur + moteur § 2)

JSP Exécution – Fonctionnement (Étape 3&4) § 1) JSP serveur + moteur § 2) Serveur + moteur Client La JSP: Le serveur: - produit son résultat - propage le résultat au client dans une réponse HTTP Réponse HTML 4 Client (Navigateur) Serveur HTTP Conteneur JSP Réponse HTML Prog. jsp 3 JVM Serveur Web

JSP Exécution – Mise en cache des sorties § Fonctionnement HTTP § Le client

JSP Exécution – Mise en cache des sorties § Fonctionnement HTTP § Le client (Navigateur) 1) réception de l’en-tête HTTP 2) réception du corps de la réponse § Le Serveur 1) envoie de l’en-tête HTTP (informations, cookies…) 2) émission de la page HTML

JSP Exécution – Mise en cache des sorties (2) § Problème du protocole HTTP

JSP Exécution – Mise en cache des sorties (2) § Problème du protocole HTTP avec JSP - Envoie de l’en-tête HTTP avant d’avoir traité le code JSP - On ne peut pas par exemple gérer les cookies avec JSP, car ils sont envoyés dans l’en-tête § Solution apportée par JSP - Mise en cache des résultats du traitement des pages JSP - On envoie la réponse au client une fois le code Java traite - On peut ainsi modifier l’en-tête HTTP § Caractéristiques du cache - Par défaut la mémoire tampon est de 8 Ko - Un tampon par Servelet

PHP – (Personal Home Page) § Langage script interprété du cote serveur § Intégrable

PHP – (Personal Home Page) § Langage script interprété du cote serveur § Intégrable au sein d’une page HTML § Simplicité d’écriture des scripts

PHP - Exécution Serveur HTTP Réception de la requête PHP Activation du processus PHP

PHP - Exécution Serveur HTTP Réception de la requête PHP Activation du processus PHP Processus PHP Génération de la réponse Réception des sorties PHP Envoie de la requête

JSP ou PHP? JSP PHP Utilise le langage Java qui est totalement objet Langage

JSP ou PHP? JSP PHP Utilise le langage Java qui est totalement objet Langage procédurale avec la possibilité de faire de l’objet Grand nombre d’API Moins de possibilités de développement Peut ce connecter à tout type de bases de données (avec JDBC) Peut ce connecter à tout type de bases de données (avec ODBC) Fonctionne “in process” et “out process” Ajout d’un module pour supporter le “out process” Les temps de réponses sont équivalents Plus gourmand en ressources à cause de la JVM Langage interprète à chaque appel Processus léger, utilise les Threads Nouveaux processus pour l’exécution des scripts

JSP ou PHP? – Le meilleur choix § JSP demande une plus grande complexité

JSP ou PHP? – Le meilleur choix § JSP demande une plus grande complexité d’apprentissage que PHP § JSP est plus oriente pour s’interfacer sur de gros applicatifs comme les systèmes d’informations § PHP est plus adapté à de petits applicatifs, qui demandent peux de développement

FIN § Bibliographie § Livre “JSP Java. Server Pages”, Duane K. FIELDS, Mark A.

FIN § Bibliographie § Livre “JSP Java. Server Pages”, Duane K. FIELDS, Mark A. KOLB, édition Eyrolles. § java. sun. com/jsp/ § www. php. net § www. commentcamarche. net § http: //deneau. multimania. com/ - Veille Technologique § JAVA ET INTERNET, G. ROUSSEL, E. DURIS, édition Vuibert