Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à...
-
Upload
macaire-blaise -
Category
Documents
-
view
109 -
download
0
Transcript of Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à...
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 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.
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>
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>
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.
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;
Création du service Web
Dans Fichiers/Nouveau/Projet…
Création du service Web
Renommer Service1.asmx pour Hello.asmx et changer la définition de l’objet:
Création du service Web
Implémenter les 2 méthodes de l’objet Hello et compiler:
Création du service Web
Compiler et exécuter:
Consommer le service Web
Dans Fichiers/Nouveau/Projet…
Consommer le service Web
Ajouter la référence Web avec un clique de droit sur References:
Consommer le service Web
Spécifier le url du service Web et ajouter la référence:
Consommer le service Web
Créer l’interface suivante:
Consommer le service Web
Appeler les méthodes lors de l’événement onclick des boutons:
Résultats
Say()
SayWhat()
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).