Servicii web: afacerea reală



Serviciile web pot fi accesate de orice aplicație construită în orice limbă. Acesta abordează problemele de comunicare dintre diferite aplicații.

V-ați gândit vreodată să ajutați pe cineva și nu ați găsit o modalitate de a face acest lucru? Da, știu că dezvoltatorii de software nu au timp să facă toate acestea. De fapt, o parte din viața noastră se referă la codificarea pentru o aplicație sau alta. Așadar, toate acestea m-au făcut să mă gândesc, deoarece dezvoltator pot face ceva bun colegilor mei dezvoltatori.





De ce să nu scrieți un cod care ar putea fi folosit de orice cod de dezvoltator în orice limbă? Nu ar fi minunat?
Da! Si ghici ce ? Soluția este - „Servicii Web”

Serviciile web prin definiția W3C este „un sistem software conceput pentru a sprijini interacțiunea interoperabilă între mașini și mașini pe o rețea”.



Serviciile web dezvoltate într-o limbă pot fi utilizate în orice altă limbă, iar cea mai bună parte este că ajută la conectivitatea de la o aplicație la alta.

Atunci când două sisteme comunică între ele, sistemul software care solicită servicii este apelat ca solicitant de serviciu și sistemul software care va procesa cererea și va furniza serviciul este apelat ca furnizor de servicii.

Acum, dacă vă gândiți cum se întâmplă comunicarea, să ajungem la ea.



Există anumite reguli care definesc modul în care comunicarea poate avea loc între diferite sisteme. Aceste reguli includ modul în care un sistem poate solicita date de la alt sistem, parametrii care sunt necesari în cererea de date, structura datelor produse și mesajele de eroare care sunt afișate atunci când anumite reguli sunt încălcate. Aceste reguli sunt definite într-un fișier numit WSDL (Web Services Description Language) cu extensia .wsdl.

După efectuarea unui serviciu web, este generat un fișier WSDL pentru a descrie serviciul web care folosește protocolul săpun () pentru a publica sau înregistra serviciul în UDDI (Universal Distribution Discovery and Interoperability), astfel încât serviciul nostru să fie pus la dispoziția altora.
UDDI definește ce sistem software trebuie contactat pentru ce tip de date.

Solicitantul de servicii contactează UDDI și verifică furnizorul care oferă datele de care are nevoie. Apoi contactează furnizorul de servicii utilizând protocolul săpun. Furnizorul de servicii validează cererea făcând trimitere la WSDL și trimite înapoi date structurate în XML folosind protocolul Soap. Acest XML este validat din nou folosind XSD (XML Schema Definition - un document care definește regula sau elementele pentru XML).

Divya

Acum, că ați înțeles cum funcționează, permiteți-ne să dezvoltăm un serviciu web.

Există în principal trei aspecte care guvernează dezvoltarea serviciilor web în .NET.

1. Crearea unui serviciu web
2. Crearea unui proxy
3. Consumarea serviciului web creat.

Pentru a crea un serviciu web în .net:

1. Faceți clic dreapta pe proiectul dvs.> Adăugați> Element nou.

1. Web> Serviciu Web
2. Introduceți un nume pentru serviciul dvs. web
3. Faceți clic pe adăugare.

Rețineți că fișierele de servicii web se termină cu .asmx
Acum ați creat un serviciu web implicit, veți vedea următoarele:

folosind System folosind System.Collections.Generic using System.Linq using System.Web using System.Web.Services namespace WebApplication5 {/// /// Descriere sumară pentru WebService2 /// [WebService (namespace = 'http: // tempuri. org / ')] [WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (false)] // Pentru a permite apelarea acestui serviciu Web din script, utilizând ASP.NET AJAX, decomentați următoarea linie. // [System.Web.Script.Services.ScriptService] public class WebService2: System.Web.Services.WebService {[WebMethod] public string HelloWorld () {return 'Hello World'}}}

În fragmentul de cod de mai sus, clasa de servicii web moștenește de la System.Web.Services.WebService care este înconjurat de un atribut de serviciu Web [WebService], unde puteți specifica spațiul de nume și puteți furniza o scurtă descriere pentru serviciul web.

Atributul WebMethod [WebMethod] este utilizat pentru a declara o metodă ca parte a unui serviciu web. Acesta trebuie plasat înainte de declarația fiecărei metode pe care doriți să o expuneți în serviciul web și, de asemenea, toate metodele ar trebui declarate publice.

Pentru a vă transforma metoda de serviciu web, adăugați codul într-o metodă publică cu atributul metodei web în clasa WebService1. De exemplu:

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

După aceea, rulați serviciul web, vom primi pagina de mai jos:

Aceasta include metodele pe care le expunem în serviciul web și, de asemenea, un link către descrierea serviciului, care este fișierul WSDL.
Acum, pentru a vă testa serviciul web, faceți clic pe metodă, pentru a obține pagina de mai jos. Treceți valoarea parametrului și faceți clic pe invocare.


Veți obține rezultatul serviciului web astfel:

Acum, să vedem cum să consumăm serviciul web pe care l-am creat în aplicația noastră.
1. În proiectul dvs., faceți clic dreapta pe referințe> adăugați referință de serviciu

poți face o serie de obiecte în java

După cum este prezentat în captura de ecran de mai jos:
1. Introduceți adresa URL a descriptorului serviciului sau a fișierului WSDL. Și faceți clic pe du-te.
Acesta găsește serviciul web pe care l-am creat.
2. Faceți clic pe OK

În exploratorul de soluții pe care îl putem vedea, un director de referință de serviciu este creat sub Referințe. Acesta include un folder care conține toate fișierele legate de consumarea serviciului web

Aici, ServiceReference1 este serviciul web pe care l-am creat.
În ServiceReference1> Reference.svcmap> reference.cs există o clasă proxy creată (WebService1SoapClient) cu care putem apela metode definite în serviciul nostru web.

Pentru a-l utiliza în aplicația noastră:
1. Creați obiectul clasei proxy.
2. Apelați metodele disponibile în serviciul web prin obiectul clasei proxy.

folosind System folosind System.Collections.Generic using System.Linq using System.Web using System.Web.UI using System.Web.UI.WebControls using ServiceConsumeApp1.ServiceReference1 using ServiceConsumeApp1.ServiceReference1 namespace ServiceConsumeApp1 {public partial partial class WebForm1: System.Web. UI.Page {protected void btnConvertRates_Click (obiect expeditor, EventArgs e) {WebService1SoapClient fn1 = new WebService1SoapClient () TextBox2.Text = fn1.ConvertToFarenheit (Convert.ToInt32 (TextBox1.Text)).

Când rulăm aplicația, rezultatul va fi afișat după cum urmează, după ce am plasat comenzile corespunzătoare în formularul web pentru a afișa rezultatul nostru.

Deci, așa creăm și consumăm un serviciu web în .NET.

Puteți crea multe servicii web în .NET cu pașii de mai sus menționați. Aceste servicii web pot fi accesate de orice aplicație construită în orice limbă. Prin urmare, serviciile web abordează problemele de comunicare dintre diferite aplicații și dovedesc o afacere reală.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.

Postări asemănatoare: