SlideShare une entreprise Scribd logo
1  sur  21
Web Services : SOAP et REST
Réalisé Par: Radhouene Rouached & Maher Abed
Plan
Web service
2
 Définition
 Propriétés & Concepts
SOAP
 Avantage & Inconvénient
 Apache Axis
RESTful
Conclusion
Web Service
« un service est un comportement défini par contrat, qui peut être réalisé et fourni par tout
composant pour être utilisé par tout composant, sur la base unique du contrat».
Service
3
Web Service
Les Web Services sont des composants web basés sur Internet (HTTP ) qui exécutent des
tâches précises et qui respectent un format spécifique (XML).
Ils permettent aux applications de faire appel à des fonctionnalités à distance en
simplifiant ainsi l’échange de données.
Les Web Services permettent aux applications de dialoguer à travers le réseau,
indépendamment de :
◦ leur plate-forme d’exécution
◦ leur langage d'implémentation.
Définition
4
Web service
 Un Service est Autonome
et sans état
5
Propriétés
 Un Service expose un Contrat
 Les Frontières entre services sont
Explicites
 Les services communiquent par
messages
Web service
Le concept des Web Services s’articule actuellement autour des trois concepts suivants :
◦ SOAP (Simple Object Access Protocol)
- Est un protocole d'échange inter-applications indépendant de toute plate-forme, basé sur le langage XML.
- Un appel de service SOAP est un flux ASCII encadré dans des balises XML et transporté dans le protocole HTTP.
◦ WSDL (Web Services Description Language)
- Donne la description au format XML des Web Services en précisant les méthodes pouvant être invoquées, leurs
signatures et le point d’accès (URL, port, etc..).
- C’est, en quelque sorte, l’équivalent du langage IDL pour la programmation distribuée CORBA.
◦ UDDI (Universal Description, Discovery and Integration)
- Normalise une solution d’annuaire distribué de Web Services, permettant à la fois la publication et l'exploration
(recherche) de Web Services.
- UDDI se comporte lui-même comme un Web service dont les méthodes sont appelées via le protocole SOAP.
Concepts des web services
6
Web Service
Principe de fonctionnement
7
◦ Des standards simples (SOAP, WSDL, UDDI)
◦ Multi Protocole / Multi OS / Multi Langage
◦ Facilite l’échange des données
◦ Les outils de développement, s'appuyant sur ces standards, permettent la création
automatique de programmes utilisant les services Web existant.
Avantage
Web service
Avantage
8
◦ Performance: Les services Web souffrent de performances faibles comparée à d'autres
approches de l'informatique répartie telles que le RMI, CORBA, ou DCOM.
◦ Jeunesse (Sécurité, Transaction,…): Les normes de services Web dans certains domaines
sont actuellement récentes
Inconvénient
Web service
Inconvénient
9
SIMPLE OBJECT
ACCESS PROTOCOL
SOAP
10
SOAP
SOAP est un protocole d'invocation de méthodes sur des services distants. Basé sur XML,
SOAP a pour principal objectif d'assurer la communication entre machines.
Le protocole permet d'appeler une méthode RPC et d'envoyer des messages aux machines
distantes via un protocole de transport ( HTTP ).
Objectifs visés
- Assurer la communication entre applications d’une même entreprise (intranet)
- Assurer les échanges interentreprises entre applications et services Web
11
Simple Object Access Protocol
SOAP
12
Structure d'un message SOAP
AXIS
Apache eXtensible Interaction System
13
Apache Axis
Axis est un ensemble de logiciels créés par la fondation Apache (The Apache Software Foundation), qui
vise à faciliter le développement de services Web en technologie SOAP.
Axis offre notamment :
un environnement pouvant soit fonctionner comme un serveur SOAP/Rest indépendant, soit comme
un plug-in de moteurs de servlet (en particulier Tomcat),
une API pour développer des services web SOAP RPC ou à base de messages SOAP,
le support de différentes couches de transport : HTTP, FTP, SMTP, POP et IMAP...,
la sérialisation/désérialisation automatique d'objets Java dans des messages SOAP,
des outils pour créer automatiquement les WSDL correspondant à des classes Java, ou inversement,
pour créer les classes Java sur la base d'un WSDL (classe proxy en quelque sorte, qui fait le lien
entre l'application Java cliente et le service distant),
des outils pour déployer, tester et monitorer des web-services.
14
Apache Axis
Simulation :
15
RESTful
REpresentational State Transfer
16
RESTful
REST (REpresentational StateTransfer) ou RESTful est un style d’architecture pour
les systèmes hypermédia distribués,
Créé par Roy Fielding en 2000 dans le chapitre 5 de sa thèse de doctorat.
REST est un style d’architecture permettant de construire des applications (Web, Intranet,
Web Service).
Il s’agit d’un ensemble de conventions et de bonnes pratiques à respecter et non d’une
technologie à part entière.
L’architecture REST utilise les spécifications originelles du protocole HTTP, plutôt que
de réinventer une surcouche (comme le font SOAP ou XML-RPC par exemple).
REST c’est quoi ?
17
RESTful
Chaque ressource de l'application est accessible via une URI unique
Les opérations (notion CRUD) sont uniformes entre les ressources (avec HTTP)
Aucune notion d'état entre une suite d'actions (= pas de session utilisateur en
HTTP)
Les principes clefs
18
Technologiquement, les WebServices sont matures pour être utilisés dans un environnement
de développement distribué. Leur promotion faite par les acteurs principaux du marché
informatique en fait une des technologies sur lesquelles il faudra compter dans le futur.On
peut notament trouver des implémentations WebService dans les framework .Net [Microsoft],
WebSphere [IBM], ou WebLogic [BEA], et il existe aussi certains solutions libre (Apache
SOAP, Apache Axis ou uddi4j [IBM/HP]),
Cependant, d'un point de vu innovant, les WebServices n'apportent réellement que peu de
choses par rapport aux technologies distribuées déjà existantes telles CORBA ou JNI, les
concepts novateurs introduits par les WebServices étant pour le moment exclusivement
réservés au domaine du théorique. Aussi, on est en droit de se demander si l'apparition de
cette technologie est réellement motivée par une envie d'évolution ou bien uniquement par
une stratégie marketing de la part des grand groupes informatiques partenaires de cette
technologie et coutumiers de genre ...
19
Conclusion
Programming Web Services with SOAP , Par James Snell,Doug Tidwell,Pavel Kulchenko ,
isbn: 0596000952.
Restful Java Web Services , Jose Sandoval , isbn:1847196462
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
Bieber, G. and Carpenter, J. (2002). Introduction to Service-Oriented
Programming. http://www.openwings.org
Site official de axis : http://www.ws.apache.org/axis
20
Bibliographie
Merci pour votre attention

