Service Web

Service Web

Un service web (ou service de la toile[1]) est un programme informatique permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et de manière synchrone.

Le concept a été précisé et mis en œuvre dans le cadre de Web Services Activity[2], au W3C, particulièrement avec le protocole SOAP. Associé avec les Échanges de Données Informatisés (EDI), le consortium ebXML l'a utilisé pour automatiser des échanges entre entreprises. Cependant le concept s'enrichit avec l'approfondissement des notions de ressource et d'état, dans le cadre du modèle REST, et l'approfondissement de la notion de service, avec le modèle SOA.

Un service web, avec ses agents, fournisseur et utilisateur
Très grandes généralités sur un service web

Dans sa présentation la plus générale, un service web se concrétise par un agent, réalisé selon une technologie informatique précise, par un fournisseur du service. Un demandeur, à l'aide d'un agent de requête, utilise ce service. Fournisseur et demandeur partagent une même sémantique du service web, tandis qu'agent et agent de requête partagent une même description du service pour coordonner les messages qu'ils échangent[3].

Il existe plusieurs technologies derrière le terme services web :

  • Les services web de type Representational state transfer (REST) exposent entièrement ces fonctionnalités comme un ensemble de ressources (URI) identifiables et accessibles par la syntaxe et la sémantique du protocole HTTP. Les Services Web de type REST sont donc basés sur l'architecture du web et ses standards de base : HTTP et URI.
  • Les Services Web WS-* exposent ces mêmes fonctionnalités sous la forme de services exécutables à distance. Leurs spécifications reposent sur les standards SOAP et WSDL pour transformer les problématiques d'intégration héritées du monde Middleware en objectif d'interopérabilité.

Les standards WS-* sont souvent décriés, comme risquant de générer une course à la performance technologique[4]. Toutefois leur robustesse dans le milieu des services entre professionnels est reconnue, et ils restent largement utilisés. Aussi l'on préfère les faire évoluer[5].

Sommaire

Les Services Web de type Representational state transfer (REST)

Introduction

Le World Wide Web est une application conçue selon l'architecture REST. L'architecture du Web remplace donc les concepts applicatifs clients et serveurs par les concepts agents et ressources. Des agents interagissent avec des ressources pour créer, accéder, modifier ou supprimer une ressource. Jusqu'à présent, on parlait surtout de l'interaction entre agents utilisateurs, principalement les navigateurs avec les ressources.

Aujourd'hui, on parle de plus en plus de l'interaction entre agents ressources ; c'est-à-dire la relation entre les ressources : une ressource devient l'agent d'une autre ressource, mais reste elle-même une ressource accessible par d'autres agents. C'est exactement l'architecture décrite par l'exemple d'implémentation applicative des Mashups.

Les services web traitent donc d'agents ressources là où le mode opératoire classique du Web parle d'agents utilisateurs. Mais les deux concepts reposent sur la même architecture : REST.

Il n'y a donc pas de différence fondamentale entre l'interaction d'un navigateur avec une ressource et celle d'un Service Web avec une ressource. La principale différence se situe au niveau du format de la représentation des données: HTML pour les navigateurs ou agents utilisateurs, XML ou JSON pour les Services Web ou agents ressources...

On peut donc définir un Service Web comme l'implémentation logicielle d'une ressource, identifiée par une URL, et accessible en utilisant les protocoles internet. Les agents s'occupent du contenu, de la représentation de leur état, pas du type de contenu. Il faut donc voir les Services Web comme le moyen de manipuler l'information, et non comme un simple fournisseur de services.

Dénominations

  • Services Web RESTful
  • Agents Ressources
  • Robots Logiciels

Les Services Web WS

Introduction

Les Services Web WS-* désignent l'implémentation logicielle des spécifications WS-* et reposent tous sur un ensemble de protocoles et de standards de base utilisés pour l'échange de données entre applications dans des environnements hétérogènes :

  • le SOAP (Simple Object Access Protocol) pour l'échange de messages,
  • le WSDL (Web Service Description Language) pour la description : des services web, de leurs opérations, des messages utilisés, des types de données utilisées, des protocoles utilisés et de leur localisation au sens internet (URI / URL),
  • les annuaires UDDI qui peuvent référencer des services web.

Ces Services Web WS-* sont par ailleurs définis selon le type d'architecture SOA.

Les logiciels écrits dans divers langages de programmation et sur diverses plates-formes peuvent employer des Services Web WS-* pour échanger des données à travers des réseaux informatiques comme Internet. L'OASIS et le World Wide Web Consortium (W3C) sont les comités de coordination responsables de l'architecture et de la standardisation des services Web. Pour améliorer l'interopérabilité entre les réalisations de service Web, l'organisation WS-I a développé une série de profils pour faire évoluer les futures normes impliquées.

Les standards employés

Avantages

Inconvénients

  • Les normes de services Web dans certains domaines sont actuellement récentes.
  • Les services Web souffrent de performances faibles comparée à d'autres approches de l'informatique répartie telles que le RMI, CORBA, ou DCOM.[réf. nécessaire]
  • Par l'utilisation du protocole HTTP, les services Web peuvent contourner les mesures de sécurité mises en place au travers des pare-feu.

Scénarios

