Application Web et J2EE



Documents pareils
INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Développement des Systèmes d Information

L3 informatique TP n o 2 : Les applications réseau

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Serveurs de noms Protocoles HTTP et FTP

Module BD et sites WEB

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Utilisation de Jakarta Tomcat

Java pour le Web. Cours Java - F. Michel

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

(structure des entêtes)

Programmation Internet Cours 4

Web Tier : déploiement de servlets

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Applications et Services WEB: Architecture REST

Les services usuels de l Internet

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Formation en Logiciels Libres. Fiche d inscription

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Module http MMS AllMySMS.com Manuel d intégration

Dans l'épisode précédent

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Programmation Web. Introduction

Hébergement de site web Damien Nouvel

10. Base de données et Web. OlivierCuré

4. SERVICES WEB REST 46

Protection des protocoles

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Introduction à HTTP. Chapitre HTTP 0.9

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

Mise en œuvre des serveurs d application

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Catalogue des Formations Techniques

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

SERVEUR HTTP Administration d apache

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction aux «Services Web»

Compte Rendu d intégration d application

Réseaux. 1 Généralités. E. Jeandel

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Architectures Web Services RESTful

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

CQP Développeur Nouvelles Technologies (DNT)

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Petite définition : Présentation :

Manuel d installation de Business Objects Web Intelligence Rich Client.

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

A. Architecture du serveur Tomcat 6

Projet Java EE Approfondi

Internet. Web Sécurité Optimisation

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Protocoles Applicatifs

Groupe Eyrolles, 2003 ISBN : X

Hébergement de sites Web

Architectures web/bases de données

Architecture Orientée Service, JSON et API REST

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Table des matières Hakim Benameurlaine 1

Environnements de Développement

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Programmation Internet

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Proxies,, Caches & CDNs

Introduction à la plateforme J2EE

Les architectures 3-tiers Partie I : les applications WEB

Messagerie asynchrone et Services Web

Outils de traitements de logs Apache

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Qu est ce qu Internet. Qu est-ce qu un réseau? Internet : à quoi ça sert? présentation des services. Exemple de configuration. Rôles des éléments

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

La base de données XML exist. A. Belaïd

Vulnérabilités et sécurisation des applications Web

La VOIP :Les protocoles H.323 et SIP

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Technologies Web avancées. ING1 SIGL Technologies Web avancées

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Cours en ligne Développement Java pour le web

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Les Services Web. Jean-Pierre BORG EFORT

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

JavaServer Pages (JSP)

Groupe Eyrolles, 2004, ISBN :

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Transcription:

Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto <pierre.gambarotto@enseeiht.fr> Département Informatique et Math appli ENSEEIHT

Plan Introduction 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

Plan Introduction Buts Plan 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

Connaissances à acquérir Buts Plan Application Client/Serveur et Conception d une application web Modèle MVC Démarche sur un projet

Côté technique Introduction Buts Plan J2EE : Servlet, JSP Accès bases de données : jdbc Eclipse

Plan Introduction Buts Plan 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

Buts Plan Acquisition des connaissances seance 1 Application Client/Serveur,, J2EE :Servlet(base) séance 2 Communication entre ressources web ; J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur

Buts Plan Méthodologie de conception et mise en pratique séance 4 Persistence (jdbc), conception BD(base) séance 5 MVC séance 6 Méthodologie de conception

Sommaire Introduction Application Client Serveur, Application Web J2EE : présentation Servlet : la base

Client/Serveur Serveur Client Client Client Un Serveur, plusieurs clients Client : Interface Utilisateur Serveur : partie métier Protocole de communication entre le client et le serveur

Application Web Firefox Safari Serveur Mozilla Opera IE Client/Serveur Client : navigateur web Langage de description d interface : HTML, Javascript Serveur : serveur web Protocole de communication :

en bref HyperText Transfer Protocol Protocole Client/Serveur, basé sur TCP Client=navigateur web Désignation de ressource : URL /1.0 : RFC 1945, mai 1996 /1.1 : RFC 2616, juin 1999

Exemple de requête Client http://www.site.fr/ path/to/doc.html Serveur DNS 147.123.42.3 connexion TCP GET /path/to/doc.html 1.1 1.1 200 Ok... pas de suivi de requêtes

