Mis on veebiteenused? Arhitektuur, tüübid, näide

Lang L: none (table-of-contents):

Anonim

Mis on veebiteenus?

Veebiteenus on standardiseeritud meedium kliendi ja serverirakenduste vahelise suhtluse levitamiseks veebis. Veebiteenus on tarkvaramoodul, mis on loodud teatud ülesannete täitmiseks.

  • Veebiteenuseid pilvandmetöötluses saab otsida võrgu kaudu ja vastavalt sellele saab ka neid kasutada.
  • Kui seda kutsutakse, suudab veebiteenus pakkuda kliendile funktsionaalsust, mis selle veebiteenuse kutsub.

Selles veebiteenuse õpetuses saate teada veebiteenuste põhitõed-

  • Kuidas veebiteenused töötavad?
  • Miks vajate veebiteenust?
  • Veebiteenuse tüüp
  • Veebiteenuste eelised
  • Veebiteenuse arhitektuur
  • Veebiteenuse omadused
  • Kuidas veebiteenused töötavad?

    Kuidas veebiteenused töötavad?

    Ülaltoodud diagramm näitab väga lihtsustatud vaadet, kuidas veebiteenus tegelikult toimib. Klient kutsuks rea veebiteenuse kõnesid päringute kaudu serverisse, mis võõrustas tegelikku veebiteenust.

    Need taotlused esitatakse nn kaugprotseduurikõnede kaudu. Kaugprotseduurikõned (RPC) on kõned meetoditele, mida hostib vastav veebiteenus.

    Näiteks pakub Amazon veebiteenust, mis pakub amazon.com kaudu veebis müüdavate toodete hindu. Esiosa või esitluskiht võib olla .Net või Java, kuid kummalgi programmeerimiskeelel oleks võimalus veebiteenusega suhelda.

    Veebiteenuse kujunduse põhikomponent on kliendi ja serveri vahel edastatavad andmed, see on XML. XML (Extensible markup language) on vaste HTML-ile ja hõlpsasti mõistetav vahepealne keel, millest paljud programmeerimiskeeled aru saavad.

    Nii et kui rakendused omavahel räägivad, räägivad nad tegelikult XML-i. See annab rakenduste jaoks ühise platvormi, mis on välja töötatud erinevates programmeerimiskeeltes üksteisega rääkimiseks.

    Veebiteenused kasutavad XML-andmete saatmiseks rakenduste vahel midagi, mida nimetatakse SOAP-ks (Simple Object Access Protocol). Andmed saadetakse tavalise HTTP kaudu. Andmeid, mis saadetakse veebiteenusest rakendusse, nimetatakse SOAP-sõnumiks. SOAP-teade pole midagi muud kui XML-dokument. Kuna dokument on kirjutatud XML-is, saab veebiteenust kutsuva kliendirakenduse kirjutada mis tahes programmeerimiskeeles.

    Miks vajate veebiteenust?

    Tänapäeva ärirakendused kasutavad veebipõhiste rakenduste arendamiseks mitmesuguseid programmeerimisplatvorme. Mõned rakendused võivad olla välja töötatud Java-s, teised .Net-is, teised aga Angular JS-is, Node.js jne.

    Enamasti vajavad need heterogeensed rakendused omavahelist suhtlemist. Kuna nende koostamisel kasutatakse erinevaid arenduskeeli, on rakenduste vahel täpse suhtluse tagamine tõesti keeruline.

    Siin tulevad veebiteenused sisse. Veebiteenused pakuvad ühist platvormi, mis võimaldab mitmel erinevatele programmeerimiskeeltele ehitatud rakendustel omavahel suhelda.

    Veebiteenuse tüüp

    Veebiteenuseid on peamiselt kahte tüüpi.

    1. SOAP veebiteenused.
    2. Puhkavad veebiteenused.

    Veebiteenuse täielikuks toimimiseks on vaja teatud komponente, mis peavad olema paigas. Need komponendid peavad olema olemas, olenemata sellest, millist arenduskeelt veebiteenuse programmeerimiseks kasutatakse.

    Vaatame neid komponente üksikasjalikumalt.

    SOAP (lihtne objekti juurdepääsuprotokoll)

    SOAP on tuntud kui transpordist sõltumatu sõnumside protokoll. SOAP põhineb XML-andmete edastamisel SOAP-sõnumitena. Igal sõnumil on midagi, mida nimetatakse XML-dokumendiks. Ainult XML-dokumendi struktuur järgib kindlat mustrit, kuid mitte sisu. Veebiteenuste ja SOAP-i parim osa on see, et need kõik saadetakse HTTP kaudu, mis on tavaline veebiprotokoll.

    Siit koosneb SOAP-sõnum

    • Igal SOAP-dokumendil peab olema juurelement, mida nimetatakse elemendiks <ümbrik>. Juurelement on XML-dokumendi esimene element.
    • "Ümbrik" jaguneb omakorda kaheks osaks. Esimene on päis ja järgmine on keha.
    • Päis sisaldab marsruutimisandmeid, mis on põhimõtteliselt teave, mis ütleb XML-dokumendile, millisele kliendile see tuleb saata.
    • Keha sisaldab tegelikku sõnumit.

    Alloleval diagrammil on lihtne näide SOAP-i kaudu toimuvast suhtlusest.

    SOAP-protokoll

    Me käsitleme SOAP-i selles õpetuses üksikasjalikult.

    WSDL (veebiteenuste kirjelduskeel)

    Veebiteenust ei saa kasutada, kui seda ei leita . Veebiteenust kasutav klient peaks teadma, kus veebiteenus tegelikult asub.

    Teiseks peab kliendirakendus teadma, mida veebiteenus tegelikult teeb, et see saaks tugineda õigele veebiteenusele. Seda tehakse veebiteenuste kirjelduskeelena tuntud WSDL-i abil. WSDL-fail on jällegi XML-põhine fail, mis ütleb kliendirakendusele põhimõtteliselt, mida veebiteenus teeb. WSDL-dokumendi abil saaks kliendirakendus aru, kus veebiteenus asub ja kuidas seda saab kasutada.

    Veebiteenuse näide

    Allpool on toodud WSDL-faili veebiteenuste näide.

    
    
    
    

    Ülaltoodud veebiteenuste WSDL-deklaratsioonide näidete kohta tuleb märkida järgmised olulised aspektid:

    1. - sõnumi parameetrit WSDL-i definitsioonis kasutatakse veebiteenuse iga toimingu jaoks erinevate andmeelementide määratlemiseks. Nii et ülaltoodud veebiteenuste näidetes on meil 2 sõnumit, mida saab veebiteenuse ja kliendirakenduse vahel vahetada, üks on "TutorialRequest" ja teine ​​"TutorialResponse". TutorialRequest sisaldab elementi nimega "TutorialID", mis on tüüpi string. Samamoodi sisaldab operatsioon TutorialResponse elementi nimega "TutorialName", mis on ka tüübistring.
    2. - see kirjeldab tegelikult toimingut, mida saab teha veebiteenus, mida meie puhul nimetatakse õpetuseks. See toiming võib võtta 2 sõnumit; üks on sisendsõnum ja teine ​​väljundsõnum.
    3. - see element sisaldab kasutatavat protokolli. Nii et meie puhul määratleme selle http-i kasutamiseks ( http://schemas.xmlsoap.org/soap/http ). Samuti täpsustame toimingu sisu kohta muud üksikasjad, näiteks nimeruumi ja selle, kas sõnum peaks olema kodeeritud.

    Arutame "WDSL-i" üksikasjalikult selles õpetuses.

    Universaalne kirjeldus, avastamine ja integreerimine (UDDI)

    UDDI on konkreetse teenusepakkuja pakutavate veebiteenuste kirjeldamise, avaldamise ja avastamise standard. See pakub spetsifikatsiooni, mis aitab veebiteenuste kohta teavet majutada.

    Nüüd käsitlesime eelmises teemas WSDL-i ja selle kohta, kuidas see sisaldab teavet selle kohta, mida veebiteenus tegelikult teeb. Kuidas saab aga kliendirakendus leida WSDL-faili, et mõista veebiteenuse pakutavaid erinevaid toiminguid? Nii et UDDI on sellele vastus ja pakub hoidlat, kus saab WSDL-faile hostida. Nii et kliendirakendusel on täielik juurdepääs UDDI-le, mis toimib kõiki WSDL-faile sisaldava andmebaasina.

    Nii nagu telefoniraamatus on konkreetse isiku nimi, aadress ja telefoninumber, on UDDI registris samamoodi veebiteenuse jaoks asjakohane teave . Nii et kliendirakendus teaks, kust seda leida.

    Veebiteenuste eelised

    Mõistame juba, miks veebiteenused üldse tekkisid, mis pidi pakkuma platvormi, mis võimaldaks erinevatel rakendustel üksteisega rääkida.

    Kuid vaatame veebiteenuste eeliste loetelu, miks on oluline veebiteenuste kasutamine.

    1. Ettevõtte funktsionaalsuse paljastamine võrgus - veebiteenus on hallatud koodi üksus, mis pakub kliendirakendustele või lõppkasutajatele mingisugust funktsionaalsust. Seda funktsiooni saab kasutada HTTP-protokolli kaudu, mis tähendab, et seda saab kasutada ka Interneti kaudu. Tänapäeval on kõik rakendused Internetis, mis muudab veebiteenuste eesmärgi kasulikumaks. See tähendab, et veebiteenus võib olla kõikjal Internetis ja pakkuda vajalikke funktsioone.

    2. Rakenduste koostalitlusvõime - veebiteenused võimaldavad erinevatel rakendustel omavahel rääkida ning andmeid ja teenuseid omavahel jagada. Igat tüüpi rakendused saavad omavahel suhelda. Nii et selle asemel, et kirjutada spetsiifilist koodi, millest saavad aru ainult konkreetsed rakendused, saate nüüd kirjutada üldise koodi, millest saavad aru kõik rakendused

    3. Standardprotokoll, millest kõik aru saavad - veebiteenused kasutavad suhtlemiseks standardset tööstusharu protokolli. Kõik neli kihti (Service Transport, XML Messaging, Service Description ja Service Discovery kihid) kasutavad veebiteenuste protokollivirnas täpselt määratletud protokolle.

    4. Side maksumus väheneb - veebiteenused kasutavad SOAP-i HTTP-protokolli kaudu, nii et saate veebiteenuste juurutamiseks kasutada oma olemasolevat odavat internetti.

    Veebiteenuste arhitektuur

    Iga raamistik vajab mingisugust arhitektuuri, et veenduda, et kogu raamistik toimib soovitud viisil, sarnaselt veebiteenustega. Web Services Arhitektuur hõlmab kolme erinevat rolli, nagu on esitatud allpool:

    1. Pakkuja - pakkuja loob veebiteenuse ja teeb selle kättesaadavaks kliendirakendustele, kes seda kasutada soovivad.
    2. Taotleja - taotleja pole midagi muud kui kliendirakendus, mis peab veebiteenusega ühendust võtma. Kliendirakendus võib olla .Net, Java või mõni muu keelepõhine rakendus, mis otsib veebiteenuse kaudu mingit funktsionaalsust.
    3. Maakler - maakler pole midagi muud kui rakendus, mis pakub juurdepääsu UDDI-le. Nagu eelmises teemas käsitletud, võimaldab UDDI kliendirakendusel veebiteenust leida.

    Alloleval diagrammil on näidatud, kuidas teenuse pakkuja, teenuse taotleja ja teenuse register omavahel suhtlevad.

    Veebiteenuste arhitektuur
    1. Avalda - pakkuja teavitab maaklerit (teenindusregistrit) veebiteenuse olemasolust, kasutades maakleri avaldamisliidest, et teenus klientidele kättesaadavaks teha
    2. Leia - taotleja konsulteerib avaldatud veebiteenuse leidmiseks maakleriga
    3. Sidumine - maaklerilt (teenuse registrist) veebiteenuse kohta saadud teabe abil saab taotleja veebiteenuse siduda või sellele tugineda.

    Veebiteenuse omadused

    Veebiteenustel on järgmised käitumise eripära:

    1. Need on XML-põhised - veebiteenused kasutavad XML-i andmete esitamiseks esitamise ja andmeedastuse kihtidel. XML-i kasutamine välistab igasuguse sõltuvuse võrgustikust, operatsioonisüsteemist või platvormist, kuna XML on kõigile arusaadav üldkeel.

    2. Lahtiselt ühendatud - lõdvalt ühendatud tähendab, et klient ja veebiteenus ei ole omavahel seotud, mis tähendab, et isegi kui veebiteenus aja jooksul muutub, ei tohiks see muuta seda, kuidas klient veebiteenust kutsub. Vabalt ühendatud arhitektuuri kasutuselevõtt muudab tarkvarasüsteemid paremini hallatavaks ja võimaldab lihtsamat integreerimist erinevate süsteemide vahel.

    3. Sünkroonne või asünkroonne funktsionaalsus - sünkroonsus viitab kliendi sidumisele teenuse teostamisega. Sünkroonsete toimingute korral ootab klient tegelikult veebiteenuse toimingu lõpuleviimist. Selle näide on tõenäoliselt stsenaarium, kus tehakse andmebaasi lugemis- ja kirjutamistoimingut. Kui andmed loetakse ühest andmebaasist ja kirjutatakse seejärel teise, tuleb toimingud teha järjestikku. Asünkroonsed toimingud võimaldavad kliendil teenust kutsuda ja seejärel paralleelselt muid funktsioone täita. See on üks levinumaid ja tõenäoliselt eelistatumaid tehnikaid selle tagamiseks, et muid teenuseid ei peatata konkreetse toimingu sooritamisel.

    4. Võimalus toetada kaugprotseduuride kõnesid (RPC) - veebiteenused võimaldavad klientidel XML-põhise protokolli abil kutsuda kaugobjektide protseduure, funktsioone ja meetodeid. Kaugprotseduurid paljastavad sisend- ja väljundparameetrid, mida veebiteenus peab toetama.

    5. Toetab dokumendivahetust - XML-i üks peamisi eeliseid on selle üldine viis mitte ainult andmete, vaid ka keerukate dokumentide esitamiseks. Need dokumendid võivad olla nii lihtsad kui praeguse aadressi esindajad või sama keerukad kui terve raamat.