Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à...

17
Les Services Web Avec .NET version 1.1

Transcript of Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à...

Page 1: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Les Services Web

Avec .NET version 1.1

Page 2: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Un service Web en bref…

Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol );

SOAP peut-être transporté par les protocoles HTTP, SMTP et MIME;

Les messages sont construits avec l’en-tête du protocole qui transporte suivi du corps de la requête ou de la réponse;

Le corps du message est enveloppé en XML. Chaque service possède une définition; Visual Studio .NET est bonifié pour l’utilisation de services

Web. Les mécanisme de communication sont masqués pour le développeur.

Page 3: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Requête SOAP sur HTTP

POST /HelloService/Hello.asmx HTTP/1.1Host: 192.168.1.2Content-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: http://tempuri.org/Say

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body> <Say xmlns="http://tempuri.org/" /> </soap:Body></soap:Envelope>

Page 4: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Réponse SOAP sur HTTP

HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body> <SayResponse xmlns="http://tempuri.org/"> <SayResult>Hello World</SayResult> </SayResponse> </soap:Body></soap:Envelope>

Page 5: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Description du service Web (WSDL)

Avec .NET, la détection des objets s’effectue automatiquement à l’aide de la description standardisé du service Web.

Vous n’avez qu’à spécifier le url de la définition et le/les objets à distance sont référencés et il est possible de les instancier comme n’importe quels objets.

Page 6: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Dans la pratique!

Création du service Web Hello (nécessite IIS 5.0 ou mieux);

Consommation du service Web Hello par une application Windows;

Page 7: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Création du service Web

Dans Fichiers/Nouveau/Projet…

Page 8: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Création du service Web

Renommer Service1.asmx pour Hello.asmx et changer la définition de l’objet:

Page 9: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Création du service Web

Implémenter les 2 méthodes de l’objet Hello et compiler:

Page 10: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Création du service Web

Compiler et exécuter:

Page 11: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Consommer le service Web

Dans Fichiers/Nouveau/Projet…

Page 12: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Consommer le service Web

Ajouter la référence Web avec un clique de droit sur References:

Page 13: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Consommer le service Web

Spécifier le url du service Web et ajouter la référence:

Page 14: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Consommer le service Web

Créer l’interface suivante:

Page 15: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Consommer le service Web

Appeler les méthodes lors de l’événement onclick des boutons:

Page 16: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Résultats

Say()

SayWhat()

Page 17: Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.

Conclusion

.NET s’occupe du transport pour le développeur; .NET 2.0 promet le support, entre autre, du protocole

TCP/IP, éliminant la nécessité d’un serveur Web pour consommer un objet;

Beaucoup moins lourd que CORBA et plus rapide à implémenter;

Consommation multi plateforme possible avec certaines précautions sur l’utilisation des types retournés par les méthodes (retourner des objet ou des types complexes plutôt que des DataSets() propre à Microsoft par exemple).