SlideShare une entreprise Scribd logo
1  sur  24
REST
Representational State Transfer
Module SOA
A.U 2014-2015
Objectifs
Comprendre le style d’architecture REST.
Comprendre les différences entre les services web étendus (SOAP) et les
services web REST.
Rest 2
Plan
• Présentation de REST
• Motivation pour REST
• Principes de REST
• Différences entre SOAP et REST
• Développement de services web REST java
Rest 3
Présentation de REST 1/2
 REST est l’acronyme de REpresentational State Transfert
 Principe défini dans la thèse de Roy FIELDING en 2000
-Il est l’un des principaux auteurs de la spécification HTTP
-Il est le développeur du serveur Web Apache
 REST est un style d’architecture inspiré de l’architecture du Web pour construire
des services web
Un style d’architecture est un ensemble de contraintes qui
permettent, lorsqu’elles sont appliquées aux composants
d’une architecture, d’optimiser certains critères propres au
cahier des charges du système à concevoir.
Rest 4
 REST n’est pas:
- un format
- un protocole
- un standard
Bien que REST ne soit pas un standard, il utilise des standards:
- HTTP
- URL
- XML/HTML
Présentation de REST 2/2
Rest 5
Motivation pour REST 1/2
 REST est une alternative à SOAP
 En 2006, Google a abandonné son API SOAP au profit d'une API simplifiée
REST
Source:
http://www.google.com/trends/explore?hl=fr#q=rest%20api%2Csoap%20api&cmpt=q
Rest 6
 REST est léger et simple :
– Les messages sont courts, faciles à décoder par le navigateur et par le
serveur d’application.
 REST est auto-descriptif :
vous pouvez naviguer à travers ses ressources comme vous le
feriez avec une page Web. Il y a une URL intuitive unique pour
chaque ressource. On peut facilement en déduire la structure des
ressources sans avoir besoin de beaucoup de documentation.
 REST est stateless :
– Consommation de mémoire inférieure
 REST peut être géré en cache
– mise en cache possible donc meilleure montée en charge
Motivation pour REST 2/2
Rest 7
Représentation
URI
Ressource
http://weather.com/tunishttp://weather.com/tunis
La météo de TunisLa météo de Tunis
Représente
Identifie
Principes de REST 1/7
Rest 8
 Une ressource
 Un identifiant de ressource
 Une représentation de la ressource
 Interagir avec les ressources
– Requêtes HTTP : GET, POST, PUT et DELETE
Principes de REST 2/7
Rest 9
Ressources (Identifiant)
•Identifié par une URI
Exemple : http://localhost:8080/libraryrestwebservice/books
Méthodes (Verbes)
• pour manipuler la ressource
• Méthodes HTTP : GET, POST, PUT and DELETE
Représentation
• donne une vue sur l’état de la ressource
• informations transférées entre le client et le serveur
Exemples : XML, Text, JSON, …
Principes de REST 3/7
Rest 10
Méthodes
•Une ressource quelconque peut subir quatre opérations de base désignées par
CRUD
 Create (Créer)
 Retrieve (Lire)
 Update (mettre à jour)
 Delete (Supprimer)
•REST s’appuie sur le protocole HTTP pour exprimer les opérations via les méthodes
HTTP
 Create POST
 Retrieve GET
 Update PUT
 Delete DELETE
