Services Web - Caractéristiques

Les services Web présentent les caractéristiques comportementales spéciales suivantes:

Basé sur XML

Les services Web utilisent XML au niveau des couches de représentation et de transport de données. L'utilisation de XML élimine toute liaison réseau, système d'exploitation ou plate-forme. Les applications basées sur les services Web sont hautement interopérables à leur niveau de base.

Couplage lâche

Un consommateur d'un service Web n'est pas directement lié à ce service Web. L'interface du service Web peut changer au fil du temps sans compromettre la capacité du client à interagir avec le service. Un système étroitement couplé implique que les logiques client et serveur sont étroitement liées l'une à l'autre, ce qui implique que si une interface change, l'autre doit être mise à jour. L'adoption d'une architecture faiblement couplée tend à rendre les systèmes logiciels plus gérables et permet une intégration plus simple entre différents systèmes.

À gros grains

Les technologies orientées objet telles que Java exposent leurs services via des méthodes individuelles. Une méthode individuelle est une opération trop fine pour fournir une capacité utile au niveau de l'entreprise. La création d'un programme Java à partir de zéro nécessite la création de plusieurs méthodes à granularité fine qui sont ensuite composées en un service à granularité grossière qui est consommé par un client ou un autre service.

Les entreprises et les interfaces qu'elles exposent doivent être grossières. La technologie des services Web offre un moyen naturel de définir des services grossiers qui accèdent à la bonne quantité de logique métier.

Capacité à être synchrone ou asynchrone

La synchronicité fait référence à la liaison du client à l'exécution du service. Dans les appels synchrones, le client se bloque et attend que le service termine son opération avant de continuer. Les opérations asynchrones permettent à un client d'appeler un service, puis d'exécuter d'autres fonctions.

Les clients asynchrones récupèrent leur résultat ultérieurement, tandis que les clients synchrones reçoivent leur résultat lorsque le service est terminé. La capacité asynchrone est un facteur clé pour permettre des systèmes faiblement couplés.

Prend en charge les appels de procédure à distance (RPC)

Les services Web permettent aux clients d'appeler des procédures, des fonctions et des méthodes sur des objets distants à l'aide d'un protocole XML. Les procédures distantes exposent les paramètres d'entrée et de sortie qu'un service Web doit prendre en charge.

Le développement de composants via les EJB (Enterprise JavaBeans) et les composants .NET fait de plus en plus partie des architectures et des déploiements en entreprise au cours des deux dernières années. Les deux technologies sont distribuées et accessibles via une variété de mécanismes RPC.

Un service Web prend en charge RPC en fournissant ses propres services, équivalents à ceux d'un composant traditionnel, ou en traduisant les appels entrants en un appel d'un EJB ou d'un composant .NET.

Prend en charge l'échange de documents

L'un des principaux avantages de XML est sa manière générique de représenter non seulement des données, mais également des documents complexes. Ces documents peuvent être aussi simples que représenter une adresse actuelle, ou ils peuvent être aussi complexes que représenter un livre entier ou une demande de devis (RFQ). Les services Web prennent en charge l'échange transparent de documents pour faciliter l'intégration commerciale.