Appli et Services WEB: Architecture REST



Documents pareils
Applications et Services WEB: Architecture REST

4. SERVICES WEB REST 46

Architecture Orientée Service, JSON et API REST

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

Les Architectures Orientées Services (SOA)

Architectures Web Services RESTful

Application Web et J2EE

Introduction aux «Services Web»

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

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.

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

Programmation Web. Introduction

Petite définition : Présentation :

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

Mise en œuvre des serveurs d application

Bien architecturer une application REST

Architectures web/bases de données

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

Serveurs de noms Protocoles HTTP et FTP

Les services usuels de l Internet

Programmation Internet Cours 4

Programmation Web Avancée Introduction aux services Web

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Web Tier : déploiement de servlets

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

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

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

Module BD et sites WEB

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

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

Utilisation de Jakarta Tomcat

Introduction à Microsoft InfoPath 2010

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

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

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

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Architectures d'intégration de données

MailStore Server 7 Caractéristiques techniques

Développement d'un logiciel VoIP BlackBerry

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

Plateforme PAYZEN. Définition de Web-services

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

18 TCP Les protocoles de domaines d applications

Fonctionnement d Internet

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

Travail collaboratif. Glossaire

Les outils de création de sites web

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)

Introduction aux. services web 2 / 2

Urbanisme du Système d Information et EAI

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Environnements de Développement

Services Réseaux - Couche Application. TODARO Cédric

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Technologies pour Web Services faciles : REST, JSON

Suite Jedox La Business-Driven Intelligence avec Jedox

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

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

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Présentation Internet

Protocoles Applicatifs

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

Formation en Logiciels Libres. Fiche d inscription

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

Catalogue des formations Edition 2015

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Le développement d applications Web

Compte Rendu d intégration d application

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

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

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

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

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

Cisco Certified Network Associate

Chapitre : Les Protocoles

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Hébergement de sites Web

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

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

A. Architecture du serveur Tomcat 6

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Solution de fax en mode Cloud

Web des services : REST

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Dans l'épisode précédent

Cours CCNA 1. Exercices

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Urbanisation des Systèmes d'information

... Cahier des charges Site Internet Office de Tourisme Lesneven - Côte des Légendes MAITRE D OUVRAGE

L3 informatique Réseaux : Configuration d une interface réseau

FileMaker Server 12. publication Web personnalisée avec XML

Catalogue Formations Jalios

WebSSO, synchronisation et contrôle des accès via LDAP

Solutions de gestion de la sécurité Livre blanc

Transcription:

Appli et : Erick Stattner LAMIA Laboratory University of the French West Indies and Guiana, France erick.stattner@univ-ag.fr Guadeloupe, 2013 Erick Stattner Appli et : 1 / 78

Description du cours Objectif: Se familiariser avec la notion de services Web Être capables: Savoir ce qu est un service WEB Développer et déployer un service Identifier et mettre en place des protocoles de communication Solliciter un service avec des clients quelconques Erick Stattner Appli et : 2 / 78

Description du cours Organisation de l enseignement: CI: 8h TP: 15H Modalités dévaluation de l UE: Note de projet Erick Stattner Appli et : 3 / 78

Outline Le web en chiffre Contexte Problématique 1 Le web en chiffre Contexte Problématique 2 3 4 Erick Stattner Appli et : 4 / 78

Le web en chiffre Le web en chiffre Contexte Problématique Erick Stattner Appli et : 5 / 78

Le web en chiffre Le web en chiffre Contexte Problématique Vers une escalade des périphériques connectés Ordinateur/Serveur Téléphone/Tablette Montre Lunette Télé Voiture Electro-ménager... Erick Stattner Appli et : 6 / 78

Le web en chiffre Le web en chiffre Contexte Problématique Vers une escalade des périphériques connectés Figure: Source: Le Figaro 11/04/2013 Erick Stattner Appli et : 7 / 78

Contexte Le web en chiffre Contexte Problématique Contexte L informatique d entreprise est de plus en plus répartie ex. classique: Agence de voyage (réserver billet, hôtel, voiture). Facilité par de nombreuses API ex. Messages twitter affichés sur un site Hétérogénéité des périphériques obligent a proposer des solutions adaptatives ("Responsive design"). ex. Consultation de son compte (pc, tel, tablette) Différents besoins ex. Affichage, statistiques, simulation,... Erick Stattner Appli et : 8 / 78