Principes de REST 4/7
Rest 11
Méthodes
• Méthode GET fournit la représentation de la ressource
GET: /produits/tv
HTTP status: 200 (OK)
ReprésentationClient Serveur
• Méthode POST crée une ressource
POST: /produits/tv
Représentation dans le corps
Client
HTTP status: 201 (Created)
Serveur
Principes de REST 5/7
Rest 12
Méthodes
• Méthode DELETE supprime une ressource
DELETE: /produits/tv/2
HTTP status: 200 (OK)
Client Serveur
• Méthode PUT met à jour une ressource
PUT: /produits/tv/2
Représentation dans le corps
Client
HTTP status: 200 (Ok)
Principes de REST 6/7
Serveur
Rest 13
Fournir les données suivant une représentation pour:
• le client (GET): format de sortie
• le serveur (PUT et POST): format d’entrée
La représentation d’une ressource peut prendre différents formats:
• XML
• JSON
• Text
•…
Le format d’entrée (PUT et POST) et le format de sortie (GET) d’un service Web d’une
ressource peuvent être différents
Principes de REST 7/7
Représentation
Rest 14
WADL 1/2
 Web Application Description Language
 est un langage de description XML de services de type REST
 est une spécification W3C initiée par SUN
 l’objectif est de pouvoir générer automatiquement les APIs clientes d’accès aux
services REST
Remarques
-Peu d’outils exploite la description WADL
-Apparu bien plus tard
Rest 15
Exemple
WADL 2/2
Rest 16
Service web étendus VS REST 1/5
 Services web REST sont orientés ressource
Les mêmes opérations quelque
soit la resource
Les opérations dépendent des
types des activités
 Services web étendus sont orientés activité
Rest 17
Protocole de communication
Message SOAP
Client Serveur
 Services web étendus
Service web étendus VS REST 2/5
 REST
Requête/Réponse HTTP
Client Serveur
Rest 18
Service web étendus VS REST 3/5
Services web étendus Services web REST
Exposition des
opérations
Exposition des
ressources
Protocole de
communication
SOAP HTTP
Protocole de transport HTTP, autres HTTP
Description des
interfaces
WSDL WADL
Format des données XML XML, Text, JSON…
Rest 19
Service web étendus VS REST 4/5
Rest 20
Services Web REST
Avantages
-Simplicité
-Lisibilité par l’humain
-Représentations
multiples
Inconvénients
-Sécurité restreinte
Services Web étendus
Avantages
-Standardisé
-Sécurité (WS-Security)
-Outillé
Inconvénients
-Complexité, lourdeur
Service web étendus VS REST 5/5
Rest 21
Services Web REST avec Java
 JAX-RS: Java API for RESTful Web Services
 Spécification décrivant la mise en œuvre des services web REST
 JAX-RS est basé sur les annotations
@Path définit le chemin de la ressource. Cette
annotation se place sur la classe et/ou sur la
méthode implémentant le service.
@GET, @PUT,
@POST,
@DELETE
définit l’action implémentée par le service
@Produces spécifie le type de la réponse du service
@Consumes spécifie le type accepté en entré du service
Rest 22
Services Web REST avec Java
 Différentes implémentations de JAX-RS sont disponibles:
• JERSEY (Oracle)
• CXF (Apache)
• RESTEasy (JBoss)
• RESTlet
 Seule l’approche bottom-up est possible
• Annoter une classe POJO
• Compiler et déployer
 JAX-RS se limite à l'implémentation serveur, la spécification ne propose rien d
côté client.
Rest 23
En résumé
• REST est un style d’architecture
• REST est une alternative aux services web étendus (SOAP)
• REST se base sur le protocole HTTP
• JAX-RS est l’API java permettant de développer des services web REST
Rest 24

Contenu connexe

Tendances

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiEl Habib NFAOUI
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend FrameworkExposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend FrameworkHugo Hamon
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web servicesLilia Sfaxi
 

Tendances (20)

Introduction Dart
Introduction DartIntroduction Dart
Introduction Dart
 
Soap, wsdl et uddi
Soap, wsdl et uddiSoap, wsdl et uddi
Soap, wsdl et uddi
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
Presentation SOAP
 Presentation SOAP Presentation SOAP
Presentation SOAP
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Sockets
SocketsSockets
Sockets
 
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend FrameworkExposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 

En vedette (20)

CV-Abdhkim_Achak PDF
CV-Abdhkim_Achak PDFCV-Abdhkim_Achak PDF
CV-Abdhkim_Achak PDF
 