Contenu connexe

Tendances

Tendances (20)

Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Soap
SoapSoap
Soap
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
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
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
 
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
 
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
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en 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
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 

En vedette

Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
ConFoo
 
A presentation on WCF & REST
A presentation on WCF & RESTA presentation on WCF & REST
A presentation on WCF & REST
Santhu Rao
 
REST in the shade of WCF
REST in the shade of WCFREST in the shade of WCF
REST in the shade of WCF
SzymonPobiega
 
Business process execution language
Business process execution languageBusiness process execution language
Business process execution language
Bilel Abed
 

En vedette (20)

Introduction aux Frameworks java
Introduction aux Frameworks javaIntroduction aux Frameworks java
Introduction aux Frameworks java
 
Introduction au Framework AngularJs
Introduction au Framework AngularJsIntroduction au Framework AngularJs
Introduction au Framework AngularJs
 
A1 Flux Sitra
A1   Flux Sitra A1   Flux Sitra
A1 Flux Sitra
 
Soap, wsdl et uddi
Soap, wsdl et uddiSoap, wsdl et uddi
Soap, wsdl et uddi
 
Service WEB de type REST avec Java
Service WEB de type REST avec JavaService WEB de type REST avec Java
Service WEB de type REST avec Java
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
 
A presentation on WCF & REST
A presentation on WCF & RESTA presentation on WCF & REST
A presentation on WCF & REST
 
RESTful WCF Services
RESTful WCF ServicesRESTful WCF Services
RESTful WCF Services
 