Contexte Contexte Le web en chiffre Contexte Problématique Erick Stattner Appli et : 9 / 78

Problématique Le web en chiffre Contexte Problématique Problématiques soulevées Capacité de stockage/calculs ex. téléphones portables Hétérogénéité des modes d affichage ex. classique: Téléphone VS Tablette Différents modes de communications ex. HTTP, XML, JSON, Text, format propriétaire, etc. Informations réparties sur différents sites ex. Agence de voyage Hétérogénéité des besoins ex. Statistique, visualisation, etude comportement, etc... Erick Stattner Appli et : 10 / 78

Problématique Le web en chiffre Contexte Problématique Solution idéale Architecture adaptative ex. Appli bancaire communique avec différents clients Système de communication ouvert ex. Information lisible et interprétable par tous les clients Client va traiter les données Solution! Erick Stattner Appli et : 11 / 78

Outline Application VS Service WEB Exemples de service WEB 1 2 Application VS Service WEB Exemples de service WEB 3 4 Erick Stattner Appli et : 12 / 78

Application VS Service WEB Application VS Service WEB Exemples de service WEB Application VS Service WEB? Erick Stattner Appli et : 13 / 78

Application VS Service WEB Application VS Service WEB Exemples de service WEB Application Combinaison de plusieurs services Effectue plusieurs opérations métiers Propose généralement un rendu graphique Service Limité à une opération métier/action élémentaire Généralement pas de rendu graphique Peut faire appel à d autres services Erick Stattner Appli et : 14 / 78

Application VS Service WEB Application VS Service WEB Exemples de service WEB Application VS Service WEB Erick Stattner Appli et : 15 / 78

Application VS Service WEB Exemples de service WEB 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 en actionnant des widgets à l aide d un navigateur Web, via un réseau informatique (Internet, intranet, réseau local, etc.). Exemples? Erick Stattner Appli et : 16 / 78

Application VS Service WEB Exemples de service WEB Selon le Wikipedia: A web service is a method of communication between two electronic devices over the World Wide Web. A web service is a software function provided at a network address over the web or the cloud. Erick Stattner Appli et : 17 / 78

Application VS Service WEB Exemples de service WEB 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 Appli et : 18 / 78

Application VS Service WEB Exemples de service WEB Selon le Dico du net Technologie permettant à des applications de dialoguer à distance via Internet, indépendamment des plates-formes et des langages sur lesquelles elles reposent. Erick Stattner Appli et : 19 / 78

Application VS Service WEB Exemples de service WEB 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 Appli et : 20 / 78

Application VS Service WEB Exemples de service WEB 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 Appli et : 21 / 78

Principe de base Application VS Service WEB Exemples de service WEB Erick Stattner Appli et : 22 / 78

Application VS Service WEB Exemples de service WEB 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 Appli et : 23 / 78

Application VS Service WEB Exemples de service WEB 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 Appli et : 24 / 78

Exemples de service WEB Exemple 1: Actualités Application VS Service WEB Exemples de service WEB Erick Stattner Appli et : 25 / 78

Exemples de service WEB Exemple 1: Actualités Application VS Service WEB Exemples de service WEB Erick Stattner Appli et : 26 / 78

Exemples de service WEB Application VS Service WEB Exemples de service WEB Exemple 2: Analyse des données Erick Stattner Appli et : 27 / 78

Exemples de service WEB Application VS Service WEB Exemples de service WEB Exemple 2: Analyse des données Erick Stattner Appli et : 28 / 78

Exemples de service WEB Application VS Service WEB Exemples de service WEB 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 Appli et : 29 / 78

Exemples de service WEB Application VS Service WEB Exemples de service WEB 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 Appli et : 30 / 78

Application VS Service WEB Exemples de service WEB Deux grandes familles d architecture pour les services WEB SOAP-based architecture Protocole de communications pour des systèmes distribués. Il est décrit en XML et standardisé par le W3C. Il encapsule les données échangées dans une enveloppe qui peut-être signée et contenir des pièces jointes. RESTFul architecture REST (Representational State Transfer) est un style architecture de services Web Introduite en 2000 par Roy Fiedling dans sa thèse de doctorat. REST est une "méthodologie" pour la construction d une application pour les services WEB. Erick Stattner Appli et : 31 / 78

