Introduction à la programmation des services Web en code managé
À l'aide de services Web, vous pouvez échanger des données faiblement couplées sous la forme de messages XML entre des 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 tentatives précédentes, telles que DCOM, IIOP et Java/RMI, nécessitaient une intégration étroite entre le client et le serveur. À la place du contrat basé sur XML qui constitue la base des services Web, ils utilisaient des formats de données binaires spécifiques au système d'exploitation d'une part et à l'implémentation d'autre part.
Contrairement à DCOM, IIOP et Java/RMI, les services Web ne nécessitent pas de technologie de composant ou de 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. En d'autres termes, le client et le serveur acceptent un contrat (dans ce cas, un contrat défini à l'aide de WDSL et d'une définition de schéma XSL (XSD)). Ensuite, le client et le serveur communiquent en générant des messages qui respectent le contrat via un transport spécifié tel que HTTP. Par conséquent, 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. En outre, la souplesse d'un format de texte tel que XML permettra aux échanges de messages d'évoluer au fil du temps d'une manière 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.
Cette technologie est conservée pour la compatibilité descendante avec les applications existantes et n'est pas recommandée pour un nouveau développement. Pour plus d'informations sur les alternatives recommandées, consultez la rubrique suivante : .
Services Windows Communication Foundation et services de données WCF dans Visual Studio
Services Web et .NET Framework
Si vous créez un service Web à l'aide de code managé basé sur ASP.NET et le .NET Framework, vous ne devez pas nécessairement écrire le code d'infrastructure pour gérer certains détails, tels que les protocoles de communication ou les transports de messages. De plus, si vous créez des services Web qui utilisent l'infrastructure de page ASP.NET, vos services peuvent utiliser de nombreuses fonctionnalités du .NET Framework, telles que l'authentification, la mise en cache et la gestion d'état.
Dans le modèle d'application ASP.NET, les pages Web utilisent l'extension .aspx. Pour distinguer les services Web des pages ASP.NET standard, les services Web utilisent l'extension .asmx.
Pour faciliter l'échange bidirectionnel de données à l'aide des services Web, un développeur doit :
Créer un service Web. Lorsque vous créez un service Web XML, vous créez une application qui expose les fonctionnalités aux clients de service Web XML.
Accéder à un service Web. Lorsque vous accédez à un service Web, l'application cliente trouve, référence et utilise les fonctionnalités contenues dans le service Web. Le client d'un service Web XML est en général une application. Cette application peut envoyer, recevoir et traiter des messages à destination et en provenance du service Web.
Un même développeur ne crée pas nécessairement de service Web avant d'y accéder. Par exemple, certaines services Web tels qu'un service d'info-trafic peuvent être créés par une entité unique (par exemple, le ministère des transports). Par contre, de nombreux sites Web peuvent y accéder, notamment les sites Web des sociétés de fret.
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 utiliser des services Web pour réaliser les opérations suivantes :
Créer un service Web. Votre application expose sa logique de traitement d'ordre sous la forme d'un service Web. Vos sites Web affiliés accèdent à ce service dans les applications Web de vente de livres en ligne.
Accéder à un service Web. Votre application accède à un service Web développé par une autre société en ligne spécialisée dans la publication de critiques littéraires destinées aux libraires en ligne. Lorsqu'un visiteur de votre magasin en ligne consulte le prix d'un livre donné, il peut lire sur la même page les critiques consacrées à cet ouvrage.
Gardez à l'esprit que vous pouvez accéder aux services Web à partir de nombreux types d'applications différents, notamment d'autres services Web, d'applications Web, d'applications Windows et d'applications de console. Toutefois, le client doit être en mesure d'envoyer des messages au service Web.