Hva er Web Service?
Webtjeneste er et standardisert medium for å formidle kommunikasjon mellom klienten og serverapplikasjonene på Internett. En webtjeneste er en programvaremodul som er designet for å utføre et bestemt sett med oppgaver.
- Webtjenester i cloud computing kan søkes etter over nettverket og kan også påberopes tilsvarende.
- Når web-tjenesten påkalles, vil den kunne tilby funksjonaliteten til klienten, som påkaller den nettjenesten.
I denne veiledningen om webtjenester lærer du det grunnleggende om webtjenester-
- Hvordan fungerer WebServices?
- Hvorfor trenger du en nettjeneste?
- Type nettjeneste
- Fordeler med webtjenester
- Web Service Architecture
- Webtjenesteegenskaper
- SOAP-nettjenester.
- RESTful webtjenester.
- Hvert SOAP-dokument må ha et rotelement kjent som
-elementet. Rotelementet er det første elementet i et XML-dokument. - "Konvolutten" er i sin tur delt i 2 deler. Den første er overskriften, og den neste er kroppen.
- Overskriften inneholder rutedataene, som i utgangspunktet er informasjonen som forteller XML-dokumentet til hvilken klient den må sendes til.
- Kroppen vil inneholde den faktiske meldingen.
Hvordan fungerer WebServices?

Ovenstående diagram viser en veldig forenklet oversikt over hvordan en nettjeneste faktisk vil fungere. Klienten vil påkalle en serie med nettjenesteanrop via forespørsler til en server som er vert for den faktiske webtjenesten.
Disse forespørslene kommer gjennom det som kalles eksterne prosedyreanrop. Remote Procedure Calls (RPC) er anrop til metoder som er vert for den aktuelle nettjenesten.
Som et eksempel tilbyr Amazon en webtjeneste som gir priser for produkter som selges online via amazon.com. Frontend eller presentasjonslag kan være i .Net eller Java, men begge programmeringsspråk vil ha muligheten til å kommunisere med webtjenesten.
Hovedkomponenten i en webtjeneste er dataene som overføres mellom klienten og serveren, og det er XML. XML (Extensible markup language) er et motstykke til HTML og lett å forstå mellomspråket som er forstått av mange programmeringsspråk.
Så når applikasjoner snakker med hverandre, snakker de faktisk i XML. Dette gir en felles plattform for applikasjoner utviklet på forskjellige programmeringsspråk for å snakke med hverandre.
Webtjenester bruker noe kjent som SOAP (Simple Object Access Protocol) for å sende XML-data mellom applikasjoner. Dataene sendes via vanlig HTTP. Dataene som sendes fra webtjenesten til applikasjonen kalles en SOAP-melding. SOAP-meldingen er bare et XML-dokument. Siden dokumentet er skrevet i XML, kan klientapplikasjonen som ringer nettjenesten skrives på hvilket som helst programmeringsspråk.
Hvorfor trenger du en nettjeneste?
Moderne forretningsapplikasjoner bruker en rekke programmeringsplattformer for å utvikle nettbaserte applikasjoner. Noen applikasjoner kan utvikles i Java, andre i .Net, mens andre i Angular JS, Node.js, etc.
Disse heterogene applikasjonene trenger ofte en form for kommunikasjon mellom dem. Siden de er bygget med forskjellige utviklingsspråk, blir det veldig vanskelig å sikre nøyaktig kommunikasjon mellom applikasjoner.
Her kommer nettjenestene inn. Webtjenester gir en felles plattform som gjør det mulig for flere applikasjoner bygget på forskjellige programmeringsspråk å ha muligheten til å kommunisere med hverandre.
Type nettjeneste
Det er hovedsakelig to typer webtjenester.
For at en webtjeneste skal være fullt funksjonell, er det visse komponenter som må være på plass. Disse komponentene må være til stede uavhengig av hvilket utviklingsspråk som brukes til programmering av nettjenesten.
La oss se nærmere på disse komponentene.
SOAP (Simple Object Access Protocol)
SOAP er kjent som en transportuavhengig meldingsprotokoll. SOAP er basert på overføring av XML-data som SOAP-meldinger. Hver melding har noe som er kjent som et XML-dokument. Bare strukturen til XML-dokumentet følger et bestemt mønster, men ikke innholdet. Den beste delen av webtjenester og SOAP er at alt sendes via HTTP, som er standard webprotokoll.
Her er hva en SOAP-melding består av
Diagrammet nedenfor viser et enkelt eksempel på kommunikasjon via SOAP.