Funciones Financieras
Funciones FinancierasFunciones Financieras
Funciones Financieras
 
Laura villa informatica
Laura villa informaticaLaura villa informatica
Laura villa informatica
 
Inteligencia emocional
Inteligencia emocionalInteligencia emocional
Inteligencia emocional
 
Presentación1
Presentación1 Presentación1
Presentación1
 
6. equipos all in on (aio)
6. equipos all in on (aio)6. equipos all in on (aio)
6. equipos all in on (aio)
 
Software Educativo
Software EducativoSoftware Educativo
Software Educativo
 
Software Educativo
Software EducativoSoftware Educativo
Software Educativo
 
Steven lazo
Steven lazoSteven lazo
Steven lazo
 
Introduction au cours "usages professionnels du web"
Introduction au cours "usages professionnels du web"Introduction au cours "usages professionnels du web"
Introduction au cours "usages professionnels du web"
 
WEB-DOCUMENTAIRE : Déroulement de l'attaque à berlin
WEB-DOCUMENTAIRE : Déroulement de l'attaque à berlinWEB-DOCUMENTAIRE : Déroulement de l'attaque à berlin
WEB-DOCUMENTAIRE : Déroulement de l'attaque à berlin
 
jessi rosas
jessi rosasjessi rosas
jessi rosas
 
4-1 Congruent Figures.pdf
4-1 Congruent Figures.pdf4-1 Congruent Figures.pdf
4-1 Congruent Figures.pdf
 
CV Fabrice Deville 2016
CV Fabrice Deville 2016CV Fabrice Deville 2016
CV Fabrice Deville 2016
 
Como crear una cuenta en youtube
Como crear una cuenta en youtubeComo crear una cuenta en youtube
Como crear una cuenta en youtube
 
El amor y la amistad
El amor y la amistadEl amor y la amistad
El amor y la amistad
 
Client Presentation Example
Client Presentation ExampleClient Presentation Example
Client Presentation Example
 
Descubriendo el sushi modulo 1 2ª p
Descubriendo el sushi modulo 1 2ª pDescubriendo el sushi modulo 1 2ª p
Descubriendo el sushi modulo 1 2ª p
 
Funciones Financieras
Funciones FinancierasFunciones Financieras
Funciones Financieras
 
Ejemplo1 clase 10
Ejemplo1   clase 10Ejemplo1   clase 10
Ejemplo1 clase 10
 

Similaire à 7 rest

Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented ArchitectureDNG Consulting
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)Restlet
 
Services web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habibServices web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habibEl Habib NFAOUI
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnHINDGUENDOUZ
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhindguendouz2000
 
Controller_Rest.pptx
Controller_Rest.pptxController_Rest.pptx
Controller_Rest.pptxManalAg
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture RESTFadel Chafai
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_servicesCamus LANMADOUCELO
 
JEE_chapitre 1.pdf
JEE_chapitre 1.pdfJEE_chapitre 1.pdf
JEE_chapitre 1.pdfiyadamri
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5Mohamed Nemili
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Microsoft
 

Similaire à 7 rest (20)

Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)
 
Services web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habibServices web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habib
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Controller_Rest.pptx
Controller_Rest.pptxController_Rest.pptx
Controller_Rest.pptx
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture REST
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
JEE_chapitre 1.pdf
JEE_chapitre 1.pdfJEE_chapitre 1.pdf
JEE_chapitre 1.pdf
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
spring.pdf
spring.pdfspring.pdf
spring.pdf
 
Soap
SoapSoap
Soap
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 

Dernier

BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLidelewebmestre
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineBOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineidelewebmestre
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...idelewebmestre
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresidelewebmestre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
BOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airBOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airidelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinidelewebmestre
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 

Dernier (20)

BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineBOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
BOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airBOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein air
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcin
 
Webinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptxWebinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptx
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 

