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

Upload: macaire-blaise

Post on 03-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

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).