URL Introduction Uniform Ressource Locator (URI idem mais Identifier) type_connexion:://serveur/chemin/ressource [#id_fragment][?liste_param] Exemples : http://yuka.enseeiht.fr/svn/cours/j2ee/ http://yuka.enseeiht.fr/doc?param1=val1&p2=val,val2

Requête 1 ligne de commande : requête URI-demandé -version 2 en-têtes optionnels, sur plusieurs lignes si nécessaire 3 une ligne blanche ; 4 un corps éventuel

Types de reqêtes GET : demande l émission d une page HEAD : demande de lire l en-tête d une page PUT : demande de mémoriser une page POST : demande de traitement du corps de la requête DELETE : élimine une page LINK/UNLINK : lie/délie deux ressources

En-têtes Introduction DATE : de la génération de la requête REFERER : donne l URI de la page à partir de laquelle le document est demandé USER-AGENT : identifiant du logiciel de navigation employé MIME-VERSION : numéro de version CONTENT-TYPE : type de données du corps (POST) CONTENT-LENGTH : longueur du corps (en bytes) CONTENT-ENCODING : codage supplémentaire de la ressource accédée CONNECTION : que doit-on faire avec la connection (la garder ouverte?) HOST : indique le nom du serveur (avec éventuellement un numéro de port). Obligatoire en version 1.1

Réponse 1 une ligne de status : -version code-réponse phrase réponse 2 en-têtes optionnels 3 une ligne blanche 4 corps éventuel

Code de réponse 1xx : informationnel 2xx : succès 3xx : redirection 4xx : erreur client 5xx : erreur serveur

Plan Introduction Evolution du web Principe du web dynamique côté serveur 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

Mini historique Introduction Evolution du web Principe du web dynamique côté serveur crée au CERN pour de la documentation scientifique /1.0 : RFC 1945, mai 1996 /1.1 : RFC 2616, juin 1999

Web statique Introduction Evolution du web Principe du web dynamique côté serveur Client Client Serveur système de fichier ressource demandée : fichier serveur web associé à un dossier dans le système de fichiers

Exemple Introduction Evolution du web Principe du web dynamique côté serveur serveur web zongo.n7.fr, associé au dossier /var/www/html/ client :requête de type GET pour l URL http://zongo.n7.fr/elfe/dislikedwarf.html serveur : récupère le fichier /var/www/html/elfe/dislikedwarf.html et l enrobe dans une réponse pour l envoyer au client

Evolution : plus de dynamisme Evolution du web Principe du web dynamique côté serveur nécessité d une interface utilisateur plus riche : ajout de processus au niveau client pour gérer certains langages : javascript, Applets Java, et autre. nécessité de personnaliser les réponses : génération à la voléé de document au niveau serveur

Plan Introduction Evolution du web Principe du web dynamique côté serveur 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

Evolution du web Principe du web dynamique côté serveur Génération dynamique de documents Client Client Serveur processus de génération nom de ressource demandé : document non existant, à générer! processus de génération interne ou externe Java, php, perl, asp, C#

Exemple Introduction Evolution du web Principe du web dynamique côté serveur serveur web zongodyn.n7.fr, associé à la configuration : toute les ressources commençant par /elfe/ sont traitées par le processus salade.pl, ici un script perl. client :requête de type GET pour l URL http://zongo.n7.fr/elfe/dislikedwarf.html serveur : exécute le processus salade.pl, en lui passant la requête reçu en argument, donc en particulier la ressource demandé : /elfe/dislikedwarf.html. Le processus renvoie un résultat, que le serveur enrobe dans une réponse pour l envoyer au client

Exemple Introduction Evolution du web Principe du web dynamique côté serveur serveur web zongodyn.n7.fr, associé à la configuration : toute les ressources commençant par /elfe/ sont traitées par le processus salade.pl, ici un script perl. client :requête de type GET pour l URL http://zongo.n7.fr/elfe/dislikedwarf.html serveur : exécute le processus salade.pl, en lui passant la requête reçu en argument, donc en particulier la ressource demandé : /elfe/dislikedwarf.html. Le processus renvoie un résultat, que le serveur enrobe dans une réponse pour l envoyer au client

Plan Introduction 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