Application VS Service WEB Exemples de service WEB SOAP-based architecture A l origine "Simple Object Access Protocol" Basé sur 3 acteurs principaux Fournisseur de service Annuaire Client Erick Stattner Appli et : 32 / 78

Application VS Service WEB Exemples de service WEB SOAP-based architecture Erick Stattner Appli et : 33 / 78

Application VS Service WEB Exemples de service WEB Service provider Définit le service et ses interfaces Publie sa description dans l annuaire Effectue le traitement Renvoie la réponse Erick Stattner Appli et : 34 / 78

Application VS Service WEB Exemples de service WEB Annuaire Maintient à jour une liste de services Reçoit et enregistre la description des services Reçoit et répond aux recherches de service Erick Stattner Appli et : 35 / 78

Application VS Service WEB Exemples de service WEB Programme client Obtient la description du service Fait la requête auprès du fournisseur de service Reçoit et traite le réponse Erick Stattner Appli et : 36 / 78

Application VS Service WEB Exemples de service WEB RESTFul architecture REST: REpresentational State Transfer Façon de concevoir une application Définit un ensemble de contraintes pour l accès et la manipulation des données Structure l application en différentes ressources Architecture orientée ressource Se base uniquement sur le protocole HTTP Basé sur le principe client/serveur Erick Stattner Appli et : 37 / 78

Application VS Service WEB Exemples de service WEB RESTFul architecture Erick Stattner Appli et : 38 / 78

Application VS Service WEB Exemples de service WEB SOAP VS REST Erick Stattner Appli et : 39 / 78

Application VS Service WEB Exemples de service WEB SOAP VS REST Erick Stattner Appli et : 40 / 78

Application VS Service WEB Exemples de service WEB Bilan SOAP Inconvenients Performances (encapsulation SOAP des données) Complexité, lourdeur de la mise en place/maintenance Cible l appel de service Avantages Standardisé Interopérabilité Sécurité (Possibilité de chiffrer mess. SOAP: WS-Security) Erick Stattner Appli et : 41 / 78

Application VS Service WEB Exemples de service WEB Bilan REST Inconvenients Pas vraiment de standard Sécurité restreinte par l emploi du HTTP Avantages Simplicité mise en place/maintenance Repose sur des principes éprouvés (WEB) Services facilement identifiables Erick Stattner Appli et : 42 / 78

Application VS Service WEB Exemples de service WEB SOAP VS REST Erick Stattner Appli et : 43 / 78

Outline Présentation Interfaces et représentations Outils 1 2 3 Présentation Interfaces et représentations Outils 4 Erick Stattner Appli et : 44 / 78

Présentation Présentation Interfaces et représentations Outils Présentation REST: REpresentational State Transfer Style d architecture protocole de comm. (SOAP) Décrit par Roy Thomas Fielding dans sa thèse, chp 5, 2000 "Architectural Styles and the Design of Network-based Software Architectures" Principaux acteur de la spef. du HTTP Membre fondateur de la fondation Apache Dev. du serveur WEB Apache Style d architecture inspiré du WEB Architecture orientée ressource Erick Stattner Appli et : 45 / 78

Présentation Présentation Interfaces et représentations Outils Présentation Utilisé pour développer des Dans la littérature Architectures orientées ressources (ROA) Architectures orientées données (DOA) Quand une application respecte ces principes: RESTFul Les services WEB avec REST sont sans états (Stateless) Pas de mémoire des requêtes antérieures Chaque requête envoyée doit contenir toutes les informations nécessaire au traitement Erick Stattner Appli et : 46 / 78

Présentation Présentation Interfaces et représentations Outils 3 concepts majeurs: (Identifiant) Identifiée par une URI Exemple: http://achats.com/livre/sf/harry-potter Méthodes (Verbes) Action à effectuer sur la ressource Méthodes HTTP: GET, POST, PUT et DELETE Représentation (Vue de la ressource ou de son état) Informations échangées avec le service TEXT, XML, JSON,... Erick Stattner Appli et : 47 / 78

Présentation Interfaces et représentations Outils Ressource Tout ce qui est identifiable/manipulable dans le système Document, Image, Personne, Le montant du compte d un client, etc. Identifié de manière unique par un lien (URI) Une ressource peut avoir plusieurs URI Une URI identifie une seule ressource (ou un seul groupe de ressources) Construite de façon hiérarchique La représentation d une ressource peut évoluer avec le temps Lié au temps: ex. Dernier article Modification structure: ex. Ajout d un champ Erick Stattner Appli et : 48 / 78

