Applications et Services WEB: Introduction à JavaEE

Documents pareils
Applications et Services WEB: Architecture REST

4. SERVICES WEB REST 46

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.

Développement des Systèmes d Information

Introduction aux «Services Web»

Application Web et J2EE

Programmation Web. Introduction

Web Tier : déploiement de servlets

Mise en œuvre des serveurs d application

Architecture Orientée Service, JSON et API REST

Module BD et sites WEB

Les services usuels de l Internet

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

Petite définition : Présentation :

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

Architectures web/bases de données

Cisco Certified Network Associate

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

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

Principe de la messagerie électronique

Architectures Web Services RESTful

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

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

BPEL Orchestration de Web Services

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

Utilisation de Jakarta Tomcat

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Les Architectures Orientées Services (SOA)

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

18 TCP Les protocoles de domaines d applications

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programmation Internet Cours 4

Messagerie asynchrone et Services Web

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

Le développement d applications Web

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Serveurs de noms Protocoles HTTP et FTP

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

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Le cadre des Web Services Partie 1 : Introduction

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Formation en Logiciels Libres. Fiche d inscription

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

Hébergement de sites Web

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Hébergement de site web Damien Nouvel

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

Formation : WEbMaster

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

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

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

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Fonctionnement d Internet

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Architectures n-tiers Intergiciels à objets et services web

Groupe Eyrolles, 2004, ISBN :

Système Principal (hôte) 2008 Enterprise x64

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

Catalogue des Formations Techniques

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

Nos stages s'adressent à tous ceux qui ont besoin d'acquérir des bases, une mise à niveau ou un perfectionnement dans les thèmes suivants :

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Mise à jour : Octobre 2011

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

1.Introduction - Modèle en couches - OSI TCP/IP

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Environnements de Développement

les techniques d'extraction, les formulaires et intégration dans un site WEB

Travaux Pratiques Introduction aux réseaux IP

JOnAS 5. Serveur d application d

Urbanisme du Système d Information et EAI

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Formation Webmaster : Création de site Web Initiation + Approfondissement

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

4D WebStar. WebStar, leader des serveurs internet sur Macintosh. Olivier Deschanels Simil Guetta Doug Finley. 4D WebStar. Histoire de WebStar

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

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

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

ADMINISTRATION DE RESEAUX SOUS LOGICIEL «OPEN SOURCE»


Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Comment mettre en place un réseau sécurisé de téléradiologie à moindre coût?

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Protocoles Applicatifs

1. La plate-forme LAMP

Sécurité des Web Services (SOAP vs REST)

La tête dans les nuages

FileMaker Server 12. publication Web personnalisée avec XML

BES WEBDEVELOPER ACTIVITÉ RÔLE

Supervision de réseau

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

W4 - Workflow La base des applications agiles

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

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

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Transcription:

Applications et Services WEB: à Erick Stattner Maître de conférences en Informatique Université des Antilles France erick.stattner@univ-ag.fr Erick Stattner Applications et Services WEB: à 1 / 49

Description du cours Objectif: Se familiariser avec la notion d applications et de services WEB Être capables: Savoir ce qu est un service WEB Développer et déployer un service Concevoir une application qui exploite plusieurs services Erick Stattner Applications et Services WEB: à 2 / 49

Description du cours Organisation de l enseignement: CI: 15h Service REST TD/TP: 15H Modalités d évaluation de l UE: Contrôle continu Projet global Erick Stattner Applications et Services WEB: à 3 / 49

Outline Le web en chiffre Contexte Solution 1 Le web en chiffre Contexte Solution 2 3 Erick Stattner Applications et Services WEB: à 4 / 49

Le web en chiffre Le web en chiffre Contexte Solution Figure: source: internetlivestats, internetworldstats Erick Stattner Applications et Services WEB: à 5 / 49

Le web en chiffre Le web en chiffre Contexte Solution Vers une escalade des périphériques connectés Ordinateur/Serveur Téléphone/Tablette Montre Lunettes Télé Voiture Maison Electro-ménager... Erick Stattner Applications et Services WEB: à 6 / 49

Le web en chiffre Le web en chiffre Contexte Solution Vers une escalade des périphériques connectés Figure: Source: Le Figaro 11/04/2013 Erick Stattner Applications et Services WEB: à 7 / 49

Contexte Le web en chiffre Contexte Solution Contexte L informatique d entreprise est de plus en plus répartie ex. classique: Agence de voyage (réserver billet, hôtel, voiture). Hétérogénéité des périphériques oblige a proposer des solutions adaptatives ("Responsive design"). ex. Consultation de son compte (pc, tel, tablette) Décentraliser les calculs ex. problème consommation (tablette, tel, montre, lunettes, etc.) Différents besoins ex. Affichage, statistiques, simulation,... Erick Stattner Applications et Services WEB: à 8 / 49

Contexte Le web en chiffre Contexte Solution Contexte Erick Stattner Applications et Services WEB: à 9 / 49

