Communication inter-applicative avec WCF
Référence : WCF
Durée : 3 jours (21 heures)
L'architecture orientée service (SOA) fait de plus en plus d'adeptes. Le Framework .Net évolue donc pour en faciliter l'implémentation. Il permet notamment de réaliser une meilleure communication inter composants grâce à Windows Communication Foundation (WCF).
Les appels inter composants ont fait l'objet de beaucoup d'attentions et de nombreuses versions par le passé : DDE, OLE, COM et les ActiveX, DCOM, COM+. Si l'avènement des Services Web a grandement simplifié le panorama, WCF offre la meilleure réponse technique à un besoin de communication, sans faire de compromis sur les besoins opérationnels comme la sécurité, l'asynchronisme ou la fiabilité.
Travaux pratiques :
Dans le cas pratique, vous apprendrez à créer votre premier Web Service WCF, puis vous changerez son mode d'hébergement. Vous verrez comment appeler un service sans passer par un proxy, comment configurer plusieurs points de terminaison, comment gérer des types de retour complexes et comment transférer des gros fichiers. Vous travaillerez sur la gestion de l'asynchronisme et vous déploierez sous IIS 7.0. Vous vous exercerez aussi à la sécurité (authentification, cryptage). Vous gérerez des sessions et des transactions. Enfin, vous implémenterez des services REST et vous découvrirez RIA Services.
Vous allez apprendre à :
- Comprendre les concepts de l'architecture orientée service
- Comprendre les apports de WCF
- Choisir le mode de communication adéquat
- Développer des Web Services avec .Net 4.0
- Communiquer avec des applications existantes
- Tester vos services
- Implémenter des services SOAP et REST
Méthode pédagogique :
70% de travaux pratiques
Audience :
Développeurs objet expérimentés, chefs de projets
Pré-requis :
- Maîtrise d'un langage de programmation orienté objet
- Connaissance du Framework .Net 1.1 ou 2.0
- Connaissance de XML
Programme :
- Un monde de services
- Rappels sur l'architecture orientée services (SOA)
- Revue des concepts WCF
- Le modèle de programmation unifié de WCF
- L'outillage et l'environnement de développement
- Les Web Services
- Revue des standards des Web Services (SOAP, REST, WSDL)
- Description de SOAP
- Importance du WSDL
- Les différents Web Services SOAP
- Création d'un Web Service ASMX
- Création d'un Web Service WCF et comparaison avec ASMX
- Création d'un Proxy
- Visualisation des messages échangés avec Fiddler
- L'hébergement
- Les différents types d'hôtes
- La classe ServiceHost
- Endpoint ABC
- Différents types de Binding
- L'importance du contrat de service
- La construction du fichier .config
- La publication des méta-données
- Appel d'un service sans passer par un Proxy (ChannelFactory)
- Fonctionnement d'un service
- Les behaviors
- Gestion de l'instanciation d'un service
- Gestion de la sérialisation (DataContractSerializer)
- Gestion des gros fichiers binaires (Base 64 et MTOM)
- Gestion de l'asynchronie
- Déploiement sous IIS
- Les différentes versions d'IIS
- Le vocabulaire lié à IIS
- Console d'administration
- Gestion de la publication
- Mise en place du traçage
- Gestion des sessions / transactions
- Session / Binding
- Ordre d'appel des méthodes dans une session
- Définition et mise en place d'une transaction distribuée
- MSDTC
- TransactionScope
- Sécurité
- Cryptographie avec HTTPS
- Authentification
- Gestion des droits basés sur les rôles d'ASP.NET
- Les Web Services REST
- Définition du concept
- Comparaison avec des Web Services appelables en pur HTTP (sans SOAP)
- Implémentation et déploiement
- Appel à partir d'un client lourd
- Appel à partir d'un client léger (Ajax)
- Avantages et limites