Présentation Interfaces et représentations Outils Structure classique Structure hiérarchique Construction classique http://domaine.com/<plus général>/../<plus spécifique> Exemples d URIs /livre/sf /livre/sf/harrypotter/ /livre/sf/harrypotter/5 /livre/sf/harrypotter/l_ordre_du_phenix /livre/sf/harrypotter/5/année /livre/aventure/meilleur_vente /livre/search/50_nuances Erick Stattner Appli et : 49 / 78

Interfaces et représentations Présentation Interfaces et représentations Outils Interfaces Tous les services WEB basés sur REST REST fournit une interface uniforme Chaque ressource peut subir 4 opérations de base (CRUD) Create (creer) Retrieve (Lire) Update (MAJ) Delete (Supp.) REST s appuie sur HTTP pour exprimer les opérations via les méthodes HTTP POST (creer) GET (Lire) PUT (MAJ) DELETE (Supp.) Erick Stattner Appli et : 50 / 78

Interfaces et représentations Présentation Interfaces et représentations Outils Exemples: Attention GET: /livre/sf/harrypotter/ POST: /livre/sf/harrypotter/ PUT: /livre/sf/harrypotter/2 DELETE: /livre/sf/harrypotter/2 Toutes les méthodes ne sont pas obligés d être implémentées! Ex. POST: /livre/sf Erick Stattner Appli et : 51 / 78

Interfaces et représentations Présentation Interfaces et représentations Outils Rappel: METHODE URL VERSION<crlf> EN-TETE : Valeur<crlf>... EN-TETE : Valeur<crlf> Ligne vide<crlf> CORPS DE LA REQUETE Exemple: GET http://www.commentcamarche.net HTTP/1.0 Accept : text/html If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Erick Stattner Appli et : 52 / 78

Interfaces et représentations Présentation Interfaces et représentations Outils Représentation: Format d échanges des données Le client (GET) Pour le serveur (PUT ou POST) Généralement: TEXT, JSON, XML, HTML, CSV Le format d entrée (POST) et de sortie (GET) d une même ressource peut varier Erick Stattner Appli et : 53 / 78

Interfaces et représentations Présentation Interfaces et représentations Outils Exemple: Erick Stattner Appli et : 54 / 78