There is time for rest
There is time for rest There is time for rest
There is time for rest
 
REST in the shade of WCF
REST in the shade of WCFREST in the shade of WCF
REST in the shade of WCF
 
Design Patterns: Builder pattern (Le monteur)
Design Patterns: Builder pattern (Le monteur)Design Patterns: Builder pattern (Le monteur)
Design Patterns: Builder pattern (Le monteur)
 
HTTP et REST
HTTP et RESTHTTP et REST
HTTP et REST
 
Journeesduweb.com Web 2.0
Journeesduweb.com Web 2.0Journeesduweb.com Web 2.0
Journeesduweb.com Web 2.0
 
Presentation Web 2.0 - ESSEC Geneve
Presentation Web 2.0 - ESSEC GenevePresentation Web 2.0 - ESSEC Geneve
Presentation Web 2.0 - ESSEC Geneve
 
Services Web Asynchrones
Services Web AsynchronesServices Web Asynchrones
Services Web Asynchrones
 
Enquête annuelle de la franchise Banque Populaire FFF
Enquête annuelle de la franchise Banque Populaire FFFEnquête annuelle de la franchise Banque Populaire FFF
Enquête annuelle de la franchise Banque Populaire FFF
 
Business process execution language
Business process execution languageBusiness process execution language
Business process execution language
 
WCF Fundamentals
WCF Fundamentals WCF Fundamentals
WCF Fundamentals
 
Présentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenoblePrésentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks Grenoble
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorial
 

Similaire à Web services SOAP et REST

Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
angeeLee
 
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
Camus LANMADOUCELO
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
Tugdual Grall
 

Similaire à Web services SOAP et REST (20)

Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
education
educationeducation
education
 
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
 
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
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 
Soap
SoapSoap
Soap
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NET
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaS
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec Mulesoft
 
Web services
Web servicesWeb services
Web services
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 