7 rest

  • 2. Objectifs Comprendre le style d’architecture REST. Comprendre les différences entre les services web étendus (SOAP) et les services web REST. Rest 2
  • 3. Plan • Présentation de REST • Motivation pour REST • Principes de REST • Différences entre SOAP et REST • Développement de services web REST java Rest 3
  • 4. Présentation de REST 1/2  REST est l’acronyme de REpresentational State Transfert  Principe défini dans la thèse de Roy FIELDING en 2000 -Il est l’un des principaux auteurs de la spécification HTTP -Il est le développeur du serveur Web Apache  REST est un style d’architecture inspiré de l’architecture du Web pour construire des services web Un style d’architecture est un ensemble de contraintes qui permettent, lorsqu’elles sont appliquées aux composants d’une architecture, d’optimiser certains critères propres au cahier des charges du système à concevoir. Rest 4
  • 5.  REST n’est pas: - un format - un protocole - un standard Bien que REST ne soit pas un standard, il utilise des standards: - HTTP - URL - XML/HTML Présentation de REST 2/2 Rest 5
  • 6. Motivation pour REST 1/2  REST est une alternative à SOAP  En 2006, Google a abandonné son API SOAP au profit d'une API simplifiée REST Source: http://www.google.com/trends/explore?hl=fr#q=rest%20api%2Csoap%20api&cmpt=q Rest 6
  • 7.  REST est léger et simple : – Les messages sont courts, faciles à décoder par le navigateur et par le serveur d’application.  REST est auto-descriptif : vous pouvez naviguer à travers ses ressources comme vous le feriez avec une page Web. Il y a une URL intuitive unique pour chaque ressource. On peut facilement en déduire la structure des ressources sans avoir besoin de beaucoup de documentation.  REST est stateless : – Consommation de mémoire inférieure  REST peut être géré en cache – mise en cache possible donc meilleure montée en charge Motivation pour REST 2/2 Rest 7
  • 8. Représentation URI Ressource http://weather.com/tunishttp://weather.com/tunis La météo de TunisLa météo de Tunis Représente Identifie Principes de REST 1/7 Rest 8
  • 9.  Une ressource  Un identifiant de ressource  Une représentation de la ressource  Interagir avec les ressources – Requêtes HTTP : GET, POST, PUT et DELETE Principes de REST 2/7 Rest 9
  • 10. Ressources (Identifiant) •Identifié par une URI Exemple : http://localhost:8080/libraryrestwebservice/books Méthodes (Verbes) • pour manipuler la ressource • Méthodes HTTP : GET, POST, PUT and DELETE Représentation • donne une vue sur l’état de la ressource • informations transférées entre le client et le serveur Exemples : XML, Text, JSON, … Principes de REST 3/7 Rest 10
  • 11. Méthodes •Une ressource quelconque peut subir quatre opérations de base désignées par CRUD  Create (Créer)  Retrieve (Lire)  Update (mettre à jour)  Delete (Supprimer) •REST s’appuie sur le protocole HTTP pour exprimer les opérations via les méthodes HTTP  Create POST  Retrieve GET  Update PUT  Delete DELETE Principes de REST 4/7 Rest 11
  • 12. Méthodes • Méthode GET fournit la représentation de la ressource GET: /produits/tv HTTP status: 200 (OK) ReprésentationClient Serveur • Méthode POST crée une ressource POST: /produits/tv Représentation dans le corps Client HTTP status: 201 (Created) Serveur Principes de REST 5/7 Rest 12
  • 13. Méthodes • Méthode DELETE supprime une ressource DELETE: /produits/tv/2 HTTP status: 200 (OK) Client Serveur • Méthode PUT met à jour une ressource PUT: /produits/tv/2 Représentation dans le corps Client HTTP status: 200 (Ok) Principes de REST 6/7 Serveur Rest 13
  • 14. Fournir les données suivant une représentation pour: • le client (GET): format de sortie • le serveur (PUT et POST): format d’entrée La représentation d’une ressource peut prendre différents formats: • XML • JSON • Text •… Le format d’entrée (PUT et POST) et le format de sortie (GET) d’un service Web d’une ressource peuvent être différents Principes de REST 7/7 Représentation Rest 14
  • 15. WADL 1/2  Web Application Description Language  est un langage de description XML de services de type REST  est une spécification W3C initiée par SUN  l’objectif est de pouvoir générer automatiquement les APIs clientes d’accès aux services REST Remarques -Peu d’outils exploite la description WADL -Apparu bien plus tard Rest 15
  • 17. Service web étendus VS REST 1/5  Services web REST sont orientés ressource Les mêmes opérations quelque soit la resource Les opérations dépendent des types des activités  Services web étendus sont orientés activité Rest 17
  • 18. Protocole de communication Message SOAP Client Serveur  Services web étendus Service web étendus VS REST 2/5  REST Requête/Réponse HTTP Client Serveur Rest 18
  • 19. Service web étendus VS REST 3/5 Services web étendus Services web REST Exposition des opérations Exposition des ressources Protocole de communication SOAP HTTP Protocole de transport HTTP, autres HTTP Description des interfaces WSDL WADL Format des données XML XML, Text, JSON… Rest 19
  • 20. Service web étendus VS REST 4/5 Rest 20
  • 21. Services Web REST Avantages -Simplicité -Lisibilité par l’humain -Représentations multiples Inconvénients -Sécurité restreinte Services Web étendus Avantages -Standardisé -Sécurité (WS-Security) -Outillé Inconvénients -Complexité, lourdeur Service web étendus VS REST 5/5 Rest 21
  • 22. Services Web REST avec Java  JAX-RS: Java API for RESTful Web Services  Spécification décrivant la mise en œuvre des services web REST  JAX-RS est basé sur les annotations @Path définit le chemin de la ressource. Cette annotation se place sur la classe et/ou sur la méthode implémentant le service. @GET, @PUT, @POST, @DELETE définit l’action implémentée par le service @Produces spécifie le type de la réponse du service @Consumes spécifie le type accepté en entré du service Rest 22
  • 23. Services Web REST avec Java  Différentes implémentations de JAX-RS sont disponibles: • JERSEY (Oracle) • CXF (Apache) • RESTEasy (JBoss) • RESTlet  Seule l’approche bottom-up est possible • Annoter une classe POJO • Compiler et déployer  JAX-RS se limite à l'implémentation serveur, la spécification ne propose rien d côté client. Rest 23
  • 24. En résumé • REST est un style d’architecture • REST est une alternative aux services web étendus (SOAP) • REST se base sur le protocole HTTP • JAX-RS est l’API java permettant de développer des services web REST Rest 24

