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        ...
Création d’un projet WCF    Tout d’abord il faudra ouvrir Visual Studio (dans mon cas VS 2010) et aller créer un    nouvea...
Regardons ce qu’il a créé :             Nous pouvons voir que nous avons :             •   le fichier de configuration (We...
Importation de données et création d’une connexion SQL    En ce qui concerne les données nécessaires pour alimenter le ser...
Voici à quoi il ressemble le contenu de ce dossier.                                                           Ouvrir ensui...
Dans la fenêtre suivante sélectionnez une connexion de type « Fichier de base de    données » si vous souhaitez utiliser l...
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 :...
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 M...
Et finalement rajoutez dans la fenêtre suivante la base de données précédemment référencé dans l’Explorateur de serveurs. ...
Cochez ensuite le check box Tables ainsi que la premier check box tout en dessous.    Nommez le modèle de base de données ...
Faire terminer. Et le modèle de base de données importé est le suivant :24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge ...
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 PubsEn...
Création des éléments WCF    Un service WCF se base sur 3 points majeurs, connu dans le monde informatique    comme l’ ABC...
Ajout d’un service    Rien de plus simple :    allez sur la solution et faites click droit > Ajouter > Nouvel Elément24/01...
Ensuite sur Web sélectionnez Service WCF ; nommez le CompanyService et faites Ajouter. Nous remarquerons que 2 fichiers on...
Ajouter les DataContract    Comme certains d’entre vous se doutes bien nous n’allons pas exposer le contenu des    tables ...
Dans la classe Employee nous allons mettre le code suivant :24/01/2012   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS ...
Définir le contrat du service    Ajouter le code suivant dans ICompanyService      Ceux-ci sont les méthodes du service qu...
Implémenter les méthodes du service    Ajouter le code suivant dans la classe CompanyServices.svc.cs24/01/2012   Groupe NO...
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.novenci...
Architecture finale de la solution et fichier de configuration                                                            ...
A la fin de cette manipulation la partie service de votre configuration doit être :24/01/2012    Groupe NOVENCIA - 25 Rue ...
Exécution du service    Pour rendre les choses simples un WCF Test client a été utilisé.    Un autre article beaucoup plus...
Il suffit ensuite de cliquer sur une des méthodes et dans la fenêtre de gauche fournir    les paramètres (si nécessaire). ...
Conclusion    Cet article se veut une introduction simple aux services WCF.    Cela permet de comprendre rapidement le fon...
Upcoming SlideShare
Loading in...5
×

Création d’un service wcf

2,290

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,290
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
73
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Création d’un service wcf

  1. 1. Création d’un service WCF Auteur: Iulia NAGY
  2. 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. 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 OK24/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. 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. 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. 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 connexion24/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. 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. 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. 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. 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. 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. 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. 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. 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. 15. Ajout d’un service Rien de plus simple : allez sur la solution et faites click droit > Ajouter > Nouvel Elément24/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. 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. 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.cs24/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. 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. 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. 20. Implémenter les méthodes du service Ajouter le code suivant dans la classe CompanyServices.svc.cs24/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. 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. 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. 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. 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 + F524/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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×