Web services SOAP et REST

  • 1. Web Services : SOAP et REST Réalisé Par: Radhouene Rouached & Maher Abed
  • 2. Plan Web service 2  Définition  Propriétés & Concepts SOAP  Avantage & Inconvénient  Apache Axis RESTful Conclusion
  • 3. Web Service « un service est un comportement défini par contrat, qui peut être réalisé et fourni par tout composant pour être utilisé par tout composant, sur la base unique du contrat». Service 3
  • 4. Web Service Les Web Services sont des composants web basés sur Internet (HTTP ) qui exécutent des tâches précises et qui respectent un format spécifique (XML). Ils permettent aux applications de faire appel à des fonctionnalités à distance en simplifiant ainsi l’échange de données. Les Web Services permettent aux applications de dialoguer à travers le réseau, indépendamment de : ◦ leur plate-forme d’exécution ◦ leur langage d'implémentation. Définition 4
  • 5. Web service  Un Service est Autonome et sans état 5 Propriétés  Un Service expose un Contrat  Les Frontières entre services sont Explicites  Les services communiquent par messages
  • 6. Web service Le concept des Web Services s’articule actuellement autour des trois concepts suivants : ◦ SOAP (Simple Object Access Protocol) - Est un protocole d'échange inter-applications indépendant de toute plate-forme, basé sur le langage XML. - Un appel de service SOAP est un flux ASCII encadré dans des balises XML et transporté dans le protocole HTTP. ◦ WSDL (Web Services Description Language) - Donne la description au format XML des Web Services en précisant les méthodes pouvant être invoquées, leurs signatures et le point d’accès (URL, port, etc..). - C’est, en quelque sorte, l’équivalent du langage IDL pour la programmation distribuée CORBA. ◦ UDDI (Universal Description, Discovery and Integration) - Normalise une solution d’annuaire distribué de Web Services, permettant à la fois la publication et l'exploration (recherche) de Web Services. - UDDI se comporte lui-même comme un Web service dont les méthodes sont appelées via le protocole SOAP. Concepts des web services 6
  • 7. Web Service Principe de fonctionnement 7
  • 8. ◦ Des standards simples (SOAP, WSDL, UDDI) ◦ Multi Protocole / Multi OS / Multi Langage ◦ Facilite l’échange des données ◦ Les outils de développement, s'appuyant sur ces standards, permettent la création automatique de programmes utilisant les services Web existant. Avantage Web service Avantage 8
  • 9. ◦ Performance: Les services Web souffrent de performances faibles comparée à d'autres approches de l'informatique répartie telles que le RMI, CORBA, ou DCOM. ◦ Jeunesse (Sécurité, Transaction,…): Les normes de services Web dans certains domaines sont actuellement récentes Inconvénient Web service Inconvénient 9
  • 11. SOAP SOAP est un protocole d'invocation de méthodes sur des services distants. Basé sur XML, SOAP a pour principal objectif d'assurer la communication entre machines. Le protocole permet d'appeler une méthode RPC et d'envoyer des messages aux machines distantes via un protocole de transport ( HTTP ). Objectifs visés - Assurer la communication entre applications d’une même entreprise (intranet) - Assurer les échanges interentreprises entre applications et services Web 11 Simple Object Access Protocol
  • 14. Apache Axis Axis est un ensemble de logiciels créés par la fondation Apache (The Apache Software Foundation), qui vise à faciliter le développement de services Web en technologie SOAP. Axis offre notamment : un environnement pouvant soit fonctionner comme un serveur SOAP/Rest indépendant, soit comme un plug-in de moteurs de servlet (en particulier Tomcat), une API pour développer des services web SOAP RPC ou à base de messages SOAP, le support de différentes couches de transport : HTTP, FTP, SMTP, POP et IMAP..., la sérialisation/désérialisation automatique d'objets Java dans des messages SOAP, des outils pour créer automatiquement les WSDL correspondant à des classes Java, ou inversement, pour créer les classes Java sur la base d'un WSDL (classe proxy en quelque sorte, qui fait le lien entre l'application Java cliente et le service distant), des outils pour déployer, tester et monitorer des web-services. 14
  • 17. RESTful REST (REpresentational StateTransfer) ou RESTful est un style d’architecture pour les systèmes hypermédia distribués, Créé par Roy Fielding en 2000 dans le chapitre 5 de sa thèse de doctorat. REST est un style d’architecture permettant de construire des applications (Web, Intranet, Web Service). Il s’agit d’un ensemble de conventions et de bonnes pratiques à respecter et non d’une technologie à part entière. L’architecture REST utilise les spécifications originelles du protocole HTTP, plutôt que de réinventer une surcouche (comme le font SOAP ou XML-RPC par exemple). REST c’est quoi ? 17
  • 18. RESTful Chaque ressource de l'application est accessible via une URI unique Les opérations (notion CRUD) sont uniformes entre les ressources (avec HTTP) Aucune notion d'état entre une suite d'actions (= pas de session utilisateur en HTTP) Les principes clefs 18
  • 19. Technologiquement, les WebServices sont matures pour être utilisés dans un environnement de développement distribué. Leur promotion faite par les acteurs principaux du marché informatique en fait une des technologies sur lesquelles il faudra compter dans le futur.On peut notament trouver des implémentations WebService dans les framework .Net [Microsoft], WebSphere [IBM], ou WebLogic [BEA], et il existe aussi certains solutions libre (Apache SOAP, Apache Axis ou uddi4j [IBM/HP]), Cependant, d'un point de vu innovant, les WebServices n'apportent réellement que peu de choses par rapport aux technologies distribuées déjà existantes telles CORBA ou JNI, les concepts novateurs introduits par les WebServices étant pour le moment exclusivement réservés au domaine du théorique. Aussi, on est en droit de se demander si l'apparition de cette technologie est réellement motivée par une envie d'évolution ou bien uniquement par une stratégie marketing de la part des grand groupes informatiques partenaires de cette technologie et coutumiers de genre ... 19 Conclusion
  • 20. Programming Web Services with SOAP , Par James Snell,Doug Tidwell,Pavel Kulchenko , isbn: 0596000952. Restful Java Web Services , Jose Sandoval , isbn:1847196462 http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Bieber, G. and Carpenter, J. (2002). Introduction to Service-Oriented Programming. http://www.openwings.org Site official de axis : http://www.ws.apache.org/axis 20 Bibliographie
  • 21. Merci pour votre attention