Notes de l'éditeur

  1. You can only understand it, and design your Web services in that style. (Analogous to the client-server architectural style. There is no client-server standard.) While REST is not a standard, it does use standards: HTTP URL XML/HTML/GIF/JPEG/etc (Resource Representations) text/xml, text/html, image/gif, image/jpeg, etc (MIME Types)
  2. REST est « stateless » (il n’est pas adapté aux transactions longues et complexes) : il est parfait pour les opérations simples (créer, lire, mettre à jour, effacer). Aucun lien entre une requête et une autre
  3. dispose d’une ressource surlaquelle on peut effectuer plusieurs opérations La ressource est identifié par une URI Les opérations qu’on eut effectuer sont définies par HTTP ------------  A simple example of an activity service would be a bank transaction in which a customer transfers money from one account to another. The customer doesn't want to work with the resources directly (the money, the bank accounts, and so forth), they merely want to tell the bank what it is they want to accomplish and have the bank handle the resources on their behalf. 
  4. Think of what a "traditional web service" is. It is an interface with exposed "methods." Clients know the methods' name, input and output and hence can call them. Now imagine an interface that does not expose "methods". Instead, it exposes "objects". So when a client sees this interface, all it sees is one or more "objects". "An object" has no input and output – because "it does not do anything". It is a noun, not a verb. It is "a thing", not "an action".