SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Création d’un service WCF   Auteur: Iulia NAGY
Création d’un service WCF
             WCF est une technologie de plus en plus présente sur tous les grands projets
             d’entreprise.
             Ainsi connaître son fonctionnement et savoir réaliser des services devient plus
             qu’une simple nécessité.
             Cet article a pour but de montrer la création d’un service basique.
             Afin que cela soit à la portée de tout le monde une base d’exemple SQL de
             Microsoft sera employée.
             Et comme j’ai déjà beaucoup parlé, on va plutôt passer à quelque chose de plus
             concret.

             Principe de WCF

             Le but de WCF est de rendre disponible des informations à plusieurs clients si
             ceux-ci ont les droits nécessaires pour accéder à ces informations.
             Du point de vu technique, cela se traduit par le fait d’exposer une ou plusieurs
             méthodes d’un objet à travers un réseau afin que des applications tierces
             puissent les utiliser.

24/01/2012        Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   2
Création d’un projet WCF

    Tout d’abord il faudra ouvrir Visual Studio (dans mon cas VS 2010) et aller créer un
    nouveau projet :
    Fichier > Nouveau > Projet
    De la nous allons dans C# > WCF > Application du service WCF, le nommer et faire OK




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   3
Regardons ce qu’il a créé :




             Nous pouvons voir que nous avons :

             •   le fichier de configuration (Web.config)
             •   une classe pour le service (Service1.svc)
             •    l’interface pour cette classe (IService1.cs)

             Pour montrer exactement comment ces classes sont créées nous allons les
             supprimer dans un premier temps. Du coup Service1.svc et IService1.cs partent à la
             poubelle (clic droit sur chaque et ensuite supprimer)


24/01/2012         Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   4
Importation de données et création d’une connexion SQL

    En ce qui concerne les données nécessaires pour alimenter le service je me suis servi
    de la base SQL d’exemple de Microsoft. Vous pouvez la télécharger ici.
    Une fois le téléchargement finis lancez-le .MSI et la fenêtre suivante va s’ouvrir à vous:




        A la fin de l’installation vous devez ouvrir le répertoire où les donnes ont été
        extraites (dans mon cas C:SQL Server 2000 Sample Databases)


24/01/2012      Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   5
Voici à quoi il ressemble le contenu de ce dossier.
                                                           Ouvrir ensuite le fichier intpubs.sql in VS.
                                                           Faire un clic droit et Exécuter.
                                                           La base contenant les données nécessaires vient d’être
                                                           rajoutée et alimenté en SQL.
                                                           Nous allons maintenant rendre cette base accessible
                                                           depuis Visual Studio.
      Ajout d’une référence vers une base en Visual Studio

      Ouvrir l’Explorateur de serveurs en Visual studio (Outils > Se connecter au serveur).
      Ajoutez ensuite une nouvelle connexion: Connexion de données clic droit > Ajouter
      une connexion




24/01/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   6
Dans la fenêtre suivante sélectionnez une connexion de type « Fichier de base de
    données » si vous souhaitez utiliser la base d’exemple SQL que je viens d’importer.




                                                                                                Une fois que vous avez testez la
                                                                                                connexion faire OK.

                                                                                                La nouvelle connexion apparaitra dans
                                                                                                l’onglet Explorateur de serveurs.

                                                                                                Les données étant maintenant
                                                                                                disponibles il est nécessaire de créer
                                                                                                les méthodes d’accès.

                                                                                                Dans un but de simplicité et rapidité,
                                                                                                Entity Framework 4.0 a été utilisé.




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   7
Création des accès vers la base de données – Entity Framework 4.0
    Allez sur le projet récemment créée.
    Click droit : Ajouter > Nouvel Elément.
    Dans la fenêtre qui s’ouvre allez sur Données et sélectionnez l’ ADO.NET Entity Data
    Model




   Nommez-le (PubsEntityModel dans mon cas) et cliquez sur Ajouter.



24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   8
Dans la fenêtre suivante sélectionnez « Générer à partir de la base de données »




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   9
Et finalement rajoutez dans la fenêtre suivante la base de données précédemment
 référencé dans l’Explorateur de serveurs.
    Cliquez sur Suivant.




