SlideShare une entreprise Scribd logo
1  sur  20
Création et
consommation de
services WCF
Préparer par:
Hicham mtaqa
Morad hachimi
Encadré par:
Mr Youness EL BOUZEKRI EL IDRISSI
PLAN:
 INTRODUCTION
 LES BASES FONDAMENTALES DE WCF
 CREATION D’UN SERVICE WCF
 HEBERGEMENT D’UN SERVICE WCF
 CONSOMMER UN SERVICE WCF
 CONCLUSION
Présentation:
WCF est une technologie qui permet de faciliter la mise en place des applications
distribuées en servant de socle commun aux architectures orientées services (SOA :
Service Oriented Architecture). WCF se veut être un modèle uniforme de distribution
de services :
 Faiblement couplé pour plus de souplesse ;
 Adapté à toutes situations et besoins de communication :
 Disponibilité ;
 Interopérabilité ;
 Sécurité.
INTRODUCTION
 familiariser avec WCF et les architectures SOA
 maîtriser un langage .NET (C# ou VB .NET).
Pré-requis:
 Première étape : définition du contrat. On définit les signatures des
méthodes composant notre service WCF, et du format des données à
échanger.
 Seconde étape : implémentation du contrat. On implémente les services.
 Troisième étape : configuration du service. On définit les endPoints,
autrement dit les points d’accès au service.
 Quatrième étape : hébergement des services dans une application .NET.
LES BASES FONDAMENTALES DE WCF
Les étapes de mise en œuvre :
 Une Adresse : adresse à laquelle
le client doit se connecter pour
utiliser le service.
 - Un Binding : protocole à
utiliser par le client pour
communiquer avec le service.
 - Un Contrat : infos échangées
entre le serveur et le client afin
que ce dernier sache comment
utiliser le service.
Les éléments ABC :
La mise en œuvre de WCF repose principalement sur 2 espaces de nom du
Framework .NET :
 System.ServiceModel
 System.Runtime.Serialization
Espaces de nom du Framework .NET
Le contrat de service est l’entité qui va :
 Etre échangée entre le serveur et le client ;
 Permettre au client de savoir quelles sont les méthodes proposées par le
service et comment les appeler.
L’élaboration d’un contrat de service s’effectue au travers des 3 métadonnées
suivantes :
 ServiceContract
 OperationContract
 DataMember
CRÉATION D’UN SERVICE WCF
Définition du contrat de service :
Cette métadonnée est attachée à la définition d’une classe ou, d’une une
interface. Il sert à indiquer que la classe ou l’interface est un contrat de service.
ServiceContract :
OperationContract :
DataMember :
Cette métadonnée est attachée aux méthodes que l’on souhaite exposer au
travers du service WCF. Ainsi, il est techniquement possible de l’exposer au client
que certaines méthodes d’une classe.
Cet attribut se place avant les propriétés des classes qui définissent les objets que
l’on va devoir passer en paramètre au service, ou que celui-ci va devoir nous
retourner.
Hébergement d’un service WCF
Un service WCF peut être hébergé dans diverses applications:
 Dans une application cliente (Winform, service Windows...)
 Dans une application ASP .NET, elle même hébergée sur un serveur IIS
Présentation :
Hébergement d’un service WCF
La configuration d’un service WCF est stockée dans un fichier XML
d’extension .config
<system.serviceModel> et </system.serviceModel>
Le fichier de configuration du service WCF :
Hébergement d’un service WCF
Un endpoint est un point de connexion auquel un client va pouvoir se
connecter pour utiliser le service
Un Behavior est un paramètre qui va affecter le fonctionnement local du
service
Behavior:
Endpoint :
Exemple d’hébergement du service « médiathèque » avec WCF Service
(Visual Studio 2008)
 interface: Public interface IMediathequeService (c#)
 class: Public class MediathequeServiceImpl : IMediathequeService
Hébergement d’un service WCF
Hébergement du service :
Hébergement d’un service WCF
fichier de configuration du service Mediatheque:
Le rôle de cette classe proxy est de masquer la complexité des
mécanismes de communication entre le service web WCF et le client afin
que le programmeur n’ai en réalité qu’un seul objet à utiliser.
Consommer un service WCF
La classe proxy:
Il existe deux méthodes pour générer une classe proxy:
-En ajoutant une référence de service dans le projet consommant le service WCF
(démo).
-En utilisant l’utilitaire svcutil.exe(méthode manuelle).
Consommer un service WCF
générer une classe proxy :
Consommer un service WCF
svcutil.exe :
Consommer un service WCF
Client WCF
 On importe les deux fichiers générés précédemment qui se trouvent
dans le répertoire de l’utilitaire svcutil.exe (clic droit sur le projet ajouter
un élément existant)
 On renomme ensuite le fichier de code en
MediathequeServiceClient.cs et le fichier output.config en App.config
 On modifie le namespace du fichier MediathequeServiceClient.cs afin qu’il
soit identique a celui du projet crée
 On rajoute les références à System.serviceModel
et System.Runtime.Serialization au projet.
(une instance de la classe proxy MediathequeServiceClient)
Conclusion
 Cette présentation est une introduction simple a une technologie très riche
en matière d’exposition de service et de distribution de données .
Notre but est de vous présenter le WCF et ses points clés à savoir:
- Notion contrat de service.
- Notion Endpoint.
- Notion Behavior.
- Comment créer, héberger et consommer un service.
DEMONSTRATION

Contenu connexe

Similaire à presentation_NET creation et consomation de services.pptx

Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
M20487 formation-developper-windows-azure-et-les-services-web
M20487 formation-developper-windows-azure-et-les-services-webM20487 formation-developper-windows-azure-et-les-services-web
M20487 formation-developper-windows-azure-et-les-services-webCERTyou Formation
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveurAmeni Ouertani
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
TechDays 2010 (CLO305) : Windows Azure App Fabric
TechDays 2010 (CLO305) : Windows Azure App FabricTechDays 2010 (CLO305) : Windows Azure App Fabric
TechDays 2010 (CLO305) : Windows Azure App FabricGeoffrey DANIEL
 
MSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuageMSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuageMicrosoft Technet France
 
Cloud computing
Cloud computingCloud computing
Cloud computingmourad50
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applicationsMohammed Jaafar
 
Windows Azure : Modèle hybride et réversibilité
Windows Azure : Modèle hybride et réversibilitéWindows Azure : Modèle hybride et réversibilité
Windows Azure : Modèle hybride et réversibilitéMicrosoft Technet France
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 

Similaire à presentation_NET creation et consomation de services.pptx (20)

Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
education
educationeducation
education
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
M20487 formation-developper-windows-azure-et-les-services-web
M20487 formation-developper-windows-azure-et-les-services-webM20487 formation-developper-windows-azure-et-les-services-web
M20487 formation-developper-windows-azure-et-les-services-web
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
TechDays 2010 (CLO305) : Windows Azure App Fabric
TechDays 2010 (CLO305) : Windows Azure App FabricTechDays 2010 (CLO305) : Windows Azure App Fabric
TechDays 2010 (CLO305) : Windows Azure App Fabric
 
Azure Mesh Et Surface
Azure Mesh Et SurfaceAzure Mesh Et Surface
Azure Mesh Et Surface
 
MSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuageMSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuage
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applications
 
Windows Azure : Modèle hybride et réversibilité
Windows Azure : Modèle hybride et réversibilitéWindows Azure : Modèle hybride et réversibilité
Windows Azure : Modèle hybride et réversibilité
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 

Dernier

Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 

Dernier (20)

Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 

presentation_NET creation et consomation de services.pptx

  • 1. Création et consommation de services WCF Préparer par: Hicham mtaqa Morad hachimi Encadré par: Mr Youness EL BOUZEKRI EL IDRISSI
  • 2. PLAN:  INTRODUCTION  LES BASES FONDAMENTALES DE WCF  CREATION D’UN SERVICE WCF  HEBERGEMENT D’UN SERVICE WCF  CONSOMMER UN SERVICE WCF  CONCLUSION
  • 3. Présentation: WCF est une technologie qui permet de faciliter la mise en place des applications distribuées en servant de socle commun aux architectures orientées services (SOA : Service Oriented Architecture). WCF se veut être un modèle uniforme de distribution de services :  Faiblement couplé pour plus de souplesse ;  Adapté à toutes situations et besoins de communication :  Disponibilité ;  Interopérabilité ;  Sécurité. INTRODUCTION
  • 4.  familiariser avec WCF et les architectures SOA  maîtriser un langage .NET (C# ou VB .NET). Pré-requis:
  • 5.  Première étape : définition du contrat. On définit les signatures des méthodes composant notre service WCF, et du format des données à échanger.  Seconde étape : implémentation du contrat. On implémente les services.  Troisième étape : configuration du service. On définit les endPoints, autrement dit les points d’accès au service.  Quatrième étape : hébergement des services dans une application .NET. LES BASES FONDAMENTALES DE WCF Les étapes de mise en œuvre :
  • 6.  Une Adresse : adresse à laquelle le client doit se connecter pour utiliser le service.  - Un Binding : protocole à utiliser par le client pour communiquer avec le service.  - Un Contrat : infos échangées entre le serveur et le client afin que ce dernier sache comment utiliser le service. Les éléments ABC :
  • 7. La mise en œuvre de WCF repose principalement sur 2 espaces de nom du Framework .NET :  System.ServiceModel  System.Runtime.Serialization Espaces de nom du Framework .NET
  • 8. Le contrat de service est l’entité qui va :  Etre échangée entre le serveur et le client ;  Permettre au client de savoir quelles sont les méthodes proposées par le service et comment les appeler. L’élaboration d’un contrat de service s’effectue au travers des 3 métadonnées suivantes :  ServiceContract  OperationContract  DataMember CRÉATION D’UN SERVICE WCF Définition du contrat de service :
  • 9. Cette métadonnée est attachée à la définition d’une classe ou, d’une une interface. Il sert à indiquer que la classe ou l’interface est un contrat de service. ServiceContract : OperationContract : DataMember : Cette métadonnée est attachée aux méthodes que l’on souhaite exposer au travers du service WCF. Ainsi, il est techniquement possible de l’exposer au client que certaines méthodes d’une classe. Cet attribut se place avant les propriétés des classes qui définissent les objets que l’on va devoir passer en paramètre au service, ou que celui-ci va devoir nous retourner.
  • 10. Hébergement d’un service WCF Un service WCF peut être hébergé dans diverses applications:  Dans une application cliente (Winform, service Windows...)  Dans une application ASP .NET, elle même hébergée sur un serveur IIS Présentation :
  • 11. Hébergement d’un service WCF La configuration d’un service WCF est stockée dans un fichier XML d’extension .config <system.serviceModel> et </system.serviceModel> Le fichier de configuration du service WCF :
  • 12. Hébergement d’un service WCF Un endpoint est un point de connexion auquel un client va pouvoir se connecter pour utiliser le service Un Behavior est un paramètre qui va affecter le fonctionnement local du service Behavior: Endpoint :
  • 13. Exemple d’hébergement du service « médiathèque » avec WCF Service (Visual Studio 2008)  interface: Public interface IMediathequeService (c#)  class: Public class MediathequeServiceImpl : IMediathequeService Hébergement d’un service WCF Hébergement du service :
  • 14. Hébergement d’un service WCF fichier de configuration du service Mediatheque:
  • 15. Le rôle de cette classe proxy est de masquer la complexité des mécanismes de communication entre le service web WCF et le client afin que le programmeur n’ai en réalité qu’un seul objet à utiliser. Consommer un service WCF La classe proxy:
  • 16. Il existe deux méthodes pour générer une classe proxy: -En ajoutant une référence de service dans le projet consommant le service WCF (démo). -En utilisant l’utilitaire svcutil.exe(méthode manuelle). Consommer un service WCF générer une classe proxy :
  • 17. Consommer un service WCF svcutil.exe :
  • 18. Consommer un service WCF Client WCF  On importe les deux fichiers générés précédemment qui se trouvent dans le répertoire de l’utilitaire svcutil.exe (clic droit sur le projet ajouter un élément existant)  On renomme ensuite le fichier de code en MediathequeServiceClient.cs et le fichier output.config en App.config  On modifie le namespace du fichier MediathequeServiceClient.cs afin qu’il soit identique a celui du projet crée  On rajoute les références à System.serviceModel et System.Runtime.Serialization au projet. (une instance de la classe proxy MediathequeServiceClient)
  • 19. Conclusion  Cette présentation est une introduction simple a une technologie très riche en matière d’exposition de service et de distribution de données . Notre but est de vous présenter le WCF et ses points clés à savoir: - Notion contrat de service. - Notion Endpoint. - Notion Behavior. - Comment créer, héberger et consommer un service.

Notes de l'éditeur

  1. Hébergement d’un service WCF Maintenant que le service WCF est créé, nous allons l’héberger dans une application . 4.1 Présentation Un service WCF peut être hébergé dans diverses applications : - Dans une application cliente (Winform, service Windows...) - Dans une application ASP .NET , elle même hébergée sur un serveur IIS En fonction du type d’application possède ses avantages et ses inconvénients notamment en ce qui concerne les protocoles utilisables pour héberger le service. Ainsi, par exemple, si un service est hébergé sous IIS 6.0, on ne pourra utiliser que les protocoles HTTP / HTTPS.
  2. 4.2.1 Le fichier de configuration du service WCF La configuration d’un service WCF est stockée dans un fichier XML d’extension .config (App.config ou Web.config selon le type d’application). La configuration spécifique à WCF se trouve entre les balises <system.serviceModel>et </system.serviceModel> . On retrouve ici le nom de l’espace de nom spécifique à WCF
  3. Notion de Endpoint La notion d’endpoint est un point clé dans la configuration de l’hébergement d’un service WCF. Un endpoint est un point de connexion auquel un client va pouvoir se connecter pour utiliser le service. Un service peut être exposé à travers un ou plusieurs endpoints. L’utilisation de plusieurs endpoints est pertinente pour assurer la compatibilité avec un maximum de clients possibles. Notion de Behavior (comportement) Un Behavior est un paramètre qui va affecter le fonctionnement local du service. De ce fait, les paramètres de comportement sont propres au serveur et au(x) client(s) et ne sont jamais échangés sur le réseau. Un des Behavior les plus simples est «ServiceDebug.IncludeExceptionDetailInFaults» qui permet de dire au service si oui ou non il doit renvoyer au client des détails si une exception est levée de son coté ou s’il doit se contenter d’un message d’erreur «standard». Comme expliqué plus haut, ce Behavior affecte le comportement local du serveur lorsque qu’une exception est levée dans le code (doit-il oui ou non renvoyer desdetails sur l’exception ?) mais cela n’accepte pas directement le(s) client(s) potentiel(s).
  4. Hébergement du service Médiathèque Pour cette simple introduction à WCF nous allons juste chercher à héberger notre service sur WCF Service Host. WSH est le nom de l’hébergeur intégré à Visual Studio 2008. C’est lui qui héberge par défaut un service WCF créé avec le «template» WCF Service Library
  5. Les éléments de configuration du service se placent entre les balises <System.ServiceModel>et </System.ServiceModel Les paramétrages de l’hôte (l’adresse de base): Tout d’abord, intéressons nous à la configuration de l’adresse de base du service, celle que le client devra interroger pour accéder au service. Il s’agit de l’adresse de base du service. Les adresses indiquées dans les endpoints sont relatifs à cette adresse de base. Les Endpoints et leurs trois éléments de configuration Adresse, le binding et le contrat Concernant l’adresse, un champ address vide signifie que le service est disponible «à la racine» de l’adresse de base. Concernant le contrat, on constate aussi que ce qui est partagé est bien l’interface (IMediathequeService) du service et non pas son implémentation (MediathequeServiceImpl). C’est l’application du 3eme grand principe de la SOA : Le serveur et le(s) client(s) ne partagent que des contrats (les interfaces) et non pas du code (implémentation). Il y a deux endpoints configurés: l’endpoint d’adresse «mex» a une fonction spéciale : il sert à exposer aux clients les opérations disponibles sur le service. Il est généré automatiquement par le système et dispose d’un binding propre, «MexhttpBinding», et de son propre contrat IMetadataExchange. D’après son attribut address cet endpoint est situé dans le répertoire mex. Selon les principes évoqués plus haut, pour y accéder, le client devra donc interroger l’adresse : http://localhost:8731/MediathequeService/mex Les behavior: <serviceDebug> <serviceMetadat> (gestion de la publication des operation du services)
  6. Nous avons vu que les échanges entre un service WCF et ces clients se font généralement par un mécanisme de sérialisation/désérialisation d’objets dans un langage dérivé du XML. De plus nous avons dit aussi que les clients obtiennent des informations sur un service donné grâce à l’appel d’un fichier d’extension .WSDL et que celui-ci contient la liste des méthodes exposées par le servi ce ainsi que comment les utiliser (quels sont éventuellement les paramètres à fournir). La combinaison de toutes les informations contenues dans le fichier WSDL va permettre à Visual Studio de générer ce que l’on appelle une «classe proxy». Le rôle de cette classe proxy va être de masquer la complexité des mécanismes de communication entre le service web WCF et le client afin que le programmeur n’ai en réalité qu’un seul objet à utiliser (plus éventuellement les types complexes utilisés par le service qui seront alors eux aussi récupérés automatiquement). Cet objet exposera «localement» les méthodes proposées par le service distant. Comme son nom de «proxy» l’indique, le rôle de cette classe est de servir d’intermédiaire entre le client et le service.
  7. existe deux méthodes pour générer une classe proxy: -En ajoutant une référence de service dans le projet consommant le service WCF -En utilisant l’utilitaire svcutil.exe(méthode manuelle). Nous allons brièvement voir comment utiliser svcutil.exe pour générer une classe proxy permettant de consommer notre service Médiathèque
  8. utilitaire est allé interroger les «Metadatas» du service c'est -à-dire les infos WSDL et à la suite de cela générer deux fichiers. -MediathequeServiceImpl: ce fichier contient la classe proxy en elle-même ainsi que les types complexes utilisés par le service: les classes -Output.config: Fichier de configuration du client, qu’il conviendra par la suite de renommer en «App.config»
  9. utilitaire est allé interroger les «Metadatas» du service c'est -à-dire les infos WSDL et à la suite de cela générer deux fichiers. -MediathequeServiceImpl: ce fichier contient la classe proxy en elle-même ainsi que les types complexes utilisés par le service: les classes «film» et «DVD» -Output.config: Fichier de configuration du client, qu’il conviendra par la suite de renommer en «App.config»
  10. utilitaire est allé interroger les «Metadatas» du service c'est -à-dire les infos WSDL et à la suite de cela générer deux fichiers. -MediathequeServiceImpl: ce fichier contient la classe proxy en elle-même ainsi que les types complexes utilisés par le service: les classes «film» et «DVD» -Output.config: Fichier de configuration du client, qu’il conviendra par la suite de renommer en «App.config»