Que sont les services Web?

Différents livres et différentes organisations fournissent des définitions différentes aux services Web. Certains d'entre eux sont répertoriés ici.

  • Un service Web est tout logiciel qui se rend disponible sur Internet et utilise un système de messagerie XML normalisé. XML est utilisé pour coder toutes les communications vers un service Web. Par exemple, un client appelle un service Web en envoyant un message XML, puis attend une réponse XML correspondante. Comme toutes les communications sont en XML, les services Web ne sont liés à aucun système d'exploitation ou langage de programmation - Java peut communiquer avec Perl; Les applications Windows peuvent communiquer avec les applications Unix.

  • Les services Web sont des applications autonomes, modulaires, distribuées et dynamiques qui peuvent être décrites, publiées, localisées ou appelées sur le réseau pour créer des produits, des processus et des chaînes d'approvisionnement. Ces applications peuvent être locales, distribuées ou basées sur le Web. Les services Web reposent sur des normes ouvertes telles que TCP / IP, HTTP, Java, HTML et XML.

  • Les services Web sont des systèmes d'échange d'informations basés sur XML qui utilisent Internet pour une interaction directe d'application à application. Ces systèmes peuvent inclure des programmes, des objets, des messages ou des documents.

  • Un service Web est un ensemble de protocoles et de normes ouverts utilisés pour l'échange de données entre des applications ou des systèmes. Les applications logicielles écrites dans divers langages de programmation et exécutées sur diverses plates-formes peuvent utiliser des services Web pour échanger des données sur des réseaux informatiques comme Internet d'une manière similaire à la communication inter-processus sur un seul ordinateur. Cette interopérabilité (par exemple, entre Java et Python, ou entre les applications Windows et Linux) est due à l'utilisation de standards ouverts.

Pour résumer, un service Web complet est donc tout service qui -

  • Est disponible sur Internet ou sur des réseaux privés (intranet)

  • Utilise un système de messagerie XML standardisé

  • N'est lié à aucun système d'exploitation ou langage de programmation

  • Est auto-descriptif via une grammaire XML commune

  • Est découvrable via un simple mécanisme de recherche

Composants des services Web

La plate-forme de services Web de base est XML + HTTP. Tous les services Web standard fonctionnent avec les composants suivants -

  • SOAP (Simple Object Access Protocol)

  • UDDI (description, découverte et intégration universelles)

  • WSDL (langage de description de services Web)

Tous ces composants ont été abordés dans le chapitre Architecture des services Web .

Comment fonctionne un service Web?

Un service Web permet la communication entre diverses applications en utilisant des normes ouvertes telles que HTML, XML, WSDL et SOAP. Un service Web prend l'aide de -

  • XML pour baliser les données

  • SOAP pour transférer un message

  • WSDL pour décrire la disponibilité du service.

Vous pouvez créer un service Web Java sur Solaris accessible à partir de votre programme Visual Basic qui s'exécute sous Windows.

Vous pouvez également utiliser C # pour créer de nouveaux services Web sur Windows qui peuvent être appelés à partir de votre application Web basée sur JavaServer Pages (JSP) et s'exécutant sous Linux.

Exemple

Envisagez un système simple de gestion des comptes et de traitement des commandes. Le personnel comptable utilise une application client construite avec Visual Basic ou JSP pour créer de nouveaux comptes et saisir de nouvelles commandes clients.

La logique de traitement de ce système est écrite en Java et réside sur une machine Solaris, qui interagit également avec une base de données pour stocker des informations.

Les étapes pour effectuer cette opération sont les suivantes -

  • Le programme client regroupe les informations d'enregistrement du compte dans un message SOAP.

  • Ce message SOAP est envoyé au service Web en tant que corps d'une requête HTTP POST.

  • Le service Web décompresse la requête SOAP et la convertit en une commande que l'application peut comprendre.

  • L'application traite les informations selon les besoins et répond avec un nouveau numéro de compte unique pour ce client.

  • Ensuite, le service Web regroupe la réponse dans un autre message SOAP, qu'il renvoie au programme client en réponse à sa requête HTTP.

  • Le programme client décompresse le message SOAP pour obtenir les résultats du processus d'enregistrement de compte.