Services Web - Architecture
Il existe deux façons d'afficher l'architecture du service Web:
- La première consiste à examiner les rôles individuels de chaque acteur du service Web.
- La seconde consiste à examiner la pile de protocoles de service Web émergente.
Rôles du service Web
Il existe trois rôles principaux dans l'architecture de service Web:
Fournisseur de services
Il s'agit du fournisseur du service Web. Le fournisseur de services met en œuvre le service et le met à disposition sur Internet.
Demandeur de service
Il s'agit de n'importe quel consommateur du service Web. Le demandeur utilise un service Web existant en ouvrant une connexion réseau et en envoyant une requête XML.
Registre des services
Il s'agit d'un répertoire de services logiquement centralisé. Le registre fournit un endroit central où les développeurs peuvent publier de nouveaux services ou trouver des services existants. Il sert donc de chambre de compensation centralisée pour les entreprises et leurs services.
Pile de protocoles de service Web
Une deuxième option pour visualiser l'architecture du service Web consiste à examiner la pile de protocoles de service Web émergente. La pile évolue toujours, mais compte actuellement quatre couches principales.
Transport de service
Cette couche est responsable du transport des messages entre les applications. Actuellement, cette couche comprend le protocole de transport Hyper Text (HTTP), le protocole de transfert de courrier simple (SMTP), le protocole de transfert de fichiers (FTP) et les protocoles plus récents tels que le protocole d'échange extensible de blocs (BEEP).
Messagerie XML
Cette couche est responsable du codage des messages dans un format XML commun afin que les messages puissent être compris à chaque extrémité. Actuellement, cette couche comprend XML-RPC et SOAP.
Description du service
Cette couche est chargée de décrire l'interface publique avec un service Web spécifique. Actuellement, la description du service est gérée via le Web Service Description Language (WSDL).
Découverte de service
Cette couche est chargée de centraliser les services dans un registre commun et de fournir une fonctionnalité de publication / recherche facile. Actuellement, la découverte de services est gérée via la description, la découverte et l'intégration universelles (UDDI).
À mesure que les services Web évoluent, des couches supplémentaires peuvent être ajoutées et des technologies supplémentaires peuvent être ajoutées à chaque couche.
Le chapitre suivant explique les composants des services Web.
Quelques mots sur le service de transport
Le bas de la pile de protocoles de service Web est le transport de service. Cette couche est responsable du transport des messages XML entre deux ordinateurs.
Protocole de transfert Hyper Text (HTTP)
Actuellement, HTTP est l'option la plus populaire pour le transport de services. HTTP est simple, stable et largement déployé. De plus, la plupart des pare-feu autorisent le trafic HTTP. Cela permet aux messages XMLRPC ou SOAP de se faire passer pour des messages HTTP. C'est bien si vous souhaitez intégrer des applications distantes, mais cela soulève un certain nombre de problèmes de sécurité.
Bloque le protocole d'échange extensible (BEEP)
C'est une alternative prometteuse à HTTP. BEEP est un nouveau cadre IETF (Internet Engineering Task Force) pour la création de nouveaux protocoles. BEEP est directement posé sur TCP et comprend un certain nombre de fonctionnalités intégrées, notamment un protocole de prise de contact initial, l'authentification, la sécurité et la gestion des erreurs. En utilisant BEEP, on peut créer de nouveaux protocoles pour une variété d'applications, y compris la messagerie instantanée, le transfert de fichiers, la syndication de contenu et la gestion de réseau.
SOAP n'est lié à aucun protocole de transport spécifique. En fait, vous pouvez utiliser SOAP via HTTP, SMTP ou FTP. Une idée prometteuse est donc d'utiliser SOAP sur BEEP.