Kaj so spletne storitve? Arhitektura, vrste, primer

Kazalo:

Anonim

Kaj je spletna storitev?

Spletna storitev je standardiziran medij za širjenje komunikacije med odjemalskimi in strežniškimi aplikacijami na svetovnem spletu. Spletna storitev je programski modul, ki je zasnovan za izvajanje določenega sklopa nalog.

  • Spletne storitve v računalništvu v oblaku lahko iščete po omrežju in jih lahko tudi ustrezno prikličete.
  • Ko se spletna storitev pokliče, bi lahko omogočila funkcionalnost odjemalcu, ki prikliče to spletno storitev.

V tej vadnici spletnih storitev boste spoznali osnove spletnih storitev -

  • Kako delujejo spletne storitve?
  • Zakaj potrebujete spletno storitev?
  • Vrsta spletne storitve
  • Prednosti spletnih storitev
  • Arhitektura spletnih storitev
  • Značilnosti spletnih storitev
  • Kako delujejo spletne storitve?

    Kako delujejo spletne storitve?

    Zgornji diagram prikazuje zelo poenostavljen pogled na to, kako bi spletna storitev dejansko delovala. Naročnik bi prek zahtev na strežnik, ki bi gostil dejansko spletno storitev, poklical vrsto klicev spletnih storitev.

    Te zahteve se pošljejo prek tako imenovanih oddaljenih klicev postopkov. Klici na daljavo (RPC) so klici metod, ki jih gosti ustrezna spletna storitev.

    Amazon na primer ponuja spletno storitev, ki zagotavlja cene izdelkov, ki se prodajajo prek spleta prek amazon.com. Čelni ali predstavitveni sloj je lahko v .Net ali Java, vendar bi lahko kateri koli programski jezik komuniciral s spletno storitvijo.

    Glavna komponenta zasnove spletne storitve so podatki, ki se prenašajo med odjemalcem in strežnikom, to je XML. XML (razširljiv označevalni jezik) je protipostavka HTML-ju in enostaven za razumevanje vmesnega jezika, ki ga razumejo številni programski jeziki.

    Torej, ko se aplikacije pogovarjajo med seboj, dejansko govorijo v XML. To zagotavlja skupno platformo za aplikacije, razvite v različnih programskih jezikih, za medsebojni pogovor.

    Spletne storitve za pošiljanje podatkov XML med aplikacijami uporabljajo tako imenovano SOAP (Simple Object Access Protocol). Podatki se pošiljajo prek običajnega HTTP. Podatki, ki se pošljejo iz spletne storitve v aplikacijo, se imenujejo sporočilo SOAP. Sporočilo SOAP ni nič drugega kot dokument XML. Ker je dokument napisan v XML, je odjemalska aplikacija, ki kliče na spletno storitev, lahko napisana v katerem koli programskem jeziku.

    Zakaj potrebujete spletno storitev?

    Sodobne poslovne aplikacije uporabljajo različne programske platforme za razvoj spletnih aplikacij. Nekatere aplikacije je mogoče razviti v Javi, druge v .Net, druge pa v Angular JS, Node.js itd.

    Te heterogene aplikacije najpogosteje potrebujejo nekakšno komunikacijo, da bi se med njimi zgodile. Ker so zgrajeni z različnimi razvojnimi jeziki, je res težko zagotoviti natančno komunikacijo med aplikacijami.

    Tukaj prihajajo spletne storitve. Spletne storitve zagotavljajo skupno platformo, ki omogoča več aplikacijam, ki temeljijo na različnih programskih jezikih, da lahko komunicirajo med seboj.

    Vrsta spletne storitve

    Obstajata predvsem dve vrsti spletnih storitev.

    1. Spletne storitve SOAP.
    2. RESTful spletne storitve.

    Da bi spletna storitev lahko popolnoma delovala, morajo obstajati nekatere komponente. Te komponente morajo biti prisotne ne glede na to, kateri razvojni jezik se uporablja za programiranje spletne storitve.

    Oglejmo si te komponente podrobneje.

    SOAP (Simple Object Access Protocol)

    SOAP je znan kot prometno neodvisen protokol za sporočanje. SOAP temelji na prenosu podatkov XML v obliki sporočil SOAP. Vsako sporočilo vsebuje nekaj, kar je znano kot dokument XML. Samo struktura dokumenta XML sledi določenemu vzorcu, vsebina pa ne. Najboljši del spletnih storitev in SOAP je, da se vsi pošiljajo prek HTTP, kar je standardni spletni protokol.

    Tukaj je sestavljeno iz sporočila SOAP

    • Vsak dokument SOAP mora imeti korenski element, znan kot element . Korenski element je prvi element v dokumentu XML.
    • "Ovojnica" je nato razdeljena na 2 dela. Prva je glava, naslednja pa telo.
    • Glava vsebuje podatke o usmerjanju, ki so v bistvu informacije, ki dokumentu XML sporočajo, kateremu odjemalcu ga je treba poslati.
    • Telo bo vsebovalo dejansko sporočilo.

    Spodnji diagram prikazuje preprost primer komunikacije prek SOAP-a.

    Protokol SOAP

    O SOAP bomo podrobno razpravljali v tej vadnici.

    WSDL (jezik opisa spletnih storitev)

    Spletne storitve ni mogoče uporabiti, če je ni mogoče najti . Naročnik, ki prikliče spletno storitev, bi moral vedeti, kje spletna storitev dejansko prebiva.

    Drugič, odjemalska aplikacija mora vedeti, kaj spletna storitev dejansko počne, da lahko pokliče pravo spletno storitev. To se naredi s pomočjo WSDL, znanega kot jezik opisa spletnih storitev. Datoteka WSDL je spet datoteka, ki temelji na XML in v bistvu odjemalski aplikaciji pove, kaj počne spletna storitev. Z uporabo dokumenta WSDL bi odjemalska aplikacija lahko razumela, kje se nahaja spletna storitev in kako jo je mogoče uporabiti.

    Primer spletne storitve

    Spodaj je naveden primer spletnih datotek datoteke WSDL.

    
    
    
    

    Pomembni vidiki, ki jih je treba opozoriti na zgornje primere spletnih deklaracij WSDL, so naslednji:

    1. - Parameter sporočila v definiciji WSDL se uporablja za določanje različnih podatkovnih elementov za vsako operacijo, ki jo izvaja spletna storitev. Torej, v zgornjih primerih spletnih storitev imamo dve sporočili, ki ju je mogoče izmenjati med spletno storitvijo in odjemalsko aplikacijo, eno je "TutorialRequest", drugo pa "TutorialResponse". TutorialRequest vsebuje element, imenovan "TutorialID", ki je vrste string. Podobno operacija TutorialResponse vsebuje element, imenovan "TutorialName", ki je prav tako niz vrste.
    2. - To dejansko opisuje operacijo, ki jo lahko izvede spletna storitev, ki se v našem primeru imenuje Vadnica. Ta operacija lahko sprejme 2 sporočili; eno je vhodno sporočilo, drugo pa izhodno sporočilo.
    3. - Ta element vsebuje uporabljeni protokol. V našem primeru ga torej določimo za uporabo http ( http://schemas.xmlsoap.org/soap/http ). Določimo tudi druge podrobnosti za telo operacije, na primer imenski prostor in ali naj bo sporočilo kodirano.

    V tej vadnici bomo podrobno razpravljali o "WDSL".

    Univerzalni opis, odkrivanje in integracija (UDDI)

    UDDI je standard za opisovanje, objavljanje in odkrivanje spletnih storitev, ki jih zagotavlja določen ponudnik storitev. Ponuja specifikacijo, ki pomaga pri gostovanju informacij o spletnih storitvah.

    Zdaj smo v prejšnji temi razpravljali o WSDL in o tem, kako vsebuje informacije o tem, kaj spletna storitev dejansko počne. Toda kako lahko odjemalska aplikacija poišče datoteko WSDL, da bi razumela različne operacije, ki jih ponuja spletna storitev? UDDI je torej odgovor na to vprašanje in ponuja repozitorij, na katerem lahko gostujejo datoteke WSDL. Tako bo odjemalska aplikacija imela popoln dostop do UDDI, ki deluje kot zbirka podatkov, ki vsebuje vse datoteke WSDL.

    Tako kot ima telefonski imenik ime, naslov in telefonsko številko določene osebe, bo na enak način tudi register UDDI imel ustrezne informacije za spletno storitev . Tako da odjemalska aplikacija ve, kje jo je mogoče najti.

    Prednosti spletnih storitev

    Že razumemo, zakaj so sploh nastale spletne storitve, ki naj bi bile platforma, ki bi različnim aplikacijam omogočala pogovor med seboj.

    Poglejmo si seznam prednosti spletnih storitev, zakaj je pomembno, da uporabljamo spletne storitve.

    1. Izpostavljanje poslovne funkcionalnosti v omrežju - spletna storitev je enota upravljane kode, ki odjemalskim aplikacijam ali končnim uporabnikom nudi nekakšno funkcionalnost. Te funkcije je mogoče priklicati prek protokola HTTP, kar pomeni, da jo je mogoče priklicati tudi prek interneta. Danes so vse aplikacije na internetu, kar naredi namen spletnih storitev bolj uporaben. To pomeni, da je spletna storitev lahko kjer koli na internetu in po potrebi nudi potrebne funkcije.

    2. Interoperabilnost med aplikacijami - spletne storitve omogočajo različnim aplikacijam, da se med seboj pogovarjajo in si izmenjujejo podatke in storitve. Vse vrste aplikacij se lahko pogovarjajo med seboj. Torej, namesto da pišete določeno kodo, ki jo lahko razumejo samo določene aplikacije, lahko zdaj napišete generično kodo, ki jo lahko razumejo vse aplikacije

    3. Standardizirani protokol, ki ga vsi razumejo - spletne storitve za komunikacijo uporabljajo standardiziran industrijski protokol. Vsi štirje sloji (Service Transport, XML Messaging, Service Description in Service Discovery) uporabljajo natančno določene protokole v svežnju protokolov spletnih storitev.

    4. Zmanjšanje stroškov komunikacije - Spletne storitve uporabljajo protokol SOAP prek protokola HTTP, tako da lahko obstoječi poceni internet uporabite za izvajanje spletnih storitev.

    Arhitektura spletnih storitev

    Vsak ogrodje potrebuje nekakšno arhitekturo, da se prepriča, da celotno ogrodje deluje podobno kot v spletnih storitvah. Web Services Architecture je sestavljena iz treh različnih vlog, kot je navedeno v nadaljevanju:

    1. Ponudnik - ponudnik ustvari spletno storitev in jo da na voljo odjemalski aplikaciji, ki jo želi uporabljati.
    2. Zahtevalec - prosilec ni nič drugega kot odjemalska aplikacija, ki se mora obrniti na spletno storitev. Odjemalska aplikacija je lahko .Net, Java ali katera koli druga jezikovna aplikacija, ki prek spletne storitve išče nekakšno funkcionalnost.
    3. Posrednik - posrednik ni nič drugega kot aplikacija, ki omogoča dostop do UDDI. UDDI, kot je razloženo v prejšnji temi, omogoča odjemalski aplikaciji, da poišče spletno storitev.

    Spodnji diagram prikazuje, kako medsebojno delujejo ponudnik storitev, prosilec za storitve in register storitev.

    Arhitektura spletnih storitev
    1. Objavi - ponudnik obvesti posrednika (register storitev) o obstoju spletne storitve z uporabo vmesnika za objavo posrednika, da omogoči dostop do storitve strankam
    2. Najdi - prosilec se obrne na posrednika, da poišče objavljeno spletno storitev
    3. Vezava - Z informacijami, ki jih je o spletni storitvi pridobil pri posredniku (registru storitev), lahko prosilec spletno storitev veže ali jo prikliče.

    Značilnosti spletnih storitev

    Spletne storitve imajo naslednje posebne vedenjske značilnosti:

    1. Temeljijo na XML - Spletne storitve uporabljajo XML za predstavitev podatkov v slojih predstavitve in prenosa podatkov. Uporaba XML odpravlja kakršno koli odvisnost od omrežja, operacijskega sistema ali platforme, saj je XML skupni jezik, ki ga vsi razumejo.

    2. Ohlapno povezani - ohlapno povezani pomenijo, da odjemalec in spletna storitev nista vezana drug na drugega, kar pomeni, da tudi če se spletna storitev sčasoma spremeni, ne sme spremeniti načina, kako odjemalec kliče na spletno storitev. Sprejetje ohlapno povezane arhitekture naredi programske sisteme bolj obvladljive in omogoča enostavnejšo integracijo med različnimi sistemi.

    3. Sinhrona ali asinhrona funkcionalnost - Sinhronost se nanaša na vezavo odjemalca na izvajanje storitve. Pri sinhronih operacijah bo odjemalec dejansko čakal, da spletna storitev dokonča operacijo. Primer tega je verjetno scenarij, v katerem se izvaja operacija branja in pisanja baze podatkov. Če podatke beremo iz ene baze podatkov in nato zapišemo v drugo, je treba postopke izvajati zaporedno. Asinhrone operacije omogočajo odjemalcu, da pokliče storitev in nato vzporedno izvaja druge funkcije. To je ena najpogostejših in verjetno najbolj zaželenih tehnik, ki zagotavlja, da se druge storitve ne ustavijo, ko se izvaja določena operacija.

    4. Sposobnost podpore oddaljenim klicem postopkov (RPC) - Spletne storitve omogočajo odjemalcem, da s pomočjo protokola, ki temelji na XML, prikličejo postopke, funkcije in metode na oddaljenih predmetih. Oddaljeni postopki izpostavljajo vhodne in izhodne parametre, ki jih mora podpirati spletna storitev.

    5. Podpira izmenjavo dokumentov - ena ključnih prednosti XML je njegov splošni način predstavitve ne le podatkov, temveč tudi zapletenih dokumentov. Ti dokumenti so lahko tako preprosti kot predstavitev trenutnega naslova ali pa so tako zapleteni kot predstavitev celotne knjige.