Outils Présentation Interfaces et représentations Outils Outils Advanced REST client: Chrome Poster: Firefox API (Client/Serveur) PHP (Voir http://davss.com/tech/php-rest-api-frameworks/) CURL HttpFul Epiphany Frapi... Java/JavaEE (JAX-RS) Jersey RESTeasy Restlet... Erick Stattner Appli et : 55 / 78

Outline Coté serveur Coté client 1 2 3 4 Coté serveur Coté client Erick Stattner Appli et : 56 / 78

Coté serveur Coté client JavaEE Java Enterprise Edition, ou JavaEE (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é sur la notion de Servlet Nécessite un "serveur Java" tel que Apache Tomcat Erick Stattner Appli et : 57 / 78

Coté serveur Coté client Servlet Composant logiciel écrit en Java fonctionnant coté serveur Assimilable a: PHP, ASP, etc. Reçoit et traite les requêtes HTTP Fournir au client une réponse HTTP Une Servlet s exécute dans un moteur (ou conteneur) de Servlet Établi le lien entre la Servlet et le serveur Web Généralement transparent Tout comme un programme JAVA, la Servlet s exécute par l intermédiaire d une machine virtuelle Erick Stattner Appli et : 58 / 78

Coté serveur Coté client Principe Erick Stattner Appli et : 59 / 78

Coté serveur Coté client Structure d une application JavaEE Erick Stattner Appli et : 60 / 78

Coté serveur Coté serveur Coté client Coté serveur Mise en place d une servlet nécessite deux étape: 1 Routage des requêtes à l aide du web.xml 2 Traitement des informations par la servlet Erick Stattner Appli et : 61 / 78

Coté serveur Coté serveur Coté client 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 spécifiée sera chargée du traitement de la requête Erick Stattner Appli et : 62 / 78

Coté serveur Coté serveur Coté client Coté serveur: 1. web.xml Squelette classique fichier web.xml Erick Stattner Appli et : 63 / 78

Coté serveur Coté serveur Coté client Coté serveur: 1. web.xml Association de plusieurs chemins Deux pointeurs vers une même servlet Erick Stattner Appli et : 64 / 78

Coté serveur Coté serveur Coté client Coté serveur: 1. web.xml Utilisation de meta-caractères Erick Stattner Appli et : 65 / 78

Coté serveur Coté serveur Coté client Coté serveur: 1. web.xml Comment l utiliser dans le cas d un service WEB REST? Erick Stattner Appli et : 66 / 78

Coté serveur Coté serveur Coté client Coté serveur: 2. Servlet Reçoit et traite les requêtes Une Servlet doit hériter de HttpServlet Squelette classique: Erick Stattner Appli et : 67 / 78

Coté serveur Coté serveur Coté client Coté serveur: 2. Servlet HttpServlet fournit plusieurs méthodes Pour traiter les requêtes Http doget(...) définit les actions à mener pour les requêtes de type GET dopost(...) définit les actions à mener pour les requêtes de type POST doput(...) définit les actions à mener pour les requêtes de type PUT dodelete(...) définit les actions à mener pour les requêtes de type DELETE Erick Stattner Appli et : 68 / 78

Coté serveur Coté serveur Coté client 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, navig, etc.) Un objet de réponse: qui permet de renvoyer des données au client Erick Stattner Appli et : 69 / 78

Coté serveur Coté serveur Coté client Coté serveur: 2. Servlet Méthodes utiles sur l objet requête: getparameter(string name) getrequesturi() getrequesturl() getquerystring() getparameternames()... Méthodes utiles sur l objet reponse: getwriter() setstatus() setcontenttype() sendredirect()... Erick Stattner Appli et : 70 / 78

Coté serveur Coté serveur Coté client Coté serveur: 2. Servlet Exemple de servlet traitant les informations reçues Erick Stattner Appli et : 71 / 78

Coté serveur Coté serveur Coté client Coté serveur: 2. Servlet Comment l utiliser dans le cas d un service WEB REST? Erick Stattner Appli et : 72 / 78

Coté client Coté serveur Coté client Coté client Difficulté: Comment modifier la nature des méthodes HTTP? Habitués à deux type de méthodes? Exemple PHP: <form action="..." method="post ou GET">... < /form> Problème: Vous ne pouvez pas appeler PUT ou DELETE avec votre navigateur habituel Paradoxalement, les serveurs sont capables de gérer les appels a PUT ou DELETE Mais pas de procédure standard en HTML classique Erick Stattner Appli et : 73 / 78

Coté client Coté serveur Coté client Coté client Deux solutions: 1 Inventer une convention pour représenter PUT et DELETE Passage de paramètres Ex. /livre/sf/parrypotter/2/?action=maj ou supp Ajout dans l url Ex. /maj/livre/sf/parrypotter/2 Ex. /supp/livre/sf/parrypotter/2 2 Utiliser API capables de modifier la méthode des paquets Http Ex. PHP: Curl, HttpFul, Epiphany, Frapi, etc. Ex. Java: HttpURLConnection, JAX-RS, etc. Erick Stattner Appli et : 74 / 78

Coté client Coté serveur Coté client Coté client: exemple GET Erick Stattner Appli et : 75 / 78

Coté client Coté serveur Coté client Coté client: exemple POST Erick Stattner Appli et : 76 / 78

Coté serveur Coté client A lire aussi: SOAP vs REST: Choisir la bonne architecture web service http://goo.gl/mrrfcw Comprendre le style d architecture REST http://goo.gl/mktkbp Comment j ai expliqué REST à ma femme http://goo.gl/o1o2dc Apprendre REST - un style d architecture du Web http://goo.gl/30gjir Pour ne plus être en REST, comprendre cette architecture http://goo.gl/m3lsvg L architecture orientée ressource pour faire des services web RESTful http://goo.gl/kz7qpb Erick Stattner Appli et : 77 / 78

Coté serveur Coté client Sur l utilisation de JAX-RS: REST with Java (JAX-RS) using Jersey - Tutorial http://goo.gl/dk4im JAX-RS: REST coté serveur avec JAVA http://goo.gl/x8uoz Developper des services web REST avec JAVA: JAX-RS http://goo.gl/4tzgh8 JAX-RS, le spécification Java pour implémenter les services REST http://goo.gl/7y24ul Erick Stattner Appli et : 78 / 78