Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le graphique suivant illustre les couches principales de l’architecture WINDOWS Communication Foundation (WCF).
Architecture WCF
Contrats et descriptions
Les contrats définissent différents aspects du système de messages. Le contrat de données décrit chaque paramètre qui compose chaque message qu’un service peut créer ou consommer. Les paramètres de message sont définis par des documents XSD (XML Schema Definition Language), ce qui permet à tout système qui comprend xml de traiter les documents. Le contrat de message définit des parties de message spécifiques à l’aide de protocoles SOAP et permet un contrôle plus précis sur les parties du message, lorsque l’interopérabilité exige une telle précision. Le contrat de service spécifie les signatures de méthode réelles du service et est distribué en tant qu’interface dans l’un des langages de programmation pris en charge, tels que Visual Basic ou Visual C#.
Les stratégies et liaisons stipulent les conditions requises pour communiquer avec un service. Par exemple, la liaison doit (au minimum) spécifier le transport utilisé (par exemple, HTTP ou TCP) et un encodage. Les stratégies incluent les exigences de sécurité et d’autres conditions qui doivent être remplies pour communiquer avec un service.
Exécution du service
La couche runtime de service contient les comportements qui se produisent uniquement pendant l’opération réelle du service, autrement dit, les comportements d’exécution du service. Le contrôle de flux gère le nombre de messages traités, ce qui peut être ajusté si la demande pour le service atteint une limite prédéfinie. Un comportement d’erreur spécifie ce qui se produit lorsqu’une erreur interne se produit sur le service, par exemple en contrôlant les informations communiquées au client. (Trop d’informations peuvent donner à un utilisateur malveillant un avantage lors du montage d’une attaque.) Le comportement des métadonnées détermine comment et si les métadonnées sont mises à la disposition du monde extérieur. Le comportement de l’instance spécifie le nombre d’instances du service qui peuvent être exécutées (par exemple, un singleton spécifie une seule instance pour traiter tous les messages). Le comportement transactionnel permet l'annulation des opérations transigées si un échec se produit. Le comportement de répartition est le contrôle de la façon dont un message est traité par l’infrastructure WCF.
L’extensibilité permet la personnalisation des processus d’exécution. Par exemple, l’inspection des messages est l’installation permettant d’inspecter des parties d’un message et le filtrage des paramètres permet d’effectuer des actions prédéfinies en fonction des filtres agissant sur les en-têtes de message.
Messagerie
La couche de messagerie est composée de canaux. Un canal est un composant qui traite un message d’une certaine manière, par exemple, en authentifiant un message. Un ensemble de canaux est également appelé pile de canaux. Les canaux travaillent avec les messages et les en-têtes de message. Cela diffère de la couche d’exécution du service, qui s’inquiète principalement du traitement du contenu des corps de messages.
Il existe deux types de canaux : les canaux de transport et les canaux de protocole.
Les canaux de transport lisent et écrivent des messages à partir du réseau (ou d’un autre point de communication avec le monde extérieur). Certains transports utilisent un encodeur pour convertir des messages (représentés sous forme d’ensembles d’informations XML) vers et à partir de la représentation de flux d’octets utilisée par le réseau. Voici quelques exemples de transports : HTTP, canaux nommés, TCP et MSMQ. Des exemples d’encodages sont des fichiers XML et des fichiers binaires optimisés.
Les canaux de protocole implémentent des protocoles de traitement des messages, souvent en lisant ou en écrivant des en-têtes supplémentaires dans le message. Les exemples de ces protocoles incluent WS-Security et WS-Reliability.
La couche de messagerie illustre les formats possibles et les modèles d’échange des données. WS-Security est une implémentation de la spécification WS-Security permettant la sécurité au niveau de la couche de messages. Le canal de messagerie WS-Reliable permet de garantir la remise des messages. Les encodeurs présentent une variété d’encodages qui peuvent être utilisés pour répondre aux besoins du message. Le canal HTTP spécifie que le protocole de transport HyperText est utilisé pour la remise des messages. De même, le canal TCP spécifie le protocole TCP. Le canal de flux de transactions régit les modèles de messages traités. Le canal nommé active la communication entre processus. Le canal MSMQ permet l’interopérabilité avec les applications MSMQ.
Hébergement et activation
Dans sa forme finale, un service est un programme. Comme d’autres programmes, un service doit être exécuté dans un exécutable. Il s’agit d’un service auto-hébergé .
Les services peuvent également être hébergés ou exécutés dans un exécutable géré par un agent externe, tel que IIS ou le service d’activation Windows (WAS). WAS permet aux applications WCF d’être activées automatiquement lorsqu’elles sont déployées sur un ordinateur exécutant WAS. Les services peuvent également être exécutés manuellement en tant qu’exécutables (fichiers.exe). Un service peut également être exécuté automatiquement en tant que service Windows. Les composants COM+ peuvent également être hébergés en tant que services WCF.