Solution Le web en chiffre Contexte Solution Solution idéale: Architecture adaptative ex. Appli bancaire accessible de différents clients Système de communication ouvert ex. Information lisible et interprétable par tous les clients Client va traiter et afficher les données selon ses besoins Solution Services WEB! Erick Stattner Applications et Services WEB: à 10 / 49

Outline 1 2 3 Erick Stattner Applications et Services WEB: à 11 / 49

Application VS Service WEB? Erick Stattner Applications et Services WEB: à 12 / 49

Application Exploite un ou plusieurs services Offre plusieurs fonctionnalités Propose généralement un rendu graphique Service Limité à une opération élémentaire Fournit des données brutes ou formatées Généralement pas de rendu graphique Utilisés dans plusieurs applications Peut faire appel à d autres services Erick Stattner Applications et Services WEB: à 13 / 49

Erick Stattner Applications et Services WEB: à 14 / 49

Selon le Wikipedia: Une application Web (aussi appelée WebApp) est une application manipulable grâce à un navigateur Web. Elle est généralement placée sur un serveur et se manipule à travers une Interface en actionnant des widgets à l aide d un navigateur Web, via un réseau informatique (Internet, intranet, réseau local, etc.). Exemples? Erick Stattner Applications et Services WEB: à 15 / 49

Exemple Application WEB Erick Stattner Applications et Services WEB: à 16 / 49

Exemple Application WEB Erick Stattner Applications et Services WEB: à 17 / 49

Exemple Application WEB Erick Stattner Applications et Services WEB: à 18 / 49

Selon le Wikipedia: Un service web est un programme informatique de la famille des technologies web permettant la communication et l échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s agit donc d un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, de manière synchrone ou asynchrone. Erick Stattner Applications et Services WEB: à 19 / 49

Selon le W3C (World Wide Web Consortium) A web service is a system designed to support machine-to-machine interaction over a network. It has an interface that can be discovered dynamically and which is described in a machine-processable format. Erick Stattner Applications et Services WEB: à 20 / 49

Selon le Dico du net Un service web est une technologie permettant à des applications de dialoguer à distance via Internet, indépendamment des plates-formes et des langages sur lesquelles elles reposent. Erick Stattner Applications et Services WEB: à 21 / 49

Pus généralement: Un service Web est un programme sollicité via Internet par différents type de clients, permettant l échange de données afin que l application appelante puisse intégrer le résultat de cet échange à ses propres analyses. Les requêtes et les réponses s effectuent dans des formats ouverts (HTML, XML, JSON ou text) et transitent par Internet. Exemples? Erick Stattner Applications et Services WEB: à 22 / 49

Principales caractéristiques: Fonctionnalité utilisable via Internet Inter-opérables: Interface publique décrite d une manière interprétable par tous Systèmes faiblement couplés, client ne connaît pas forcément le fournisseur Le transport des données repose sur des "protocoles du WEB": HTTP, FTP, SMTP,... Standard ouvert: Échange de données s effectue dans un format standard XML, JSON, HTML, Text,... Le client est chargé d analyser, traiter et/ou afficher les données reçues Indépendante des plates-formes et des langages Erick Stattner Applications et Services WEB: à 23 / 49

Principe de base Erick Stattner Applications et Services WEB: à 24 / 49

Client 1 Prend connaissance des interfaces publiques 2 Construit la requête et la normalise en respectant les interfaces (XML, JSON, Text) 3 Envoie la requête (protocole du WEB, ex. HTTP) 4 Reçoit les données, les interprète (XML) 5 Traite localement (affichage, calculs, etc.) Erick Stattner Applications et Services WEB: à 25 / 49

Serveur 1 Définit ses interfaces (XML, WSDL, etc.) 2 Reçoit les requêtes 3 Les traduit et effectue le bon traitement 4 Normalise la réponse et envoie le résultat au client (HTML, XML, JSON) Erick Stattner Applications et Services WEB: à 26 / 49

Exemple 1: Actualités Erick Stattner Applications et Services WEB: à 27 / 49

Exemple 1: Actualités Erick Stattner Applications et Services WEB: à 28 / 49

Exemple 2: Analyse des données Erick Stattner Applications et Services WEB: à 29 / 49

Exemple 2: Analyse des données Erick Stattner Applications et Services WEB: à 30 / 49

Autres exemples: Réduction d URL (goo.gl, TinyURL, bit.ly, etc.) Analyse d adresses mail Association de codes postaux http://www.erickstattner.com/?page_id=21 goo.gl/skv0hf es@es INCORRECT 97190 Le Gosier Erick Stattner Applications et Services WEB: à 31 / 49

De nombreux services proposés par Google https://developers.google.com/apis-explorer/#p/ Analyse de données Traduction Réduction d URL Statistique fréquentation site web etc. Erick Stattner Applications et Services WEB: à 32 / 49

Outline Fonctionnement 1 2 3 Fonctionnement Erick Stattner Applications et Services WEB: à 33 / 49

