150 likes | 310 Views
WCF. Windows Communication foundation. Service Oriented Architecture SOA. Les architectures des applications informatiques modernes repose sur le paradigme de blocs de services.
E N D
WCF Windows Communication foundation
Service Oriented Architecture SOA • Les architectures des applications informatiques modernes repose sur le paradigme de blocs de services. • Ces blocks de services doivent être accessibles et consommables rapidement et avec le moins de contraintes techniques spécifique (indépendance de technologie et de plateforme). • Une première réponse a été apportée par les services web, mais il existe d’autres technologies.
Technologies distribuées chez Microsoft • DCOM. • MS Message Queue (MSMQ). • .Net Remoting. • Web Services.
Problématique • Toutes ces technologies sont fortement couplées à l’infrastructure de communication du service qu’elles exposent. • Il n’est pas évident de faire le bon choix technologique dans la phase d’étude du projet. • L’évolution d’une infrastructure à une autre n’est pas forcement simple à mettre en place.
Objectif de WCF • Proposer un modèle de programmation unifié pour l’ensemble des technologies distribuées de Microsoft. • Permettre de construire des applications indépendantes du mécanisme de communication sous-jacent. • WCF est une réponse structurée et intégrée au framework.net
Structure d’un service WCF • Un hôte qui héberge le service et procure l’environnement d’exécution. • Un contrat de service qui définit via une interface et des entités les opérations implémentées par le service. • Le service qui implémente l’interface. • Des points de terminaison (end point) qui permettent d’exposer le service.
Entités • Les opérations implémentées par les services agissent sur des entités. • Les entités sont des types d’objet ‘creux’ qui ne contiennent que des champs et des propriétés get/set public. • Les attributs DataContract et DataMenber permettent de spécifier les éléments a intégrer dans l’entité du contrat.
Interface • L’interface permet de définir les opérations implémentées par le service. • Les attributs ServiceContract et OperaionContract servent a spécifier les éléments exposés dans le contrat.
Le service • Le service WCF doit implémenter l’interface de service précédemment créée. • C’est dans ce code que se trouve la logique métier du service.
Points de terminaisons • Ils sont composés d’au moins trois éléments (ABC) • Address. Localisation du service. • Binding . Protocole de communication (transport, encodage, securite, …). • Contract. Contenu du service.
Hébergement des services • La classe ServiceHost est responsable du chargement du service et de la configuration des points de terminaisons. • Dans IIS interagit avec cette classe de manière automatique. • Les services et applications windows doivent implémenter cette classe.
La classe ServiceHost • La classe ServiceHost a besoin de: • Le type de la classe qui met en œuvre le service. • Les adresses sur lesquelles elle doit guetter les requêtes. (possibilité de le faire via le fichier app.config). • La classe ServiceHost expose des événements permettant de suivre son état.
Les applications clientes • Les applications qui consomment un service WCF ont besoin de connaitre: • Le canal d’envoi. • Le contrat mis en œuvre. • Les entités (si présente) • L’adresse du service.