Service Web
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

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 (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en utilisant...) ou sur un Intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel.

Il existe plusieurs technologies derrière le terme Services Web:

  • Les Services Web de type REST exposent entièrement ces fonctionnalités comme un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être comprise comme un tout »,...) 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 (L’architecture peut se définir comme l’art de bâtir des édifices.) 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 (SOAP (ancien acronyme de Simple Object Access Protocol) est un protocole de RPC orienté objet bâti sur XML.) et WSDL pour transformer les problématiques d'intégration héritées du monde (Le mot monde peut désigner :) Middleware (En informatique, un intergiciel (en anglais middleware) est un logiciel servant d'intermédiaire de communication entre plusieurs applications, généralement complexes ou distribuées sur un...) en objectif d'interopérabilité (L'interopérabilité est la capacité que possède un produit ou un système dont les interfaces sont intégralement connues à fonctionner avec d'autres produits ou systèmes existants ou futurs.). Les standards WS-* sont souvent décriés comme l'étaient leurs ancêtres CORBA, RMI ou DCOM: des technologies complexes héritées du vieux principe RPC, fortement couplées et difficilement intéropérables dans des environnements hétérogènes. A contrario, le Web est par nature une plateforme intéropérable.

Les Services Web de type REST

Introduction

Le World Wide Web (Le World Wide Web, littéralement la « toile (d’araignée) mondiale », communément appelé le Web, le web parfois la Toile ou le WWW, est un système hypertexte public...) 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 (Une interaction est un échange d'information, d'affects ou d'énergie entre deux agents au sein d'un système. C'est une action réciproque qui suppose l'entrée en contact de sujets.) 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 accéssible par d'autres agents. C'est exactement l'architecture décrite par l'exemple d'implémentation (Le mot implantation peut avoir plusieurs significations :) applicative des Mashups.

Les Services Web traitent donc d'agents ressources là où le mode opératoire (Un mode opératoire consiste en la description détaillée des actions nécessaires à l'obtention d'un résultat. On parle aussi de process ou de processus. Le mode...) 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érences fondamentales 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 (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.): 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.

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 protocole SOAP pour l'échange de messages.
  • Le fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : fichier des patients d'un...) WSDL pour la description des messages, de leur type de données...
  • Une entrée éventuelle dans un annuaire (Un annuaire est une publication (imprimée ou électronique) mise à jour chaque année qui regroupe des informations (nom, adresse, coordonnées, etc.) sur les membres d’une...) UDDI

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

Les logiciels écrits dans divers langages de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire...) et sur diverses plateformes peuvent employer des Services Web WS-* pour échanger des données à travers des réseaux informatiques comme Internet. L'OASIS (Une oasis (du grec ancien), en géographie, désigne une zone de végétation isolée dans un désert. Ceci se produit à proximité d'une source d'eau ou lorsqu'une nappe...) et le World Wide Web Consortium (Le World Wide Web Consortium, abrégé W3C, est un consortium fondé en octobre 1994 pour promouvoir la compatibilité des technologies du World Wide Web telles que HTML,...) (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 (Une organisation est) WS-I a développé une série de profils pour faire évoluer les futures normes impliquées.

Les standards employés

  • Liste des spécifications des Services Web WS-*

Avantages

  • Les services Web fournissent l'interopérabilité entre divers logiciels fonctionnant sur diverses plate-formes.
  • Les services Web utilisent des standards et protocoles ouverts.
  • Les protocoles et les formats de données sont au format texte dans la mesure du possible, facilitant ainsi la compréhension du fonctionnement global des échanges.
  • Basés sur le protocole HTTP, les services Web peuvent fonctionner au travers de nombreux pare-feux sans nécessiter des changements sur les règles de filtrage.

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 (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par des machines telles que...) répartie telles que le RMI, CORBA, ou DCOM.
  • Par l'utilisation du protocole HTTP, les services Web peuvent contourner les mesures de sécurité mises en place au travers des firewalls.

Scénarios

Les services Web implémentent de la logique (La logique (du grec logikê, dérivé de logos (λόγος), terme inventé par Xénocrate signifiant à la fois raison, langage, et raisonnement) est...) 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 (Le transport est le fait de porter quelque chose, ou quelqu'un, d'un lieu à un autre, le plus souvent en utilisant des véhicules et des voies de communications (la route, le canal ..). Par assimilation, des actions de...), puis XML pour le contenu), ce qui permet à n'importe quelle technologie (Le mot technologie possède deux acceptions de fait :) 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 (Le Hypertext Transfer Protocol, plus connu sous l'abréviation HTTP, littéralement le « protocole de transfert hypertexte », est un protocole de communication client-serveur...) par défaut). Pour comprendre ceci, gardez à l'esprit que beaucoup d'entreprises se sont protégées en employant des firewalls 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 firewalls 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 (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les...) 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 appellée "Project Tango") propose une implémentation de WS-ReliableMessaging, WS-SecureConversation, WS-Trust, ...
  • Axis et le serveur de Jakarta (Jakarta (que certains écrivent Djakarta en français, à prononcer [dʒa'karta]) est la capitale de la République d'Indonésie....) Tomcat (deux projets open source d'Apache Software Foundation)
  • XFire de CodeHaus offre un framework (Un framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit suffisamment de...) Java avec une approche différente (En mathématiques, la différente est définie en théorie algébrique des nombres pour mesurer l'éventuel défaut de dualité...) de Axis : http://xfire.codehaus.org/
  • ColdFusion MX de Macromedia (Macromedia (NASDAQ : MACR) était une entreprise d'informatique américaine produisant des logiciels et dont le siège social était situé...)
  • Serveurs HTTP IIS de Microsoft (Microsoft Corporation (NASDAQ : MSFT) est une multinationale américaine de solutions informatiques, fondée par Bill Gates et Paul Allen, dont le revenu annuel a atteint...) (avec le framework .NET)
  • WebLogic de BEA
  • WebSphere Application Server d'IBM (International Business Machines Corporation (IBM) est une société multinationale américaine présente dans les domaines du matériel informatique, du logiciel et des services informatiques.) (basé sur le serveur d'Apache et la plateforme de J2EE)
  • Oracle Application Serveur d'Oracle Corporation (Oracle Corporation (NASDAQ : ORCL) est une entreprise commerciale créée en 1977 par Lawrence Ellison connue pour :)
  • ZenWorks de Novell (Novell (NASDAQ : NOVL) est un éditeur de logiciel réputé pour son système d'exploitation réseau NetWare lancé en 1983 pour la plateforme PC (auparavant la société s'appelait Novell Data Systems et...)
  • Bibliothèque pour les développeurs de services Web en PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme...) NuSOAP
  • gSOAP: bibliothèque pour les développeurs de services Web en c++
  • JBoss (JBoss Application Server est un serveur d'applications J2EE Libre entièrement écrit en Java, publié sous licence LGPL. Parce que le logiciel est écrit en Java, JBoss...) Application Server de la société JBoss. Composant du JEMS (JBoss Enterprise Middleware System) dont fait également partie le framework de persistance ( Persistance (statistiques) Persistance (informatique) en peinture : La Persistance de la mémoire (1931) en médecine : la persistance du...) relationnelle Hibernate.
Page générée en 0.686 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique