WebService WCF

Nous sommes aujourd'hui dans un monde inter connecté, ou les technologies, quel que soit leur langage, peuvent se comprendre.
Pour obtenir ce résultat, des solutions ont le vent en poupe comme les architectures dites SOA, pour Service Oriented Architecture (une architecture orientée service).

Ces architectures sont des architectures N-Tiers souvent en mode "déconnecté". La technologie généralement retenue pour la communication entre ces divers composants de services sont les "Web Services".

Pourquoi les Web Services ?

Les Web Services sont une norme de transfert de données indépendantes du langage. En effet, la technologie retenue pour communiquer est un XML normalisé sous le nom de SOAP(Simple Object Access Protocol). Pour le transport des données, le protocole HTTP est utilisé.
L'avantage du SOAP : tous les langages actuels savent manipuler et écrire du XML.
Pour le HTTP, souvent les logiciels doivent communiquer avec l'extérieur du réseau de la société et il faut donc agir au niveau des firewall (PareFeu) des entreprises. Le HTTP résout ce problème puisqu'il peut être exposé sur le site principal de la société. Bien sûr, les Web Services disposent de moyens de sécurité avancés comme l'authentification par certificat X509. Nous allons voir ici la mise à en place d'un Web Service en technologie WCF(C# 3.5). Dans un Web Service il y a un service mais également un client qui va consommer le Web Service distant (proxy client).

Création d'un service WCF

Pour créer un service wcf, il faut pour commencer déclarer une interface en ajoutant l'attribut ServiceContract

Au sein de cette interface, pour déterminer la méthode que vous voulez exposer ou non,
il suffit de mettre devant chaque méthode OperationContract

Service

Une fois la signature des services définie, il faut déclarer une implémentation de cette interface et créer une nouvelle classe qui implémente l'interface.
Pour dire au système que cette classe est une implémentation de service, on la préfixe avec l'attribut ServiceBehaviour.

ServiceBehaviour

Toutes les classes qui serviront dans votre service devront avoir en attribut DataContract.
Et les propriétés que vous voulez exposer seront préfixées avec DataMember.

dataCM

Une fois votre code d'implémentation écrit, il ne reste plus qu'à exposer le service en passant par l'outil de configuration. Il permet d'exposer le service avec de multiples options. On peut, par exemple, définir plusieurs points d'entrées :

  • un accès sécurisé par certificat X509
  • un accès HTTP standard

webconfig

Une fois le fichier Web.config écrit grâce à cet outil, le service est disponible et on peut maintenant créer le client qui va consommer ce service.

Un commentaire

  1. Bonjour,

    Suite à la lecture de votre blog, je me permet de vous contacter. Je recherche actuellement un développeur .NET/WCF dans le secteur de la communication et média. C’est une mission longue durée située dans le 92.

    Vous intégrerez une équipe de développeurs et serez sous la responsabilité d’un chef de projet.

    Si cette mission est susceptible de vous intéresser, n’hésitez pas à me contacter.

    Cordialement

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.