Fonctionnement Java Enterprise Edition, ou (anciennement J2EE) Version de JAVA pour les entreprises Plus particulièrement à destination des appli et services WEB Première spécification proposée en 1999 Basée sur la notion de Servlet Nécessite un serveur d applications ("serveur Java") Apache Tomcat (Apache) GlassFish Server (Oracle) Google App Engine (Google) JBoss App. Server (Red Hat)... Erick Stattner Applications et Services WEB: à 34 / 49

Fonctionnement Servlet Composant logiciel écrit en Java fonctionnant coté serveur Assimilable a: PHP, ASP, etc. Reçoit et traite les requêtes HTTP Fournit au client une réponse HTTP Une Servlet s exécute dans un moteur (ou conteneur) de Servlets Établit le lien entre la Servlet et le serveur Web Associe à des URL virtuelles une Servlet Tout comme un programme JAVA, la Servlet s exécute par l intermédiaire d une machine virtuelle Nécessite que java soit installé sur le serveur Pas nécessaire sur le client Erick Stattner Applications et Services WEB: à 35 / 49

Fonctionnement Principe Erick Stattner Applications et Services WEB: à 36 / 49

Fonctionnement Intérêt Puissance du JAVA Disponibilités de l API Java et des toutes les API liées Traitement d images, de sons, connexion aux bases de données, chiffrement, graphisme, etc. Gestion des erreurs par exception Typage fort de JAVA Technologie portable Ajout de Une servlet est chargée une seule fois Servlet peut conserver son état Erick Stattner Applications et Services WEB: à 37 / 49

Fonctionnement Structure d une application Erick Stattner Applications et Services WEB: à 38 / 49

Fonctionnement Fonctionnement Coté serveur Mise en place d une servlet nécessite deux étapes: 1 Routage des requêtes à l aide du fichier web.xml 2 Traitement des informations par la Servlet Erick Stattner Applications et Services WEB: à 39 / 49

Fonctionnement Fonctionnement Coté serveur: 1) web.xml OBLIGATOIREMENT situé a la racine du dossier WEBINF ATTENTION Un seul fichier par application/projet Regroupe l ensemble des informations de fonctionnement de l application Permet d associer une chemin (URL) à une servlet La servlet ainsi spécifiée sera chargée du traitement de la requête Erick Stattner Applications et Services WEB: à 40 / 49

Fonctionnement Fonctionnement Coté serveur: 1. web.xml Squelette classique fichier web.xml Erick Stattner Applications et Services WEB: à 41 / 49

Fonctionnement Fonctionnement Coté serveur: 1. web.xml Association de plusieurs chemins Deux pointeurs vers une même servlet Erick Stattner Applications et Services WEB: à 42 / 49

Fonctionnement Fonctionnement Coté serveur: 1. web.xml Utilisation de meta-caractères Erick Stattner Applications et Services WEB: à 43 / 49

Fonctionnement Fonctionnement Coté serveur: 2. Servlet Une Servlet doit hériter de HttpServlet Reçoit et traite les requêtes Lit la méthode HTTP dans le paquet Transmet à la méthode appropriée Squelette classique: Erick Stattner Applications et Services WEB: à 44 / 49

Fonctionnement Fonctionnement Coté serveur: 2. Servlet HttpServlet fournit plusieurs méthodes de traitement des requetes Nom construit sur la meme base doxxx(...) doget(...): pour les requêtes de type GET dopost(...): pour les requêtes de type POST doput(...): pour les requêtes de type PUT dodelete(...): pour les requêtes de type DELETE Si non redéfinies, les méthodes doxxx(...) renvoie une erreur de type HTTP 405 Erick Stattner Applications et Services WEB: à 45 / 49

Fonctionnement Fonctionnement Coté serveur: 2. Servlet Quelle que soit la méthode, on dispose toujours de deux types d objets pour chaque requête Un objet de requête: contexte de la requête (entete, parametre, url, navig, etc.) + info sur le client (navigateur, IP, etc.) Un objet de réponse: qui permet de renvoyer des données au client (type de contenu, code de retour, données, etc.) Erick Stattner Applications et Services WEB: à 46 / 49

Fonctionnement Fonctionnement Coté serveur: 2. Servlet Méthodes utiles sur l objet requête: (http://goo.gl/eighgk) getmethod() getparameter(string name) getrequesturi() getrequesturl() getquerystring() getparameternames()... Méthodes utiles sur l objet reponse: (http://goo.gl/lriilh) getwriter() setstatus() setcontenttype() sendredirect()... Erick Stattner Applications et Services WEB: à 47 / 49

Fonctionnement Fonctionnement Coté serveur: 2. Servlet et cycle de vie Exemple de servlet traitant les informations reçues Erick Stattner Applications et Services WEB: à 48 / 49

Fonctionnement Fonctionnement Coté serveur: 2. Servlet et cycle de vie Exemple La servlet n est créée qu une fois, i.e. une seule instance A chaque fois que le serveur est relancé, le conteneur de servlet est réinitialisé et il y a création d une nouvelle instance Cette instance traite toutes les requetes Avantages Rapidité: pas cout lié à la création d un nouvel objet à chaque requete Possibilité de conserver des données entre les requetes Erick Stattner Applications et Services WEB: à 49 / 49