Services Web: la vraie affaire

Les services Web sont accessibles par n'importe quelle application construite dans n'importe quelle langue. Il aborde les problèmes de communication entre différentes applications.

Avez-vous déjà pensé à aider quelqu'un et vous n'avez pas trouvé de moyen de le faire? Oui, je sais que les développeurs de logiciels n’ont pas le temps de faire tout cela. En fait, une partie de notre vie est consacrée au codage d'une application ou d'une autre. Donc, tout cela m'a fait réfléchir, en tant que développeur, y a-t-il quelque chose de bon que je puisse faire à mes collègues développeurs.





Pourquoi ne pas écrire un code qui pourrait être utilisé par n'importe quel développeur codant dans n'importe quel langage? Ne serait-ce pas génial?
Oui! Et devine quoi ? La solution est - «Services Web»

Les services Web, par définition du W3C, sont «un système logiciel conçu pour prendre en charge une interaction interopérable de machine à machine sur un réseau».



Les services Web développés dans une langue peuvent être utilisés dans n'importe quelle autre langue, et la meilleure partie est qu'ils aident à apporter la connectivité d'une application à une autre.

Lorsque deux systèmes communiquent entre eux, le système logiciel qui demande un service est appelé en tant que demandeur de service et le système logiciel qui traitera la demande et fournira le service est appelé en tant que fournisseur de service.

comment implémenter une méthode abstraite en java

Maintenant, si vous vous demandez comment se fait la communication, allons-y.



Il existe certaines règles qui définissent comment la communication peut avoir lieu entre différents systèmes. Ces règles incluent la manière dont un système peut demander des données à un autre système, les paramètres nécessaires à la demande de données, la structure des données produites et les messages d'erreur qui s'affichent lorsque certaines règles sont enfreintes. Ces règles sont définies dans un fichier appelé WSDL (Web Services Description Language) avec l'extension .wsdl.

Après la création d'un service Web, un fichier WSDL est généré pour décrire le service Web qui utilise le protocole soap () pour publier ou enregistrer le service dans l'UDDI (Universal Distribution Discovery and Interoperability) afin que notre service soit mis à la disposition des autres.
UDDI définit quel système logiciel doit être contacté pour quel type de données.

Le demandeur de service contacte l'UDDI et recherche le fournisseur qui fournit les données dont il a besoin. Ensuite, il contacte le fournisseur de services en utilisant le protocole soap. Le fournisseur de services valide la demande en se référant au WSDL et renvoie des données structurées en XML à l'aide du protocole Soap. Ce XML est à nouveau validé en utilisant XSD (XML Schema Definition - un document qui définit la règle ou les éléments pour XML).

Divya

Maintenant que vous avez compris comment cela fonctionne, développons un service web.

Il existe principalement trois aspects qui régissent le développement du service Web dans .NET.

1. Création d'un service Web
2. Création d'un proxy
3. Consommation du service Web créé.

Pour créer un service Web dans .net:

1. Faites un clic droit sur votre projet> Ajouter> Nouvel élément.

1. Web> Service Web
2. Donnez un nom à votre service Web
3. Cliquez sur ajouter.

Notez que les fichiers de service Web se terminent par .asmx
Maintenant que vous avez créé un service Web par défaut, vous verrez ce qui suit:

en utilisant System en utilisant System.Collections.Generic en utilisant System.Linq en utilisant System.Web en utilisant l'espace de noms System.Web.Services WebApplication5 {/// /// Description récapitulative pour WebService2 /// [WebService (Namespace = 'http: // tempuri. org / ')] [WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (false)] // Pour permettre à ce service Web d'être appelé à partir d'un script, à l'aide d'ASP.NET AJAX, décommentez la ligne suivante. // [System.Web.Script.Services.ScriptService] classe publique WebService2: System.Web.Services.WebService {[WebMethod] chaîne publique HelloWorld () {return 'Hello World'}}}

Dans l'extrait de code ci-dessus, la classe de service Web hérite de System.Web.Services.WebService qui est entouré d'un attribut de service Web [WebService], dans lequel vous pouvez spécifier l'espace de noms et fournir une brève description du service Web.

L'attribut WebMethod [WebMethod] est utilisé pour déclarer une méthode dans le cadre d'un service Web. Il doit être placé avant la déclaration de chaque méthode que vous souhaitez exposer dans le service Web et toutes les méthodes doivent également être déclarées publiques.

Pour créer votre méthode de service Web, ajoutez votre code dans une méthode publique avec l'attribut de méthode Web dans la classe WebService1. Par exemple:

[WebMethod] public int ConvertToFarenheit (int celsius) {int f = 0 f = (celsius * 9/5) + 32 return f}

Après cela, exécutez le service Web, nous obtiendrons la page ci-dessous:

Cela inclut les méthodes que nous exposons dans le service Web et également un lien vers la description du service qui est un fichier WSDL.
Maintenant, pour tester votre service Web, cliquez sur la méthode, pour obtenir la page ci-dessous. Transmettez la valeur du paramètre et cliquez sur invoquer.

mergesort en c ++


Vous obtiendrez la sortie du service Web comme ceci:

Voyons maintenant comment utiliser le service Web que nous avons créé dans notre application.
1. Dans votre projet, faites un clic droit sur les références> ajoutez une référence de service

Comme indiqué dans la capture d'écran ci-dessous:
1. Donnez l'adresse URL du descripteur de service ou du fichier WSDL. Et cliquez sur aller.
Il trouve le service Web que nous avons créé.
2. Cliquez sur OK

Dans l'explorateur de solutions que nous pouvons voir, un répertoire de référence de service est créé sous les références. Il comprend un dossier contenant tous les fichiers liés à la consommation du service Web

Ici, ServiceReference1 est le service Web que nous avons créé.
Dans ServiceReference1> Reference.svcmap> reference.cs, il y a une classe proxy créée (WebService1SoapClient) avec laquelle nous pouvons appeler des méthodes définies dans notre service Web.

Pour l'utiliser dans notre application:
1. Créez l'objet de la classe proxy.
2. Appelez les méthodes disponibles dans le service Web via l'objet de la classe proxy.

à l'aide de System à l'aide de System.Collections.Generic à l'aide de System.Linq à l'aide de System.Web à l'aide de System.Web.UI à l'aide de System.Web.UI.WebControls à l'aide de ServiceConsumeApp1.ServiceReference1 à l'aide de l'espace de noms ServiceConsumeApp1.ServiceReference1 ServiceConsumeApp1 {classe partielle publique WebForm1: System.Web. UI.Page {protected void btnConvertRates_Click (expéditeur de l'objet, EventArgs e) {WebService1SoapClient fn1 = new WebService1SoapClient () TextBox2.Text = fn1.ConvertToFarenheit (Convert.ToInt32 (TextBox1.Text)}.}

Lorsque nous exécutons l'application, la sortie sera affichée comme suit, après avoir placé les contrôles appropriés dans le formulaire Web pour afficher notre résultat.

C'est ainsi que nous créons et consommons un service Web dans .NET.

Vous pouvez créer de nombreux services Web dans .NET avec les étapes ci-dessus mentionnées. Ces services Web sont accessibles par n'importe quelle application construite dans n'importe quelle langue. Les services Web abordent ainsi les problèmes de communication entre différentes applications et se révèlent être une vraie affaire.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.

Articles Similaires:

différence entre mutable et immuable