J2EE : collection de produits J2EE : Java Edition Entreprise : nom commercial de SUN JVM orienté serveur : beaucoup de thread, usage mémoire ensemble de libraires : Servlet, JSP, XML, EJB, XML-RPC, RMI, SOAP... Serveur d application nécessaire pour l exécution des servlets, des jsp et des ejb Nombreux produits libre et de qualité par la fondation Apache. ensemble de normes, en particulier : norme pour les serveurs d application

Servlet Introduction classe Java implémentant une interface définie dans la librairie servlet.jar, correspondant à une norme SUN. exécutée par un serveur d appliation pour générer la réponse à une requête

JSP Introduction Java Server Pages document texte base : langage à balises, HTML ou XML introduction de tags dynamiques exécutée par un serveur d application pour générer la réponse à une requête, et donc idem Servlet

Plan Introduction 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

en Java Conteneur d'applications Client Client Serveur Request Response JSDK Contexte JavaBean JVM Moteur de servlets Servlets déclinaison en Java d un serveur dynamique au cœur : une JVM Client ServletConfig JSPs

Principe de traitement des requêtes 1 requête Client 6 réponse Serveur J2EE 5 décodage obj->res création 2 encodage req->obj 2 3 appel Res Req 4 4 Servlet/ JSP JVM 1 réception de la requête 2 création de l objet réponse création de l objet requête 3 appel de la Servlet/JSP associée au nom de ressource demandée 4 la classe associée s exécute, en accédant aux objets requête et réponse. 5 le serveur décode l objet réponse, et crée une réponse 6 la réponse est renvoyée au client

Application J2EE Introduction ensemble de fichiers nécessaire à l exécution statique : html, txt, images... dynamique : servelts et jsp librairies utilisées : classes java, libraire.jar fichier de configuration : définition du nom utilisé pour appeler les serlets

Serveur J2EE Introduction plusieurs applications dans des contextes différents contexte : nom utilisé dans l URL pour désigner l application répertoire local contenant les fichiers de l application configuration associé à cette application sert du contenu statique (fichiers) et dynamique (servlet, jsp) configuration générale : nom du serveur, port d écoute...

Plan Introduction 1 Introduction Objectfis du cours Plan du cours 2 3 4 Evolution du web Principe du web dynamique côté serveur 5

Organisation des fichiers racine -- WEB-INF -- classes -- Titi.class -- Toto.class -- lib -- UtilClass.class -- util.jar -- web.xml -- first.jsp -- index.html -- subrep -- autre.html -- second.jsp arborescence à racine unique présence d un répertoire WEB-INF à la racine fichie de configuration : web.xml classes Java dans le répertoire WEB-INF/classes librairies dans WEB-INF/lib

Ressources d une applications Ressource : nom pouvant être utilisé dans une URL tous les noms de fichiers à l extérieur de WEB-INF le contenu de WEB-INF n est pas accessible association nom/servlet dans web.xml

Déploiement et exécution A faire sur le serveur : définition du contexte : nom et emplacement des fichiers installation des fichiers de l application Exécution à partir d un client (navigateur web) : former l URL regarder le résultat serveur contexte http://fourmi:8080/appli/servlet1 fourmi:8080 /appli /servlet1 ressource

Exemple : côté développeur Application fournie par le développeur : -- WEB-INF -- classes -- MyClass.class -- web.xml -- index.hml Ressources de cette application : ressource statique : index.html ressource dynamique : serv1 défini dans web.xml comme associé à l exécution de MyClass.class

Côté administrateur du serveur Configuration choisie par l adminstrateur du serveur : config réseau serveur : @IP, nom DNS, port d écoute, e.g zongo:8080 nom du contexte : /appli_j2ee/applipierrot dossier où trouver les fichiers : /home/pierrot/j2ee/zongo

Exemple : exécution URL de base de l application : http://zongo:8080/appli_j2ee/applipierrot exécution de la ressource statique : http://zongo:8080/ appli_j2ee/applipierrot/index.html fichier index.html récupéré et affiché sur le client exécution de la ressource dynamique : http://zongo:8080/ appli_j2ee/applipierrot/serv1 Le serveur exécute MyClass.class, et le résultat est renvoyé au client pour traitement local. autre nom de ressource : erreur de type 404, Document non trouvé.