Webbtjänster: The Real Deal



Webbtjänster kan nås av alla applikationer som är byggda på vilket språk som helst. Den tar upp kommunikationsproblemen mellan olika applikationer.

Har du någonsin tänkt på att hjälpa någon och inte hittat ett sätt att göra det? Ja, jag vet att mjukvaruutvecklare inte får tid att göra allt detta. Faktum är att en del av vår livstid går till kodning för någon applikation eller den andra. Så allt detta fick mig att tänka, som utvecklare finns det något bra jag kan göra mot mina andra utvecklare.





Varför inte skriva en kod som kan användas av alla utvecklarkoder på vilket språk som helst? Skulle det inte vara fantastiskt?
ja! Och gissa vad ? Lösningen är - “Web Services”

Webbtjänster per definition av W3C är 'ett mjukvarusystem som är utformat för att stödja interoperabel maskin-till-maskin-interaktion över ett nätverk.'



Webbtjänster utvecklade på ett språk kan användas på vilket annat språk som helst, och det bästa är att det hjälper till att skapa anslutning från en applikation till en annan.

När två system kommunicerar med varandra kallas programvarusystemet som begär service om som tjänsteförfrågare och programvarusystemet som behandlar begäran och tillhandahåller tjänsten kallas som tjänsteleverantör.

Nu, om du funderar på hur kommunikationen sker, låt oss gå till den.



Det finns vissa regler som definierar hur kommunikation kan ske mellan olika system. Dessa regler inkluderar hur ett system kan begära data från ett annat system, de parametrar som behövs i dataförfrågan, strukturen på den producerade data och felmeddelanden som visas när vissa regler bryts. Dessa regler definieras i en fil som heter WSDL (Web Services Description Language) med tillägget .wsdl.

Efter att en webbtjänst har skapats genereras en WSDL-fil för att beskriva webbtjänsten som använder tvålprotokollet () för att publicera eller registrera tjänsten i UDDI (Universal Distribution Discovery and Interoperability) så att vår tjänst görs tillgänglig för andra.
UDDI definierar vilket programvarusystem som ska kontaktas för vilken typ av data.

Serviceanmodern kontaktar UDDI och söker efter leverantören som ger den information den behöver. Sedan kontaktar den tjänsteleverantören med tvålprotokoll. Tjänsteleverantören validerar begäran genom att hänvisa till WSDL och skickar tillbaka strukturerad data i XML med hjälp av Soap Protocol. Denna XML valideras igen med XSD (XML Schema Definition - ett dokument som definierar regel eller element för XML).

Divya

Nu när du har förstått hur det fungerar, låt oss utveckla en webbtjänst.

Det finns huvudsakligen tre aspekter som styr utvecklingen av webbtjänster i .NET.

1. Skapa en webbtjänst
2. Skapa en proxy
3. Konsumerar den webbtjänst som skapas.

Så här skapar du en webbtjänst i .net:

1. Högerklicka på ditt projekt> Lägg till> Nytt objekt.

1. Webb> Webbtjänst
2. Sätt in ett namn för din webbtjänst
3. Klicka på lägg till.

Observera att webbtjänstfiler slutar med .asmx
Nu har du skapat en standardwebbtjänst, du ser följande:

använder System med System.Collections.Generic med System.Linq med System.Web med System.Web.Services namnområde WebApplication5 {/// /// Sammanfattningsbeskrivning för WebService2 /// [WebService (Namespace = 'http: // tempuri. org / ')] [WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (false)] // För att tillåta att denna webbtjänst anropas från skript med ASP.NET AJAX, avkommentera följande rad. // [System.Web.Script.Services.ScriptService] public class WebService2: System.Web.Services.WebService {[WebMethod] public string HelloWorld () {return 'Hello World'}}}

I ovanstående kodavsnitt ärver webbtjänstklassen från System.Web.Services.WebService som omges av ett webbtjänstattribut [WebService], där du kan ange namnområdet och ge en kort beskrivning av webbtjänsten.

WebMethod-attributet [WebMethod] används för att deklarera en metod som en del av en webbtjänst. Den måste placeras före deklarationen för varje metod du vill exponera i webbtjänsten och alla metoder bör också förklaras offentliga.

För att göra din webbtjänstmetod, lägg till din kod i en offentlig metod med attributet webmetod i klassen WebService1. Till exempel:

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

Efter att ha kört webbtjänsten får vi sidan nedan:

Detta inkluderar de metoder som vi exponerar i webbtjänsten och även en länk till tjänstbeskrivningen som är WSDL-fil.
Nu för att testa din webbtjänst, klicka på metoden för att få sidan nedan. Skicka parametervärdet och klicka på anropa.


Du får utdata från webbtjänsten så här:

Låt oss nu se hur vi konsumerar den webbtjänst som vi har skapat i vår applikation.
1. I ditt projekt högerklickar du på referenser> lägg till tjänstreferens

Som anges i skärmbilden nedan:
1. Ange URL-adressen till tjänstebeskrivaren eller WSDL-filen till adressen. Och klicka på gå.
Den hittar webbtjänsten vi har skapat.
2. Klicka på OK

I lösningsutforskaren kan vi se, en referenskatalog för tjänster skapas under referenserna. Den innehåller en mapp som innehåller alla filer relaterade för att konsumera webbtjänsten

Här är ServiceReference1 den webbtjänst vi skapade.
I ServiceReference1> Reference.svcmap> reference.cs skapas en proxyklass (WebService1SoapClient) som vi kan anropa metoder som definieras i vår webbtjänst.

hur man djupt kopierar i java

För att använda den i vår applikation:
1. Skapa objektet för proxyklassen.
2. Ring de metoder som finns tillgängliga i webbtjänsten genom objektet för proxyklassen.

använder System med System.Collections.Generic med System.Linq med System.Web med System.Web.UI med System.Web.UI.WebControls med ServiceConsumeApp1.ServiceReference1 med ServiceConsumeApp1.ServiceReference1 namnområde ServiceConsumeApp1 {offentlig delklass WebForm1: System.Web. UI.Sida {skyddad ogiltig btnConvertRates_Click (objektavsändare, EventArgs e) {WebService1SoapClient fn1 = ny WebService1SoapClient () TextBox2.Text = fn1.ConvertToFarenheit (Convert.ToInt32 (TextBox1.Text))}} String.

När vi kör applikationen visas utdata på följande sätt efter att vi har placerat lämpliga kontroller i webbformuläret för att visa vårt resultat.

Så här skapar och konsumerar vi en webbtjänst i .NET.

Du kan skapa många webbtjänster i .NET med ovan nämnda steg. Dessa webbtjänster kan nås av alla applikationer som är byggda på vilket språk som helst. Webbtjänster adresserar därför kommunikationsproblemen mellan olika applikationer och visar sig vara en riktig affär.

Har du en fråga till oss? Vänligen nämna det i kommentarfältet så återkommer vi till dig.

Relaterade inlägg: