Tutoriel web service

5

Click here to load reader

Transcript of Tutoriel web service

Page 1: Tutoriel  web service

Tutoriel :

Web services avec .Net (version 2008)

My Abdelouahed Sabri

[email protected]

Sommaire

I. INTRODUCTION ....................................................................................................................... 1

II. SERVICE WEB ........................................................................................................................... 1

III. UTILISATION DU SERVICE WEB ........................................................................................ 2

IV. WINDOWS COMMUNICATION FOUNDATION (WCF) ................................................... 3

IV.1. CREATION DU SERVICE ......................................................................................................... 3

IV.2. UTILISATION DU SERVICE ..................................................................................................... 4

V. TODO ........................................................................................................................................... 4

Page 2: Tutoriel  web service

.NET Tutoriel : Web Services

Page 1/4

I. Introduction

Un service web est un programme informatique orienté web qui permet la communication et

l'échange de données entre applications (systèmes) hétérogènes dans des environnements

distribués. Se sont des fonctionnalités disponibles sur un réseau (internet ou intranet), par et

pour des applications ou machines, de manière synchrone ou asynchrone. Pour le cas des

services web proposés par Visual Studio .NET le protocole de communication est défini dans

le cadre de la norme SOAP (Simple Object Access Protocol). Les échanges sont sous format

XML.

Pour réaliser cet atelier, il faut avoir en plus de Visual studio il faut installer et configurer le

serveur Web IIS (Internet Information Server). Ici la version VS utilisée est 2008.

II. Service Web

Avec .NET, la création d’un service Web est une tâche très facile. Ainsi, il faut le créer, le

publier dans IIS et l’utiliser d’une application tierce.

Commencer par créer un nouveau projet VS.NET de type « Application de service Web

ASP.NET ». Automatiquement, un projet Web service sera crée avec un code auto-généré avec

une méthode créée par défaut nommée « HelloWorld » et par défaut le nom de la classe est

« Service1 »

Toutes les méthodes proposées par le service (accessibles de l’extérieur) doivent être

signalées avec l’attribut [WebMethod].

Noter bien qu’il y d’autres étiquettes ; Namespace, ConformsTo, ScriptService qu’on peut

utiliser et modifier. Le « Namespace » qui est une chaine de caractères et par défaut égale à

"http://tempuri.org/". pour le déploiement du web service, il faut changer cette valeur est la

mettre par préférence égale à l’URI du site web hébergeant le service

Ajouter les méthodes suivantes

[WebMethod] public int Addition (int a, int b) { return(a + b); } [WebMethod] public float Soustraction (float A, float B) {

Page 3: Tutoriel  web service

.NET Tutoriel : Web Services

Page 2/4

return (A - B); } [WebMethod] public System.Single Multiplication (System.Single A, System.Single B) { return A * B; } [WebMethod] public System.Single Division (System.Single A, System.Single B) { if(B == 0) return -1; return Convert.ToSingle(A / B); }

Réflexion : Pourquoi nous avons utilisé le type « Single » alors qu’on peut utiliser le type

« float ».

Compiler le code et exécuter le pour tester. Si tout se passe bien le résultat d’exécution sera une

page Web « Service1.asmx » de test listant les opérations (méthodes) qui sont proposées par le

service. En cliquant sur une des méthodes, une page pour tester de cette méthode sera lancée.

III. Utilisation du Service Web

Cette partie présente comment utiliser un service web à partir d’une application Console.

- Commencer par la création d’un projet VS.NET de type Console.

- Ajouter une référence au service web déjà crée : Cliquer bouton droit sur « L’explorateur

de solution » et cliquer « ajouter une référence Web »

- Ajouter le service Web déjà crée dans la première partie en utilisant le lien web vers la

page « *.asmx » : http://localhost:50209/Service1.asmx

- Donner un nom à la référence ; par défaut c’est « localhost» et cliquer « Ajouter la

référence »

- Si tout se passe bien, la référence sera ajoutée dans l’explorateur de solution sous « Web

References »

- Ajouter votre référence au code C# avec using

nomDuProjetConsole.NomDeRéférenceWeb ». ou bien vous pouvez utiliser le lien

direct dans votre code pour accéder aux classes du Web Service (Voir code ci-dessous).

Après, les méthodes du Service Web sont maintenant disponibles pour l’utilisation

using System; using System.Collections.Generic; using System.Linq;

Page 4: Tutoriel  web service

.NET Tutoriel : Web Services

Page 3/4

using System.Text; using TestWebServ.MonWebService; namespace TestWebServ { class Program { static void Main(string[] args) { Service1 s = new Service1(); Console.WriteLine(s. Addition(5, 2).ToString()); } } }

IV. Windows Communication Foundation (WCF)

WCF est une technologie qui permet de faciliter la mise en place des applications distribuées en

servant de support d’échange commun aux architectures orientées services (SOA : Service

Oriented Architecture). L’essentielle caractéristique de WCF est sont Interopérabilité

permettant une grande disponibilité et souplesse pour créer et utiliser (consommer) les Web

Services. WCF est apparue en 2007 comme une extension du Framework .net 2.0.

Comme les Web service basés sur ASP.NET les WCF utilisent trois types de

métadonnées sous forme de contrat d’utilisation ;

- ServiceContract : pour définir (indiquer) que la classe ou l’interface qui lui est attachée

est un contrat service (accessible comme étant un service)

- OperationContract : pour indiquer qu’une méthode d’une classe sera exposée (proposée)

au travers du service Web.

- DataMember : attribut qui placer avant les propriétés des classes pour définir les objets

qui seront passés (en paramètre ou en retour) au travers du service Web.

IV.1. Création du service

Deux possibilités sont offertes pour créer un service WCF sous VS.NET ; 1) créer un projet de

type « WCF Service Application » ou 2) un projet de type « WCF Service Library ».

1- WCF Service Application : deux fichiers (orientés service) sont crées par défaut une

interface « IService.cs » qui contient les signatures du « ServiceContract »,

« OperationContract » et « DataContract ». et le service « Service1.svc.cs » pour

implémenter les « OperationContract »

Page 5: Tutoriel  web service

.NET Tutoriel : Web Services

Page 4/4

2- WCF Service Library : « IService.cs » qui contient les signatures du « ServiceContract »,

« OperationContract » et « DataContract ». et le service « Service1.cs » pour implémenter

les « OperationContract »

Dans le cas d’un service de type Library, vous pouvez le tester en utilisant le « WCF Test

Client ». Après exécution, il est possible de choisir la méthode (OperationContract) à tester,

modifier les valeurs des paramètres d’entrer et cliquer le bouton « Invoke » (appeler)

IV.2. Utilisation du service

L’utilisation d’un service Web WCF est pareil que le service ASP.NET.

- Pour le cas d’un service « WCF Test Client » l’adresse (URI) qui sera utilisée est celle

vers le fichier « Service1.svc.cs » récupérable après exécution du service

- Pour le cas d’un service « WCF Service Library » l’adresse (URI) qui sera utilisée est celle

vers le fichier « Service1.cs » récupérable après exécution du « WCF Test Client ».

V. ToDO

Créer un Service Web permettant de manipuler (CRUD, Créer, Lister, mètre-à-jour, et

Supprimer) les données dans une base de données et l’utiliser à partir d’une application

Windows Forms.