24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   10
Cochez ensuite le check box Tables ainsi que la premier check box tout en dessous.
    Nommez le modèle de base de données PubsModel.




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   11
Faire terminer. Et le modèle de base de données importé est le suivant :




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   12
Si vous souhaitez voir ce qu’il a été généré par Entity Framework il suffit de jeter un
   coup d’œil dans le ficher PubsEntityModel.Designer.cs



    Pour rester simple je vais m’en servir uniquement de 2 tables afin de montrer
    comment créer un service WCF : les tables employee et job.




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   13
Création des éléments WCF


    Un service WCF se base sur 3 points majeurs, connu dans le monde informatique
    comme l’ ABC de ce gendre de service :

    •    A – addresse : n’importe quel service WCF doit avoir une adresse qui spécifie la
    location de celui-ci afin qu’il puisse expose aux clients.

    •    B – liaison (binding en anglais) – spécifie comment le service est rendu accessible,
    par quel type de protocole. Plusieurs protocoles sont envisageables : HTTP, TCP,
    NamedPipe, Peer2Perr, MSMQ.

    •    C – contrat – utilisé pour spécifier ce que le service fait (quelles informations sont
    fournies aux applications clientes

    Cette partie est principalement dédie à la création du service avec les méthodes qui
    sont exposées aux clients et aussi leur implémentation.



24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   14
Ajout d’un service
    Rien de plus simple :
    allez sur la solution et faites click droit > Ajouter > Nouvel Elément




24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   15
Ensuite sur Web sélectionnez Service WCF ; nommez le CompanyService et faites
 Ajouter.
 Nous remarquerons que 2 fichiers ont été rajoutés dans la solution :
 un CompanyService.svc et un ICompanyService.cs.




                                                                L’interface ICompanyService contient la définition
                                                                ( avec leur signature) des méthodes qui seront
                                                                exposées aux applications clientes.

                                                                La classe CompanyService.svc.cs contient
                                                                l’implémentation de ces méthodes.




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   16
Ajouter les DataContract
    Comme certains d’entre vous se doutes bien nous n’allons pas exposer le contenu des
    tables sql tel quel, juste certains éléments seront visibles aux applications client.

    Les éléments qui sont exposées portent le nom de data contract (ou contrat de
    données).

    Pour créer un contrat de données il n’y a rien de mystique :
    il faut tout simplement rajouter des classes c#.
    Une que nous allons nommer Employee.cs et une autre que nous allons nommer
    Job.cs




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   17
Dans la classe Employee nous allons mettre le code suivant :




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   18
Définir le contrat du service

    Ajouter le code suivant dans ICompanyService




      Ceux-ci sont les méthodes du service qui seront disponible aux applications clientes.




24/01/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   19
Implémenter les méthodes du service
    Ajouter le code suivant dans la classe CompanyServices.svc.cs




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   20
24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   21
Architecture finale de la solution et fichier de configuration

                                                            Voici l’architecture de votre projet si vous avez suivi
                                                            correctement ce qu’il a été indiqué dans cet article.

                                                            Nous remarquerons facilement que la solution reste
                                                            simple, sans des arborescences compliquées.

                                                            Pour finir il faudra juste s’assurer que le fichier de
                                                            configuration est bien propre.




     Pour cela ouvrez Web.config et supprimez les références vers le Service1 car ceux-
     ci ne font que rendre la configuration illisible.




24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   22
A la fin de cette manipulation la partie service de votre configuration doit être :




24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   23
Exécution du service
    Pour rendre les choses simples un WCF Test client a été utilisé.
    Un autre article beaucoup plus complet sera dédié à la création d’un vrai
    client.
    Pour tester notre service c’est bien simple : Ctrl + F5




24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   24
Il suffit ensuite de cliquer sur une des méthodes et dans la fenêtre de gauche fournir
    les paramètres (si nécessaire).
    Ensuite, dans la fenêtre de droite cliquer sur Invoke.
    Voici le résultat pour la méthode GetAllJobs().




24/01/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   25
Conclusion
    Cet article se veut une introduction simple aux services WCF.

    Cela permet de comprendre rapidement le fonctionnement de ce gendre le service et
    de pouvoir en monter un très rapidement.




24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   26

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (17)

Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Cours wpf avancé
Cours wpf avancéCours wpf avancé
Cours wpf avancé
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Cours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapterCours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapter
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Rapport MS Exchange 2010
Rapport MS Exchange 2010Rapport MS Exchange 2010
Rapport MS Exchange 2010
 
Présentation Exchange 2010
Présentation Exchange 2010Présentation Exchange 2010
Présentation Exchange 2010
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Jaxrs
JaxrsJaxrs
Jaxrs
 

Andere mochten auch

MS Project et le management de projet
MS Project et le management de projetMS Project et le management de projet
MS Project et le management de projet
Michel Estève
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
Sj Lim
 
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in ParisKeynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Jason De Oliveira
 
Les bonnes pratiques en informatique - Référentiel ITIL
Les bonnes pratiques en informatique - Référentiel ITIL  Les bonnes pratiques en informatique - Référentiel ITIL
Les bonnes pratiques en informatique - Référentiel ITIL
Hajar EL GUERI
 
Procédure ASSR 2017
Procédure ASSR 2017Procédure ASSR 2017
Procédure ASSR 2017
DAVID Sylvie
 

Andere mochten auch (20)

Livre blanc Microsoft Dynamics CRM 2013: Gestion de la force de ventes
Livre blanc Microsoft Dynamics CRM 2013: Gestion de la force de ventesLivre blanc Microsoft Dynamics CRM 2013: Gestion de la force de ventes
Livre blanc Microsoft Dynamics CRM 2013: Gestion de la force de ventes
 
Nouvel Ingénieur - Knowledge Management (12/11/2011 - Contenu)
Nouvel Ingénieur - Knowledge Management (12/11/2011 - Contenu)Nouvel Ingénieur - Knowledge Management (12/11/2011 - Contenu)
Nouvel Ingénieur - Knowledge Management (12/11/2011 - Contenu)
 
Introduction à itil v3
Introduction à itil v3Introduction à itil v3
Introduction à itil v3
 
Knowledge Management 2.0
Knowledge Management 2.0Knowledge Management 2.0
Knowledge Management 2.0
 
Data Mining
Data MiningData Mining
Data Mining
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
 
Ms project 4 planification de projet
Ms project 4  planification de projetMs project 4  planification de projet
Ms project 4 planification de projet
 
Ms project 2 outils de gestion
Ms project 2  outils de gestionMs project 2  outils de gestion
Ms project 2 outils de gestion
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
MS Project et le management de projet
MS Project et le management de projetMS Project et le management de projet
MS Project et le management de projet
 
Présentation skype
Présentation skypePrésentation skype
Présentation skype
 
Présentation de Microsoft Azure
Présentation de Microsoft AzurePrésentation de Microsoft Azure
Présentation de Microsoft Azure
 
Procédure de contrôle qualité
Procédure de contrôle qualité Procédure de contrôle qualité
Procédure de contrôle qualité
 
Implementer ITIL
Implementer ITILImplementer ITIL
Implementer ITIL
 
Professional Knowledge Management : Richesse de l'Écrit
Professional Knowledge Management : Richesse de l'ÉcritProfessional Knowledge Management : Richesse de l'Écrit
Professional Knowledge Management : Richesse de l'Écrit
 
Procedure suivi de la satisfaction des clients
Procedure suivi de la satisfaction des clientsProcedure suivi de la satisfaction des clients
Procedure suivi de la satisfaction des clients
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
 
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in ParisKeynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
 
Les bonnes pratiques en informatique - Référentiel ITIL
Les bonnes pratiques en informatique - Référentiel ITIL  Les bonnes pratiques en informatique - Référentiel ITIL
Les bonnes pratiques en informatique - Référentiel ITIL
 
Procédure ASSR 2017
Procédure ASSR 2017Procédure ASSR 2017
Procédure ASSR 2017
 

Ähnlich wie Création d’un service wcf

Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
Novencia Groupe
 
Créer une application web en asp.net mvc 2
Créer une application web en asp.net mvc 2Créer une application web en asp.net mvc 2
Créer une application web en asp.net mvc 2
Novencia Groupe
 
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
CERTyou Formation
 
Configurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneConfigurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec une
Novencia Groupe
 
Waacn formation-windows-azure-applications-cloud-nodejs
Waacn formation-windows-azure-applications-cloud-nodejsWaacn formation-windows-azure-applications-cloud-nodejs
Waacn formation-windows-azure-applications-cloud-nodejs
CERTyou Formation
 
Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016
Cheikh Mohamed NDIAYE
 

Ähnlich wie Création d’un service wcf (20)

Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
 
Créer une application web en asp.net mvc 2
Créer une application web en asp.net mvc 2Créer une application web en asp.net mvc 2
Créer une application web en asp.net mvc 2
 
cours_CC.pdf
cours_CC.pdfcours_CC.pdf
cours_CC.pdf
 
Virtualisation et intégration des applications d'entreprise en environnement ...
Virtualisation et intégration des applications d'entreprise en environnement ...Virtualisation et intégration des applications d'entreprise en environnement ...
Virtualisation et intégration des applications d'entreprise en environnement ...
 
Guide coswin7i fr
Guide coswin7i frGuide coswin7i fr
Guide coswin7i fr
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
 
Configurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneConfigurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec une
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Tutoriel ajax jquery
Tutoriel ajax jqueryTutoriel ajax jquery
Tutoriel ajax jquery
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Waacn formation-windows-azure-applications-cloud-nodejs
Waacn formation-windows-azure-applications-cloud-nodejsWaacn formation-windows-azure-applications-cloud-nodejs
Waacn formation-windows-azure-applications-cloud-nodejs
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptx
 
Presentation datwendo cloud connector - français
Presentation datwendo cloud connector - françaisPresentation datwendo cloud connector - français
Presentation datwendo cloud connector - français
 
Introduction au Cloud Computing
Introduction au Cloud Computing Introduction au Cloud Computing
Introduction au Cloud Computing
 
Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016
 
UC: la lumière au bout du tunnel
UC: la lumière au bout du tunnelUC: la lumière au bout du tunnel
UC: la lumière au bout du tunnel
 
20151119 Tirer le meilleur parti du Cloud pour ses développements
20151119 Tirer le meilleur parti du Cloud pour ses développements20151119 Tirer le meilleur parti du Cloud pour ses développements
20151119 Tirer le meilleur parti du Cloud pour ses développements
 

Mehr von Novencia Groupe

L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2
Novencia Groupe
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
Novencia Groupe
 
Qualité de code, sonar, la dette
Qualité de code, sonar, la detteQualité de code, sonar, la dette
Qualité de code, sonar, la dette
Novencia Groupe
 
Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012
Novencia Groupe
 
Les systèmes de compensation
Les systèmes de compensationLes systèmes de compensation
Les systèmes de compensation
Novencia Groupe
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitaux
Novencia Groupe
 
Nouveautés disponibles dans asp
Nouveautés disponibles dans aspNouveautés disponibles dans asp
Nouveautés disponibles dans asp
Novencia Groupe
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marché
Novencia Groupe
 
Mécanisme de planification de tâches
Mécanisme de planification de tâchesMécanisme de planification de tâches
Mécanisme de planification de tâches
Novencia Groupe
 

Mehr von Novencia Groupe (20)

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateforme
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdata
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance unique
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOUR
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
 
Qualité de code, sonar, la dette
Qualité de code, sonar, la detteQualité de code, sonar, la dette
Qualité de code, sonar, la dette
 
Sonar
Sonar Sonar
Sonar
 
Visual studio 2012
Visual studio 2012Visual studio 2012
Visual studio 2012
 
Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012
 
Les systèmes de compensation
Les systèmes de compensationLes systèmes de compensation
Les systèmes de compensation
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitaux
 
Mobile development
Mobile developmentMobile development
Mobile development
 
Nouveautés disponibles dans asp
Nouveautés disponibles dans aspNouveautés disponibles dans asp
Nouveautés disponibles dans asp
 
La crise de l'euro
La crise de l'euroLa crise de l'euro
La crise de l'euro
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marché
 
Mécanisme de planification de tâches
Mécanisme de planification de tâchesMécanisme de planification de tâches
Mécanisme de planification de tâches
 
Linq to Xml
Linq to Xml Linq to Xml
Linq to Xml
 

Création d’un service wcf

  • 1. Création d’un service WCF Auteur: Iulia NAGY
  • 2. Création d’un service WCF WCF est une technologie de plus en plus présente sur tous les grands projets d’entreprise. Ainsi connaître son fonctionnement et savoir réaliser des services devient plus qu’une simple nécessité. Cet article a pour but de montrer la création d’un service basique. Afin que cela soit à la portée de tout le monde une base d’exemple SQL de Microsoft sera employée. Et comme j’ai déjà beaucoup parlé, on va plutôt passer à quelque chose de plus concret. Principe de WCF Le but de WCF est de rendre disponible des informations à plusieurs clients si ceux-ci ont les droits nécessaires pour accéder à ces informations. Du point de vu technique, cela se traduit par le fait d’exposer une ou plusieurs méthodes d’un objet à travers un réseau afin que des applications tierces puissent les utiliser. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 2
  • 3. Création d’un projet WCF Tout d’abord il faudra ouvrir Visual Studio (dans mon cas VS 2010) et aller créer un nouveau projet : Fichier > Nouveau > Projet De la nous allons dans C# > WCF > Application du service WCF, le nommer et faire OK 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 3
  • 4. Regardons ce qu’il a créé : Nous pouvons voir que nous avons : • le fichier de configuration (Web.config) • une classe pour le service (Service1.svc) • l’interface pour cette classe (IService1.cs) Pour montrer exactement comment ces classes sont créées nous allons les supprimer dans un premier temps. Du coup Service1.svc et IService1.cs partent à la poubelle (clic droit sur chaque et ensuite supprimer) 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 4
  • 5. Importation de données et création d’une connexion SQL En ce qui concerne les données nécessaires pour alimenter le service je me suis servi de la base SQL d’exemple de Microsoft. Vous pouvez la télécharger ici. Une fois le téléchargement finis lancez-le .MSI et la fenêtre suivante va s’ouvrir à vous: A la fin de l’installation vous devez ouvrir le répertoire où les donnes ont été extraites (dans mon cas C:SQL Server 2000 Sample Databases) 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 5
  • 6. Voici à quoi il ressemble le contenu de ce dossier. Ouvrir ensuite le fichier intpubs.sql in VS. Faire un clic droit et Exécuter. La base contenant les données nécessaires vient d’être rajoutée et alimenté en SQL. Nous allons maintenant rendre cette base accessible depuis Visual Studio. Ajout d’une référence vers une base en Visual Studio Ouvrir l’Explorateur de serveurs en Visual studio (Outils > Se connecter au serveur). Ajoutez ensuite une nouvelle connexion: Connexion de données clic droit > Ajouter une connexion 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 6
  • 7. Dans la fenêtre suivante sélectionnez une connexion de type « Fichier de base de données » si vous souhaitez utiliser la base d’exemple SQL que je viens d’importer. Une fois que vous avez testez la connexion faire OK. La nouvelle connexion apparaitra dans l’onglet Explorateur de serveurs. Les données étant maintenant disponibles il est nécessaire de créer les méthodes d’accès. Dans un but de simplicité et rapidité, Entity Framework 4.0 a été utilisé. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 7
  • 8. Création des accès vers la base de données – Entity Framework 4.0 Allez sur le projet récemment créée. Click droit : Ajouter > Nouvel Elément. Dans la fenêtre qui s’ouvre allez sur Données et sélectionnez l’ ADO.NET Entity Data Model Nommez-le (PubsEntityModel dans mon cas) et cliquez sur Ajouter. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 8
  • 9. Dans la fenêtre suivante sélectionnez « Générer à partir de la base de données » 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 9
  • 10. Et finalement rajoutez dans la fenêtre suivante la base de données précédemment référencé dans l’Explorateur de serveurs. Cliquez sur Suivant. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 10
  • 11. Cochez ensuite le check box Tables ainsi que la premier check box tout en dessous. Nommez le modèle de base de données PubsModel. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 11
  • 12. Faire terminer. Et le modèle de base de données importé est le suivant : 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 12
  • 13. Si vous souhaitez voir ce qu’il a été généré par Entity Framework il suffit de jeter un coup d’œil dans le ficher PubsEntityModel.Designer.cs Pour rester simple je vais m’en servir uniquement de 2 tables afin de montrer comment créer un service WCF : les tables employee et job. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 13
  • 14. Création des éléments WCF Un service WCF se base sur 3 points majeurs, connu dans le monde informatique comme l’ ABC de ce gendre de service : • A – addresse : n’importe quel service WCF doit avoir une adresse qui spécifie la location de celui-ci afin qu’il puisse expose aux clients. • B – liaison (binding en anglais) – spécifie comment le service est rendu accessible, par quel type de protocole. Plusieurs protocoles sont envisageables : HTTP, TCP, NamedPipe, Peer2Perr, MSMQ. • C – contrat – utilisé pour spécifier ce que le service fait (quelles informations sont fournies aux applications clientes Cette partie est principalement dédie à la création du service avec les méthodes qui sont exposées aux clients et aussi leur implémentation. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 14
  • 15. Ajout d’un service Rien de plus simple : allez sur la solution et faites click droit > Ajouter > Nouvel Elément 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 15
  • 16. Ensuite sur Web sélectionnez Service WCF ; nommez le CompanyService et faites Ajouter. Nous remarquerons que 2 fichiers ont été rajoutés dans la solution : un CompanyService.svc et un ICompanyService.cs. L’interface ICompanyService contient la définition ( avec leur signature) des méthodes qui seront exposées aux applications clientes. La classe CompanyService.svc.cs contient l’implémentation de ces méthodes. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 16
  • 17. Ajouter les DataContract Comme certains d’entre vous se doutes bien nous n’allons pas exposer le contenu des tables sql tel quel, juste certains éléments seront visibles aux applications client. Les éléments qui sont exposées portent le nom de data contract (ou contrat de données). Pour créer un contrat de données il n’y a rien de mystique : il faut tout simplement rajouter des classes c#. Une que nous allons nommer Employee.cs et une autre que nous allons nommer Job.cs 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 17
  • 18. Dans la classe Employee nous allons mettre le code suivant : 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 18
  • 19. Définir le contrat du service Ajouter le code suivant dans ICompanyService Ceux-ci sont les méthodes du service qui seront disponible aux applications clientes. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 19
  • 20. Implémenter les méthodes du service Ajouter le code suivant dans la classe CompanyServices.svc.cs 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 20
  • 21. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 21
  • 22. Architecture finale de la solution et fichier de configuration Voici l’architecture de votre projet si vous avez suivi correctement ce qu’il a été indiqué dans cet article. Nous remarquerons facilement que la solution reste simple, sans des arborescences compliquées. Pour finir il faudra juste s’assurer que le fichier de configuration est bien propre. Pour cela ouvrez Web.config et supprimez les références vers le Service1 car ceux- ci ne font que rendre la configuration illisible. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 22
  • 23. A la fin de cette manipulation la partie service de votre configuration doit être : 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 23
  • 24. Exécution du service Pour rendre les choses simples un WCF Test client a été utilisé. Un autre article beaucoup plus complet sera dédié à la création d’un vrai client. Pour tester notre service c’est bien simple : Ctrl + F5 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 24
  • 25. Il suffit ensuite de cliquer sur une des méthodes et dans la fenêtre de gauche fournir les paramètres (si nécessaire). Ensuite, dans la fenêtre de droite cliquer sur Invoke. Voici le résultat pour la méthode GetAllJobs(). 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 25
  • 26. Conclusion Cet article se veut une introduction simple aux services WCF. Cela permet de comprendre rapidement le fonctionnement de ce gendre le service et de pouvoir en monter un très rapidement. 24/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 26