Hvad er webservices? Arkitektur, Typer, Eksempel

Indholdsfortegnelse:

Anonim

Hvad er webservice?

Webtjeneste er et standardiseret medium til at formidle kommunikation mellem klienten og serverapplikationer på World Wide Web. En webservice er et softwaremodul, der er designet til at udføre et bestemt sæt opgaver.

  • Webtjenester i cloud computing kan søges efter over netværket og kan også påberåbes i overensstemmelse hermed.
  • Når den påberåbes, ville webtjenesten være i stand til at levere funktionaliteten til klienten, som påberåber sig denne webservice.

I denne vejledning til webservice lærer du grundlæggende om webtjenester-

  • Hvordan fungerer WebServices?
  • Hvorfor har du brug for en webservice?
  • Type webservice
  • Webtjenester Fordele
  • Web Service Arkitektur
  • Webservicekarakteristika
  • Hvordan fungerer WebServices?

    Hvordan fungerer webservices?

    Ovenstående diagram viser et meget forenklet billede af, hvordan en webservice rent faktisk ville fungere. Klienten påberåber sig en række webtjenesteopkald via anmodninger til en server, der er vært for den faktiske webservice.

    Disse anmodninger foretages gennem såkaldte fjernprocedurkald. Remote Procedure Calls (RPC) er opkald til metoder, der hostes af den relevante webservice.

    Som et eksempel tilbyder Amazon en webservice, der giver priser for produkter, der sælges online via amazon.com. Frontend eller præsentationslag kan være i .Net eller Java, men begge programmeringssprog vil have evnen til at kommunikere med webservicen.

    Hovedkomponenten i et webservicedesign er de data, der overføres mellem klienten og serveren, og det er XML. XML (Extensible markup language) er en modstykke til HTML og let at forstå det mellemliggende sprog, der forstås af mange programmeringssprog.

    Så når applikationer taler med hinanden, taler de faktisk i XML. Dette giver en fælles platform til applikationer udviklet på forskellige programmeringssprog til at tale med hinanden.

    Webtjenester bruger noget kendt som SOAP (Simple Object Access Protocol) til at sende XML-data mellem applikationer. Dataene sendes via normal HTTP. De data, der sendes fra webservicen til applikationen, kaldes en SOAP-besked. SOAP-meddelelsen er intet andet end et XML-dokument. Da dokumentet er skrevet i XML, kan klientapplikationen, der kalder webservicen, skrives på ethvert programmeringssprog.

    Hvorfor har du brug for en webservice?

    Moderne forretningsapplikationer bruger forskellige programmeringsplatforme til at udvikle webbaserede applikationer. Nogle applikationer kan udvikles i Java, andre i .Net, mens andre i Angular JS, Node.js osv.

    Oftest har disse heterogene applikationer brug for en form for kommunikation mellem dem. Da de er bygget ved hjælp af forskellige udviklingssprog, bliver det virkelig svært at sikre nøjagtig kommunikation mellem applikationer.

    Her er hvor webtjenester kommer ind. Webtjenester giver en fælles platform, der gør det muligt for flere applikationer bygget på forskellige programmeringssprog at have evnen til at kommunikere med hinanden.

    Type webservice

    Der er hovedsagelig to typer webtjenester.

    1. SOAP-webtjenester.
    2. RESTfulde webtjenester.

    For at en webservice skal fungere fuldt ud, er der visse komponenter, der skal være på plads. Disse komponenter skal være til stede uanset hvilket udviklingssprog der bruges til programmering af webservicen.

    Lad os se nærmere på disse komponenter.

    SOAP (Simple Object Access Protocol)

    SOAP er kendt som en transportuafhængig beskedprotokol. SOAP er baseret på overførsel af XML-data som SOAP-meddelelser. Hver besked har noget, der er kendt som et XML-dokument. Kun strukturen i XML-dokumentet følger et bestemt mønster, men ikke indholdet. Den bedste del af webtjenester og SOAP er, at alt sendes via HTTP, som er standardwebprotokollen.

    Her er hvad en SOAP-besked består af

    • Hvert SOAP-dokument skal have et rodelement kendt som -elementet. Rodelementet er det første element i et XML-dokument.
    • "Konvolutten" er igen opdelt i 2 dele. Den første er overskriften, og den næste er kroppen.
    • Overskriften indeholder routingsdata, som grundlæggende er de oplysninger, der fortæller XML-dokumentet, til hvilken klient det skal sendes til.
    • Kroppen vil indeholde den aktuelle meddelelse.

    Diagrammet nedenfor viser et simpelt eksempel på kommunikation via SOAP.

    SOAP-protokol

    Vi vil diskutere SOAP i detaljer i denne vejledning.

    WSDL (beskrivelsessprog for webtjenester)

    En webservice kan ikke bruges, hvis den ikke kan findes . Den klient, der påberåber sig webservicen, skal vide, hvor webservicen faktisk ligger.

    For det andet skal klientapplikationen vide, hvad webservicen faktisk gør, så den kan påberåbe sig den rigtige webservice. Dette gøres ved hjælp af WSDL, kendt som beskrivelsessproget for webservices. WSDL-filen er igen en XML-baseret fil, der grundlæggende fortæller klientapplikationen, hvad webservicen gør. Ved at bruge WSDL-dokumentet kunne klientapplikationen forstå, hvor webservicen er placeret, og hvordan den kan bruges.

    Eksempel på webservice

    Et eksempel på webservices af en WSDL-fil er angivet nedenfor.

    
    
    
    

    De vigtige aspekter, der skal bemærkes om ovenstående WSDL-deklarationseksempler på webtjenester, er som følger:

    1. - Meddelelsesparameteren i WSDL-definitionen bruges til at definere de forskellige dataelementer for hver operation udført af webservicen. Så i eksemplerne på webservicerne ovenfor har vi 2 meddelelser, som kan udveksles mellem webservicen og klientapplikationen, den ene er "TutorialRequest", og den anden er "TutorialResponse" -operationen. TutorialRequest indeholder et element kaldet "TutorialID", som er af typen streng. På samme måde indeholder TutorialResponse-handlingen et element kaldet "TutorialName", som også er en typestreng.
    2. - Dette beskriver faktisk den handling, der kan udføres af webservicen, som i vores tilfælde kaldes Tutorial. Denne handling kan tage to beskeder; den ene er en inputmeddelelse, og den anden er outputmeddelelsen.
    3. - Dette element indeholder den anvendte protokol. Så i vores tilfælde definerer vi det til at bruge http ( http://schemas.xmlsoap.org/soap/http ). Vi specificerer også andre detaljer for operationens krop, f.eks. Navneområdet og om meddelelsen skal kodes.

    Vi vil diskutere "WDSL" i detaljer i denne vejledning.

    Universel beskrivelse, opdagelse og integration (UDDI)

    UDDI er en standard til beskrivelse, udgivelse og opdagelse af de webtjenester, der leveres af en bestemt tjenesteudbyder. Det giver en specifikation, der hjælper med at være vært for oplysningerne om webtjenester.

    Nu diskuterede vi i det forrige emne om WSDL og hvordan det indeholder information om, hvad webservicen faktisk gør. Men hvordan kan en klientapplikation finde en WSDL-fil for at forstå de forskellige operationer, der tilbydes af en webservice? Så UDDI er svaret på dette og giver et lager, hvor WSDL-filer kan hostes. Så klientapplikationen har fuld adgang til UDDI, der fungerer som en database, der indeholder alle WSDL-filer.

    Ligesom et telefonkatalog har navnet, adressen og telefonnummeret på en bestemt person, vil UDDI-registreringsdatabasen på samme måde have de relevante oplysninger til webservicen . Så at en klientapplikation ved, hvor den kan findes.

    Webtjenester Fordele

    Vi forstår allerede, hvorfor webtjenester i første omgang opstod, hvilket var at tilbyde en platform, der kunne give forskellige applikationer mulighed for at tale med hinanden.

    Men lad os se på listen over fordele ved webtjenester, hvorfor det er vigtigt at bruge webtjenester.

    1. Eksponering af forretningsfunktionalitet på netværket - En webservice er en enhed med administreret kode, der giver en slags funktionalitet til klientapplikationer eller slutbrugere. Denne funktionalitet kan påberåbes via HTTP-protokollen, hvilket betyder, at den også kan påberåbes over internettet. I dag er alle applikationer på internettet, hvilket gør formålet med webtjenester mere nyttigt. Det betyder, at webservicen kan være hvor som helst på internettet og levere den nødvendige funktionalitet efter behov.

    2. Interoperabilitet mellem applikationer - Webtjenester giver forskellige applikationer mulighed for at tale med hinanden og dele data og tjenester indbyrdes. Alle typer applikationer kan tale med hinanden. Så i stedet for at skrive specifik kode, som kun kan forstås af specifikke applikationer, kan du nu skrive generisk kode, der kan forstås af alle applikationer

    3. En standardiseret protokol, som alle forstår - Webtjenester bruger standardiseret industriprotokol til kommunikationen. Alle de fire lag (Service Transport, XML Messaging, Service Description og Service Discovery-lag) bruger veldefinerede protokoller i webservices protokolstak.

    4. Reduktion i kommunikationsomkostninger - Webtjenester bruger SOAP over HTTP-protokol, så du kan bruge dit eksisterende billige internet til implementering af webtjenester.

    Web Services Arkitektur

    Hver ramme har brug for en slags arkitektur for at sikre, at hele rammen fungerer som ønsket på samme måde i webservices. Den Web Services Architecture består af tre forskellige roller som angivet nedenfor:

    1. Udbyder - Udbyderen opretter webservicen og gør den tilgængelig for klientapplikationer, der ønsker at bruge den.
    2. Rekvirent - En rekvirent er intet andet end klientapplikationen, der skal kontakte en webservice. Klientapplikationen kan være et .Net, Java eller ethvert andet sprogbaseret program, der ser efter en slags funktionalitet via en webservice.
    3. Mægler - Mægleren er intet andet end den applikation, der giver adgang til UDDI. UDDI, som diskuteret i det tidligere emne, gør det muligt for klientapplikationen at finde webservicen.

    Diagrammet nedenfor viser, hvordan tjenesteudbyderen, serviceanmoderen og service-registreringsdatabasen interagerer med hinanden.

    Web Services Arkitektur
    1. Publicer - En udbyder informerer mægleren (service-registreringsdatabasen) om eksistensen af ​​webservicen ved at bruge mæglerens publiceringsgrænseflade for at gøre tjenesten tilgængelig for klienter
    2. Find - Anmoderen konsulterer mægleren om at finde en offentliggjort webservice
    3. Bind - Med de oplysninger, den har fået fra mægleren (service-registreringsdatabasen) om webservicen, er anmoderen i stand til at binde eller påberåbe sig webservicen.

    Webservicekarakteristika

    Webtjenester har følgende særlige adfærdsmæssige egenskaber:

    1. De er XML-baserede - Web Services bruger XML til at repræsentere dataene i repræsentations- og datatransportlagene. Brug af XML eliminerer ethvert netværk, operativsystem eller platforms afhængighed, da XML er det almindelige sprog, som alle forstår.

    2. Løst koblet - Løst koblet betyder, at klienten og webservicen ikke er bundet til hinanden, hvilket betyder, at selvom webtjenesten ændres over tid, bør den ikke ændre den måde, klienten kalder på webservicen. Vedtagelse af en løst koblet arkitektur har tendens til at gøre softwaresystemer mere håndterbare og muliggør enklere integration mellem forskellige systemer.

    3. Synkron eller asynkron funktionalitet - Synkronitet henviser til klientens binding til udførelsen af ​​tjenesten. I synkron drift vil klienten faktisk vente på, at webservicen fuldender en operation. Et eksempel på dette er sandsynligvis et scenario, hvor en database læser og skriver operation udføres. Hvis data læses fra en database og efterfølgende skrives til en anden, skal operationerne udføres sekventielt. Asynkrone operationer tillader en klient at påberåbe sig en tjeneste og derefter udføre andre funktioner parallelt. Dette er en af ​​de almindelige og sandsynligvis den mest foretrukne teknikker til at sikre, at andre tjenester ikke stoppes, når en bestemt operation udføres.

    4. Evne til at understøtte Remote Procedure Calls (RPC'er) - Webtjenester gør det muligt for klienter at påberåbe sig procedurer, funktioner og metoder på eksterne objekter ved hjælp af en XML-baseret protokol. Fjernprocedurer udsætter input- og outputparametre, som en webservice skal understøtte.

    5. Understøtter dokumentudveksling - En af de vigtigste fordele ved XML er dens generiske måde at repræsentere ikke kun data, men også komplekse dokumenter. Disse dokumenter kan være så enkle som at repræsentere en nuværende adresse, eller de kan være så komplekse som at repræsentere en hel bog.