Les services Web implémentent de la logique métier rendue consommable (on consomme un service web ⇒ utiliser) par l'utilisation de standards (majoritairement TCP/IP, URI/URN/URL, MIME, HTTP/SMTP/..., SOAP, SSL/TLS, ... pour le transport, puis XML pour le contenu), ce qui permet à n'importe quelle technologie utilisant ces standards de pouvoir l'exploiter, facilitant ainsi l'interopérabilité des applications.

La création de services Web se justifie par l'architecture orientée service, c’est-à-dire la volonté de rendre accessible un service qui implémente une logique métier cachée à des utilisateurs.

Dans le cadre de contrats d'échange de données en Business to Business (entreprise ↔ entreprise), comme en Business to Consumer (entreprise ↔ client/utilisateur), un autre intérêt pour lequel des services Web sont employés est le fait qu'ils se fondent sur le protocole HTTP (qui utilise le port 80 par défaut). Pour comprendre ceci, gardez à l'esprit que beaucoup d'entreprises se sont protégées en employant des pare-feu qui filtrent et bloquent beaucoup de trafic d'Internet pour des raisons de sécurité. Dans ce milieu, beaucoup de (presque tous les) ports sont fermés au trafic entrant et sortant et les administrateurs de ces pare-feux ne sont pas désireux de les ouvrir. Le port 80, cependant, est toujours ouvert parce qu'il est employé par le protocole HTTP utilisé par les navigateurs Web. Avec cet avantage, les services web représentent une sorte de tunneling.

Plates-formes

Des services Web peuvent être déployés en employant un logiciel de serveur d'application :

  • JAX-WS 2.x qui constitue l'implémentation de référence de Java EE est Open Source et intégré dans GlassFish et utilisable dans d'autres environnements. Son extension WSIT (aussi appelée "Project Tango") propose une implémentation de WS-ReliableMessaging, WS-SecureConversation, WS-Trust, ...
  • Axis et le serveur de Jakarta Tomcat (deux projets open source d'Apache Software Foundation)
  • XFire de CodeHaus offre un framework Java avec une approche différente de Axis
  • CXF[6] Fusion entre XFire (CodeHaus) et Celtix (Objectweb)
  • ColdFusion MX de Macromedia
  • Serveurs HTTP IIS de Microsoft (avec le framework .NET)
  • WebLogic d'Oracle Corporation
  • WebSphere Application Server d'IBM (basé sur le serveur d'Apache et la plate-forme de J2EE)
  • Oracle Application Serveur d'Oracle Corporation
  • ZenWorks de Novell
  • NuSOAP : bibliothèque pour les développeurs de services Web en PHP
  • gSOAP : bibliothèque pour les développeurs de services Web en C++
  • JBoss Application Server de la société JBoss. Composant du JEMS (JBoss Enterprise Middleware System) dont fait également partie le framework de persistance relationnelle Hibernate.
  • Uniface de Compuware Implémentation des web services SOAP en utilisant Tomcat
  • IBM Lotus Domino
  • Nirva Application Platform de Nirva Systems qui propose sa plate-forme fusion d'un ESB et d'un serveur d'application manipulant différents langages

Notes et références

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Service Web de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Service web — Un service web est un programme informatique permettant la communication et l échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s agit donc d un ensemble de fonctionnalités exposées sur internet… …   Wikipédia en Français

  • Service Web 3.0 — Research Project name=Service Web 3.0 title=Service Web 3.0 keywords= fundingAgency=European Union frameworkProgramme=FP7 projectType=Support Action projectReference=ICT 2007 216937 researchObjective=ICT 2007 1.2 coordinator=STI Innsbruck at the… …   Wikipedia

  • service web — ● loc. m. ►WEB Services accessible via le web. Un service est composé d un ensemble d opérations (donner les cours de la bourse, exécuter une requête...), auxquelles on accède par HTTP(S), SMTP/POP/IMAP ou n importe quelle technique web… …   Dictionnaire d'informatique francophone

  • Web Services — Service Web Un service web est un programme informatique permettant la communication et l échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s agit donc d un ensemble de fonctionnalités exposées… …   Wikipédia en Français

  • Web service — Service Web Un service web est un programme informatique permettant la communication et l échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s agit donc d un ensemble de fonctionnalités exposées… …   Wikipédia en Français

  • Web services — Service Web Un service web est un programme informatique permettant la communication et l échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s agit donc d un ensemble de fonctionnalités exposées… …   Wikipédia en Français

  • Web Services Discovery — Web services provide access to software systems over the Internet using standard protocols. In a minimalistic scenario there exists at least a Web service provider that publishes some service such as a weather service and a Web service consumer… …   Wikipedia

  • WEB 2.0 — ist ein Schlagwort, das für eine Reihe interaktiver und kollaborativer Elemente des Internets, speziell des WWW steht und damit in Anlehnung an die Versionsnummern von Softwareprodukten eine Abgrenzung von früheren Nutzungsarten postuliert. Der… …   Deutsch Wikipedia

  • Web Map Context Documents — Web Map Context Dokumente sind vom Open Geospatial Consortium (OGC) standardisierte XML Dateien. Sie werden in WMS Clients verwendet, um die Konfiguration der aktuell angezeigten Karten zu speichern und später wieder zu laden. Je nach Anwendung… …   Deutsch Wikipedia

  • Web content — is the textual, visual or aural content that is encountered as part of the user experience on websites. It may include, among other things: text, images, sounds, videos and animations.In [http://www.oreilly.com/catalog/infotecture/ Information… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”