21
Web Services : SOAP et REST Réalisé Par: Radhouene Rouached & Maher Abed

Web Services SOAP Et RESTful

Embed Size (px)

DESCRIPTION

Web Services SOAP Et RESTful

Citation preview

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 ServicePrincipe 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.

AvantageWeb 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

AXISApache 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