Hébergement et configuration de services WCF Version 1.0 Dotnet France Associat
Hébergement et configuration de services WCF Version 1.0 Dotnet France Association 2 Configuration et Hebergement de services WCF Sommaire 1 Présentation du chapitre ................................................................................................................. 3 1.1 Présentation générale ............................................................................................................. 3 1.1.1 A qui s’adresse ce chapitre .............................................................................................. 3 1.1.2 Un mot sur les exemples ................................................................................................. 3 2 Rappels sur WCF .............................................................................................................................. 4 2.1 Principe de WCF. ..................................................................................................................... 4 2.2 Principe de base des communications client/serveur WCF. ................................................... 4 2.2.1 Le contrat de service. ...................................................................................................... 4 2.2.2 Les endpoints ................................................................................................................... 4 2.2.3 La classe proxy. ................................................................................................................ 4 3 Notions avancées de communications client, serveur WCF. .......................................................... 6 3.1 Notions avancées sur les endpoints ........................................................................................ 6 3.1.1 Le binding ........................................................................................................................ 6 3.2 Fonctionnement du dialogue entre un client et un service WCF ............................................ 7 3.2.1 Les canaux ....................................................................................................................... 7 3.2.2 Le cheminement des messages ....................................................................................... 8 3.2.3 Les différentes manières d’héberger un service WCF. .................................................... 8 3.2.4 Présentation des différents modes d’hébergement ....................................................... 8 3.2.5 Mise en pratique de l’hébergement de services. .......................................................... 10 3.3 Gestion de l’accès aux métadonnées de service ................................................................... 19 3.3.1 Metadata Exchange (MEX). ........................................................................................... 19 3.3.2 Paramétrer la publication des métadonnées d’un service. .......................................... 20 3.4 Gestion des comportements de service ................................................................................ 21 3.4.1 Définition ....................................................................................................................... 21 3.4.2 Déclaration et application des Behaviors ...................................................................... 21 3.5 La configuration coté client ................................................................................................... 22 3.5.1 La classe proxy clé de voute de WCF coté client. .......................................................... 22 3.5.2 Rôle et contenu d’une classe proxy ............................................................................... 22 3.5.3 Consommer un service WCF sans pourvoir générer de classe proxy ............................ 25 4 Conclusion : ................................................................................................................................... 28 Dotnet France Association 3 Configuration et Hebergement de services WCF 1 Présentation du chapitre 1.1 Présentation générale Tout au long de ce chapitre, nous allons traiter toute la problématique de l’hébergement et de la configuration des services Windows Communication Foundation. Après avoir fait quelques rappels sur les notions essentielles à avoir pour la compréhension de ce chapitre, nous traiterons des différentes façons d’héberger un service WCF et comment le configurer. 1.1.1 A qui s’adresse ce chapitre Ce chapitre s’adresse aux développeurs .Net désireux de connaitre en profondeur les arcanes de l’hébergement et de la configuration des services WCF. Afin de profiter pleinement de ce chapitre, il est fortement recommandé d’avoir précédemment lu et assimilé dans sa globalité le chapitre 1 : Introduction à WCF. 1.1.2 Un mot sur les exemples Ce chapitre ne traitant que de l’hébergement et de la configuration des services WCF, les exemples donnés tout au long de ce cours vont s’appuyer sur l’application « Médiathèque » qui a servi d’exemple dans le chapitre précédent. A ce titre, il est souhaitable que le lecteur ait déjà suivi et appliqué la construction de ce programme exemple ou ait déjà écrit une application équivalente. Dotnet France Association 4 Configuration et Hebergement de services WCF 2 Rappels sur WCF Avant de commencer { aborder l’hébergement et la configuration des services WCF, nous allons reprendre les notions fondamentales abordées dans le chapitre d’introduction et qu’il est nécessaire de comprendre pour pouvoir aborder ce nouveau chapitre dans les meilleures conditions. 2.1 Principe de WCF. Le but de WCF est d’exposer une ou plusieurs méthodes d’un objet { travers un réseau local d’entreprise ou { travers l’Internet afin que des applications puissent les utiliser. Pour ce faire, il est donc nécessaire d’héberger le service WCF sur un serveur, et de le configurer de manière { ce qu’il soit capable de répondre aux requêtes des clients potentiels. Du coté du client – l’application qui va utiliser le service – il faut lui fournir toutes les informations nécessaires pour se connecter au service WCF et l’utiliser correctement. C’est toute cette problématique d’hébergement du service, de configuration coté serveur et de configuration coté client qui est l’objet de ce chapitre. 2.2 Principe de base des communications client/serveur WCF. Lors de l’introduction { WCF nous avons vu quelques rudiments du principe de communication entre un service WCF et ses clients. 2.2.1 Le contrat de service. Pour rappel, le seul élément que connait un client WCF du service auquel il se connecte est son « contrat de service ». En pratique, il s’agit d’une interface décorée de l’attribut [service contract] et dont chacune des méthodes devant être exposées aux clients est elle-même décorée avec l’attribut [OperationContract]. Ensuite, cette interface est implémentée coté serveur par une classe appelée tout simplement « implémentation du service ». L’implémentation du service contient tout le code nécessaire { la réalisation proprement dite de l’opération invoquée par le client. Bien entendu, ce dernier n’a aucune connaissance de cette implémentation, il se contente juste d’appeler une méthode définie dans l’interface que lui présente le service. 2.2.2 Les endpoints Dans le précédent chapitre, vous avons vu les grandes lignes de la notion d’endpoints. Un endpoint est un point auquel un client va pouvoir se connecter pour utiliser le service. Nous avons vu aussi qu’un endpoint est en réalité une combinaison de 3 éléments A, B et C : Une Adresse : Où se trouve le service sur le réseau ? Un Binding : Comment communiquer avec le service ? Quelle « langue » faut-il parler ? Un Contact : Comme exposé plus haut c’est la liste des opérations que le service expose au client. 2.2.3 La classe proxy. Rappelons enfin que la classe proxy est une classe utilisée coté client pour masquer la complexité des communications entre le service WCF et l’application qui l’utilise. Cette classe contient une représentation locale de chaque classe métier utilisée par le service, en tant qu’argument ou type de retour ainsi qu’une vue de chaque méthode exposée par le service. Cette Dotnet France Association 5 Configuration et Hebergement de services WCF vue est obtenue a partir des informations WSDL du service, sorte de « mode d’emploi » indiquant au client comment utiliser le service. Dotnet France Association 6 Configuration et Hebergement de services WCF 3 Notions avancées de communications client, serveur WCF. 3.1 Notions avancées sur les endpoints Revenons sur une notion fondamentale de WCF : les endpoints. Dans l’Introduction nous avons vu qu’un endpoint était une combinaison de 3 éléments : Une adresse, un binding, un contrat. 3.1.1 Le binding Le binding est certainement l’élément le plus critique { configurer dans un endpoint WCF. Il peut servir à définir un nombre important de paramètres tels que le protocole de transport ou le format des messages échangés. En réalité, seuls ces deux paramètres sont obligatoires. Dans des services complexes, que nous étudierons dans les chapitres suivants, le binding peut aussi servir à définir des paramètres de sécurité (authentification et cryptographie) mais aussi comment le service doit gérer les transactions. 3.1.1.1 Les deux paramètres obligatoires du binding : 3.1.1.1.1 Le protocole de transport : De manière générale, pour communiquer { travers un réseau, il est nécessaire d’utiliser des protocoles pour transporter les données afin que les différentes machines qui dialoguent entre elles se comprennent. C’est exactement le même principe pour les humains : quand plusieurs personnes communiquent entre elles, elles utilisent une langue commune pour se comprendre. Par défaut, on utilise généralement le protocole http pour les services WCF. Seulement, ce protocole n’est pas adapté { tous les cas de figure ni { tous les cas d’utilisation possibles de WCF. Heureusement il est possible d’utiliser d’autres protocoles que http pour exposer des services WCF. Protocole Utilisation http Protocole par défaut, https Même principe que http avec une sécurité SSL/TLS en plus Sockets TCP/IP Méthode adaptée au transfert de données volumineuses telles que le son ou la vidéo Canaux nommés Protocole généralement utilisé lorsque les clients du service se trouvent sur la même machine que le service lui même File d’attente de message MSMQ A utiliser pour le transfert de messages fiables et persistants. 3.1.1.1.2 Le format des données Le format des données sert, comme son nom l’indique, { définir comment le client et le serveur vont dialoguer, comment les requêtes du client doivent être formées et comment les réponses du serveur doivent être interprétées. En quelque sorte, le binding défini la langue dans laquelle le serveur et le client vont communiquer. De manière générale, on distingue généralement 2 types de format de données : Ceux basés sur XML et qui donc sont basés sur du texte ou bien le binaire qui servira pour transmettre des flux volumineux de type vidéo par exemple. Dotnet France Association 7 Configuration et Hebergement de services WCF 3.1.1.2 L’adresse Le rôle de l’adresse est de localiser le service sur le réseau tout comme on localise un ordinateur ou un site internet. L’adresse indique aussi le protocole de transport employé selon la nomenclature suivante : Protocole Préfixe de l’adresse http http:// https https:// Tcp Net.tcp// Canaux nommés MSMQ Remarque : l’adresse et le protocole indiqué dans la configuration doivent être compatibles ! 3.2 Fonctionnement du dialogue entre un client et un service WCF Apres avoir étudié la notion de endpoint et ses divers composants, intéressons nous plus particulièrement au dialogue entre un client et un service WCF. 3.2.1 Les canaux Pour transiter du client vers le service ou du service vers le client, uploads/s1/ heberger-un-service-wcf-dotnet-france.pdf
Documents similaires










-
54
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 05, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 10.6949MB