Vi vil diskutere SOAP i detalj i denne opplæringen.
WSDL (beskrivelsesspråk for webtjenester)
En webtjeneste kan ikke brukes hvis den ikke kan bli funnet . Klienten som påkaller nettjenesten, bør vite hvor nettjenesten faktisk ligger.
For det andre må klientapplikasjonen vite hva nettjenesten faktisk gjør, slik at den kan påberope seg riktig nettjeneste. Dette gjøres ved hjelp av WSDL, kjent som beskrivelsesspråket for webtjenester. WSDL-filen er igjen en XML-basert fil som i utgangspunktet forteller klientapplikasjonen hva nettjenesten gjør. Ved å bruke WSDL-dokumentet vil klientapplikasjonen kunne forstå hvor webtjenesten ligger og hvordan den kan brukes.
Eksempel på nettjeneste
Et eksempel på webtjenester av en WSDL-fil er gitt nedenfor.
De viktige aspektene å merke seg om eksemplene på WSDL-deklarasjon over nettjenester er som følger:
- Meldingsparameteren i WSDL-definisjonen brukes til å definere de forskjellige dataelementene for hver operasjon utført av webtjenesten. Så i eksemplene på webtjenester ovenfor har vi to meldinger som kan utveksles mellom webtjenesten og klientapplikasjonen, den ene er "TutorialRequest", og den andre er "TutorialResponse" -operasjonen. TutorialRequest inneholder et element kalt "TutorialID" som er av typen streng. Tilsvarende inneholder TutorialResponse-operasjonen et element kalt "TutorialName", som også er en typestreng. -
- Dette beskriver faktisk operasjonen som kan utføres av nettjenesten, som i vårt tilfelle kalles Tutorial. Denne operasjonen kan ta to meldinger; den ene er en inngangsmelding, og den andre er utgangsmeldingen. - Dette elementet inneholder protokollen som brukes. Så i vårt tilfelle definerer vi det til å bruke http ( http://schemas.xmlsoap.org/soap/http ). Vi spesifiserer også andre detaljer for operasjonens hoveddel, som navnområdet og om meldingen skal være kodet.
Vi vil diskutere "WDSL" i detalj i denne opplæringen.
Universell beskrivelse, oppdagelse og integrering (UDDI)
UDDI er en standard for å beskrive, publisere og oppdage webtjenester som tilbys av en bestemt tjenesteleverandør. Det gir en spesifikasjon som hjelper til med å være vert for informasjonen på nettjenester.
Nå diskuterte vi i forrige emne om WSDL og hvordan den inneholder informasjon om hva nettjenesten faktisk gjør. Men hvordan kan et klientprogram finne en WSDL-fil for å forstå de ulike operasjonene som tilbys av en nettjeneste? Så UDDI er svaret på dette og gir et lager hvor WSDL-filer kan være vert. Så klientapplikasjonen vil ha full tilgang til UDDI, som fungerer som en database som inneholder alle WSDL-filene.
Akkurat som en telefonkatalog har navn, adresse og telefonnummer til en bestemt person, på samme måte som UDDI-registeret vil ha relevant informasjon for webtjenesten . Slik at en klientapplikasjon vet hvor den kan bli funnet.
Fordeler med webtjenester
Vi forstår allerede hvorfor nettjenester i utgangspunktet oppstod, som var å tilby en plattform som kunne tillate forskjellige applikasjoner å snakke med hverandre.
Men la oss se på listen over fordeler med webtjenester for hvorfor det er viktig å bruke webtjenester.
-
Å eksponere forretningsfunksjonalitet i nettverket - En webtjeneste er en enhet med administrert kode som gir en slags funksjonalitet til klientapplikasjoner eller sluttbrukere. Denne funksjonaliteten kan påberopes over HTTP-protokollen, noe som betyr at den også kan påberopes over internett. I dag er alle applikasjoner på internett, noe som gjør formålet med webtjenester mer nyttig. Det betyr at nettjenesten kan være hvor som helst på internett og tilby den nødvendige funksjonaliteten etter behov.
-
Interoperabilitet mellom applikasjoner - Webtjenester lar forskjellige applikasjoner snakke med hverandre og dele data og tjenester seg imellom. Alle typer applikasjoner kan snakke med hverandre. Så i stedet for å skrive spesifikk kode som bare kan forstås av spesifikke applikasjoner, kan du nå skrive generisk kode som kan forstås av alle applikasjoner
-
En standardisert protokoll som alle forstår - Webtjenester bruker standard industriprotokoll for kommunikasjonen. Alle de fire lagene (Service Transport, XML Messaging, Service Description og Service Discovery lag) bruker veldefinerte protokoller i protokollstakken for nettjenester.
-
Reduksjon i kommunikasjonskostnader - Webtjenester bruker SOAP over HTTP-protokoll, slik at du kan bruke ditt eksisterende billig internett til å implementere webtjenester.
Webtjenestearkitektur
Hvert rammeverk trenger en slags arkitektur for å sikre at hele rammeverket fungerer som ønsket, på samme måte i webtjenester. The Web Services Architecture består av tre forskjellige roller som angitt nedenfor:
- Leverandør - Leverandøren oppretter webtjenesten og gjør den tilgjengelig for klientapplikasjoner som vil bruke den.
- Rekvirent - En rekvirent er ikke annet enn klientapplikasjonen som trenger å kontakte en webtjeneste. Klientapplikasjonen kan være et .Net, Java eller et hvilket som helst annet språkbasert program som ser etter en slags funksjonalitet via en nettjeneste.
- Megler - Megleren er ikke annet enn applikasjonen som gir tilgang til UDDI. UDDI, som diskutert i det tidligere emnet, gjør det mulig for klientapplikasjonen å finne webtjenesten.
Diagrammet nedenfor viser hvordan tjenesteleverandøren, tjenesteforespøreren og serviceregisteret samhandler med hverandre.

- Publiser - En leverandør informerer megleren (service register) om eksistensen av nettjenesten ved å bruke meglerens publiseringsgrensesnitt for å gjøre tjenesten tilgjengelig for klienter
- Finn - Forespørselen konsulterer megleren om å finne en publisert webtjeneste
- Bind - Med informasjonen den fikk fra megleren (service register) om nettjenesten, er forespørselen i stand til å binde, eller påkalle, nettjenesten.
Webtjenesteegenskaper
Webtjenester har følgende spesielle atferdskarakteristikker:
-
De er XML-baserte - Web Services bruker XML til å representere dataene i representasjons- og datatransportlagene. Bruk av XML eliminerer avhengighet av nettverk, operativsystem eller plattform, siden XML er det vanlige språket som alle forstår.
-
Løst koblet - Løst koblet betyr at klienten og webtjenesten ikke er bundet til hverandre, noe som betyr at selv om webtjenesten endres over tid, bør det ikke endre måten klienten ringer til nettjenesten. Å vedta en løs koblet arkitektur har en tendens til å gjøre programvaresystemer mer håndterbare og tillater enklere integrering mellom forskjellige systemer.
-
Synkron eller asynkron funksjonalitet - Synkronitet refererer til binding av klienten til utførelsen av tjenesten. I synkrone operasjoner vil klienten faktisk vente på at nettjenesten skal fullføre en operasjon. Et eksempel på dette er sannsynligvis et scenario hvor en database lese- og skriveoperasjon blir utført. Hvis data blir lest fra en database og deretter skrevet til en annen, må operasjonene gjøres på en sekvensiell måte. Asynkrone operasjoner tillater en klient å påkalle en tjeneste og deretter utføre andre funksjoner parallelt. Dette er en av de vanligste og sannsynligvis de mest foretrukne teknikkene for å sikre at andre tjenester ikke stoppes når en bestemt operasjon utføres.
-
Evne til å støtte Remote Procedure Calls (RPCs) - Webtjenester gjør det mulig for klienter å påkalle prosedyrer, funksjoner og metoder på eksterne objekter ved hjelp av en XML-basert protokoll. Eksterne prosedyrer eksponerer inngangs- og utgangsparametere som en webtjeneste må støtte.
-
Støtter dokumentutveksling - En av de viktigste fordelene med XML er dens generelle måte å representere ikke bare data, men også komplekse dokumenter. Disse dokumentene kan være så enkle som å representere en nåværende adresse, eller de kan være så kompliserte som å representere en hel bok.