Introduction à la programmation des services Web en code managé

Mise à jour : novembre 2007

Les services Web permettent l'échange de données sous la forme de messages XML entre systèmes hétérogènes. Même si l'accès distant aux données et à la logique de l'application n'est pas un concept nouveau, il en va différemment de cet accès effectué en mode faiblement couplé. Les solutions antérieures, comme DCOM, IIOP et Java/RMI, nécessitaient une intégration parfaite entre le client et le serveur, et elles utilisaient des formats de données binaires propres aux plateformes et aux implémentations. À l'inverse de ces protocoles, les services Web ne sont liés ni à une technologie de composant spécifique ni à une convention d'appel d'objet particulière. La seule hypothèse partagée par le client et le serveur est que les destinataires sont capables de lire les messages qu'ils reçoivent. Autrement dit, le client et le serveur conviennent de passer un contrat (dans le cas présent, décrit à l'aide de WSDL et XSD) et de communiquer en générant des messages qui respectent le contrat, via le protocole spécifié (HTTP, par exemple). En conséquence, les programmes peuvent accéder aux services Web, quels que soient le langage dans lequel ils sont écrits, le modèle de composant utilisé et le système d'exploitation sur lequel ils s'exécutent. De plus, la flexibilité qu'offre l'utilisation d'un format texte comme XML permet à l'échange des messages d'évoluer au fil du temps d'une façon faiblement couplée. Ce couplage faible est obligatoire dans les environnements où la mise à jour simultanée de toutes les parties de l'échange de messages n'est pas possible.

Vous créez les services Web à l'aide de l'infrastructure de page ASP.NET, leur permettant ainsi d'accéder aux nombreuses fonctionnalités du .NET Framework, comme l'authentification, la mise en cache et la gestion d'état. ASP.NET et le .NET Framework étant la base des services Web en code managé, les développeurs peuvent se concentrer sur la création de services Web ou leur accès sans avoir à écrire le code de l'infrastructure.

Dans le modèle d'application ASP.NET, les pages Web destinées au navigateur utilisent l'extension .aspx. Pour distinguer les services Web des pages ASP.NET standard, les services Web utilisent l'extension .asmx.

L'utilisation des services Web se caractérise par deux rôles fondamentaux :

  • Création d'un service Web — Lorsque vous créez un service Web XML, vous créez une application qui expose des fonctionnalités aux clients des services Web XML.

  • Accès à un service Web — — Lorsque vous accédez à un service Web, votre application cliente recherche les fonctionnalités contenues au sein d'un service Web distinct, y fait référence et les utilise. Le client d'un service Web XML est généralement une application capable d'envoyer, de recevoir et de traiter des messages vers et depuis le service Web. Cependant, la condition minimale requise est que le client soit capable d'envoyer des messages au service Web. Cette condition inclut toutes les applications utilisant le .NET Framework.

Les services Web peuvent être des applications autonomes ou des sous-composants d'une application Web plus importante. Imaginons, par exemple, que vous créez une application Web qui vend des livres en ligne. Votre application Web peut interagir avec les services Web de la façon suivante :

  • Création d'un service Web — Votre application expose sa logique de traitement des commandes en tant que service Web, que vos sites Web affiliés peuvent à leur tour utiliser dans leurs applications Web pour vendre des livres par l'intermédiaire de votre magasin en ligne sans que leurs clients aient à visiter votre propre site.

  • Accès au service Web — Votre application accède à un service Web fourni par une autre société en ligne spécialisée dans la rédaction et la diffusion de critiques littéraires auprès de libraires en ligne. Lorsqu'un visiteur de votre magasin en ligne examine les détails concernant un livre donné, il peut également lire sur la même page les critiques consacrées à cet ouvrage.

N'oubliez pas que les services Web sont accessibles à partir de pratiquement tout autre type d'application, notamment d'autres services Web et les applications Web, Windows et console. La condition minimale requise est que le client soit capable d'envoyer des messages au service Web.

Voir aussi

Autres ressources

Services Web en code managé

Programmation du Web avec les services Web

Création de services Web en code managé

Accès aux services Web en code managé