Kas yra žiniatinklio paslaugos? Architektūra, tipai, pavyzdys

Turinys:

Anonim

Kas yra žiniatinklio paslauga?

Žiniatinklio paslauga yra standartizuota terpė, skirta platinti ryšį tarp kliento ir serverio programų visame pasaulyje. Žiniatinklio paslauga yra programinės įrangos modulis, skirtas tam tikroms užduotims atlikti.

  • Žiniatinklio paslaugų debesų kompiuterijoje galima ieškoti tinkle, taip pat gali būti atitinkamai iškviečiama.
  • Kai iškviečiama, žiniatinklio tarnyba galės suteikti funkcionalumą klientui, kuris naudojasi ta interneto paslauga.

Šioje „Web Service“ pamokoje sužinosite pagrindinius žiniatinklio paslaugų

  • Kaip veikia žiniatinklio paslaugos?
  • Kodėl jums reikalinga žiniatinklio paslauga?
  • Žiniatinklio paslaugos tipas
  • Žiniatinklio paslaugų pranašumai
  • Žiniatinklio paslaugų architektūra
  • Žiniatinklio paslaugos charakteristikos
  • Kaip veikia žiniatinklio paslaugos?

    Kaip veikia interneto paslaugos?

    Pirmiau pateiktoje diagramoje parodytas labai paprastas vaizdas, kaip iš tikrųjų veiktų interneto paslauga. Klientas, naudodamasis užklausomis į serverį, kuris talpintų tikrąją žiniatinklio paslaugą, iškviestų keletą interneto paslaugų skambučių.

    Šie prašymai pateikiami per vadinamuosius nuotolinių procedūrų iškvietimus. Nuotolinių procedūrų skambučiai (RPC) yra skambučiai metodais, kuriuos priglobia atitinkama žiniatinklio tarnyba.

    Pavyzdžiui, „Amazon“ teikia žiniatinklio paslaugą, kurioje pateikiamos produktų, parduodamų internetu per amazon.com, kainos. Priekinis arba pateikimo sluoksnis gali būti „Net“ arba „Java“, tačiau bet kuri programavimo kalba turėtų galimybę bendrauti su interneto paslauga.

    Pagrindinis internetinių paslaugų dizaino komponentas yra duomenys, kurie perduodami tarp kliento ir serverio, tai yra XML. XML (Extensible markup language) yra HTML atitikmuo ir lengvai suprantama tarpinė kalba, kurią supranta daugelis programavimo kalbų.

    Taigi, kai programos kalba tarpusavyje, jos iš tikrųjų kalba XML. Tai suteikia bendrą programų platformą, sukurtą įvairiomis programavimo kalbomis, kad būtų galima kalbėtis tarpusavyje.

    Žiniatinklio paslaugos naudoja tai, kas vadinama SOAP (paprastas prieigos prie objektų protokolas) siunčiant XML duomenis tarp programų. Duomenys siunčiami per įprastą HTTP. Duomenys, siunčiami iš žiniatinklio tarnybos į programą, vadinami SOAP pranešimu. SOAP pranešimas yra ne kas kita, o XML dokumentas. Kadangi dokumentas parašytas XML, kliento programa, iškviečianti žiniatinklio tarnybą, gali būti parašyta bet kuria programavimo kalba.

    Kodėl jums reikalinga žiniatinklio paslauga?

    Šių dienų verslo programos kuria įvairias programavimo platformas kurdamos internetines programas. Kai kurios programos gali būti sukurtos „Java“, kitos - „Net“, kitos - „Angular JS“, „Node.js“ ir kt.

    Dažniausiai šioms nevienalytėms programoms reikalingas tam tikras bendravimas. Kadangi jie sukurti naudojant skirtingas kūrimo kalbas, tampa tikrai sunku užtikrinti tikslų ryšį tarp programų.

    Čia pateikiamos žiniatinklio paslaugos. Žiniatinklio paslaugos suteikia bendrą platformą, kuri leidžia kelioms programavimo kalbomis sukurtoms programoms suteikti galimybę bendrauti tarpusavyje.

    Žiniatinklio paslaugos tipas

    Daugiausia yra dviejų rūšių interneto paslaugų.

    1. SOAP žiniatinklio paslaugos.
    2. RESTful interneto paslaugos.

    Norint, kad žiniatinklio paslauga būtų visiškai funkcionali, reikia įdiegti tam tikrus komponentus. Šie komponentai turi būti, neatsižvelgiant į tai, kokia programavimo kalba naudojama programuojant žiniatinklio paslaugą.

    Pažvelkime į šiuos komponentus išsamiau.

    SOAP (paprastas prieigos prie objekto protokolas)

    SOAP yra žinomas kaip nuo transporto nepriklausomas susirašinėjimo protokolas. SOAP yra pagrįstas XML duomenų perdavimu kaip SOAP žinučių. Kiekviename pranešime yra kažkas, kas vadinama XML dokumentu. Tik XML dokumento struktūra atitinka konkretų modelį, bet ne turinį. Geriausia žiniatinklio paslaugų ir SOAP dalis yra ta, kad visa tai siunčiama per HTTP, kuris yra standartinis žiniatinklio protokolas.

    Štai iš ko susideda SOAP pranešimas

    • Kiekviename SOAP dokumente turi būti pagrindinis elementas, žinomas kaip elementas . Šaknies elementas yra pirmasis XML dokumento elementas.
    • Savo ruožtu „vokas“ yra padalintas į 2 dalis. Pirmasis yra antraštė, o kitas - kūnas.
    • Antraštėje yra maršruto duomenys, kurie iš esmės yra informacija, nurodanti XML dokumentui, kuriam klientui jis turi būti siunčiamas.
    • Tekste bus tikrasis pranešimas.

    Žemiau pateiktoje diagramoje parodytas paprastas komunikacijos per SOAP pavyzdys.

    SOAP protokolas

    Šioje pamokoje išsamiai aptarsime SOAP.

    WSDL (žiniatinklio paslaugų aprašo kalba)

    Interneto paslaugos negalima naudoti, jei jos negalima rasti . Klientas, pasikvietęs žiniatinklio paslaugą, turėtų žinoti, kur iš tikrųjų yra žiniatinklio paslauga.

    Antra, kliento programa turi žinoti, ką žiniatinklio paslauga iš tikrųjų veikia, kad galėtų pasinaudoti tinkama interneto paslauga. Tai daroma naudojant WSDL, žinomą kaip žiniatinklio paslaugų aprašymo kalba. WSDL failas vėlgi yra XML failas, kuris kliento programai iš esmės nurodo, ką daro žiniatinklio paslauga. Naudodama WSDL dokumentą, kliento programa galėtų suprasti, kur yra žiniatinklio paslauga ir kaip ja galima naudotis.

    Žiniatinklio paslaugos pavyzdys

    Žemiau pateikiamas WSDL failo žiniatinklio paslaugų pavyzdys.

    
    
    
    

    Svarbūs aspektai, kuriuos reikia atkreipti dėmesį į aukščiau nurodytus WSDL deklaravimo žiniatinklio paslaugų pavyzdžius, yra šie:

    1. <žinutė> - pranešimo parametras WSDL apibrėžime naudojamas apibrėžiant skirtingus kiekvienos žiniatinklio tarnybos atliekamos operacijos duomenų elementus. Taigi aukščiau pateiktuose žiniatinklio paslaugų pavyzdžiuose turime 2 pranešimus, kuriais galima keistis tarp žiniatinklio tarnybos ir kliento programos, vienas yra „TutorialRequest“, o kitas - „TutorialResponse“. „TutorialRequest“ yra elementas, vadinamas „TutorialID“, kuris yra eilutės tipo. Panašiai operacijoje „TutorialResponse“ yra elementas, vadinamas „TutorialName“, kuris taip pat yra tipo eilutė.
    2. - tai iš tikrųjų apibūdina operaciją, kurią gali atlikti žiniatinklio tarnyba, kuri mūsų atveju vadinama „Tutorial“. Ši operacija gali užimti 2 pranešimus; vienas yra įvesties pranešimas, o kitas - išvesties pranešimas.
    3. - šiame elemente yra naudojamas protokolas. Taigi mūsų atveju mes jį apibrėžiame naudodami http ( http://schemas.xmlsoap.org/soap/http ). Mes taip pat nurodome kitą operacijos turinio informaciją, pvz., Vardų sritį ir tai, ar pranešimas turėtų būti užkoduotas.

    Šioje pamokoje išsamiai aptarsime „WDSL“.

    Universalus aprašymas, atradimas ir integravimas (UDDI)

    UDDI yra tam tikro paslaugų teikėjo teikiamų žiniatinklio paslaugų aprašymo, publikavimo ir atradimo standartas. Jame pateikiama specifikacija, kuri padeda talpinti informaciją apie interneto paslaugas.

    Dabar mes aptarėme ankstesnę temą apie WSDL ir kaip joje yra informacijos apie tai, ką žiniatinklio tarnyba iš tikrųjų veikia. Bet kaip kliento programa gali rasti WSDL failą, kad suprastų įvairias žiniatinklio paslaugos siūlomas operacijas? Taigi UDDI yra atsakymas į tai ir teikia saugyklą, kurioje galima laikyti WSDL failus. Taigi kliento programa turės visišką prieigą prie UDDI, kuri veikia kaip duomenų bazė, kurioje yra visi WSDL failai.

    Kaip telefono kataloge yra konkretaus asmens vardas, adresas ir telefono numeris, taip pat UDDI registras turės atitinkamą informaciją apie interneto paslaugą . Kad kliento programa žinotų, kur ją galima rasti.

    Žiniatinklio paslaugų pranašumai

    Mes jau suprantame, kodėl pirmiausia atsirado žiniatinklio paslaugos, kurios turėjo suteikti platformą, leidžiančią skirtingoms programoms kalbėtis tarpusavyje.

    Bet pažiūrėkime į interneto paslaugų privalumų sąrašą, kodėl svarbu naudotis žiniatinklio paslaugomis.

    1. Verslo funkcijų atskleidimas tinkle - žiniatinklio paslauga yra valdomo kodo vienetas, kuris teikia tam tikras funkcijas kliento programoms ar galutiniams vartotojams. Ši funkcija gali būti naudojama per HTTP protokolą, o tai reiškia, kad ji gali būti naudojama ir internetu. Šiuo metu visos programos yra internete, todėl žiniatinklio paslaugų paskirtis tampa naudingesnė. Tai reiškia, kad žiniatinklio paslauga gali būti bet kurioje interneto vietoje ir suteikti reikalingas funkcijas.

    2. Programų sąveika - žiniatinklio paslaugos leidžia įvairioms programoms kalbėtis tarpusavyje ir dalytis duomenimis bei paslaugomis. Visų tipų programos gali bendrauti tarpusavyje. Taigi, užuot rašę konkretų kodą, kurį gali suprasti tik konkrečios programos, dabar galite parašyti bendrą kodą, kurį supranta visos programos

    3. Standartizuotas protokolas, kurį visi supranta - žiniatinklio paslaugos ryšiui naudoja standartizuotą pramonės protokolą. Visi keturi sluoksniai („Service Transport“, „XML Messaging“, „Service Description“ ir „Service Discovery“ sluoksniai) naudoja aiškiai apibrėžtus protokolus žiniatinklio paslaugų protokolo kaminoje.

    4. Ryšio sąnaudų sumažinimas - žiniatinklio paslaugos naudoja SOAP per HTTP protokolą, todėl žiniatinklio paslaugoms įgyvendinti galite naudoti esamą pigų internetą.

    Žiniatinklio paslaugų architektūra

    Kiekvienai sistemai reikalinga tam tikra architektūra, kad būtų užtikrinta, jog visa sistema veikia taip, kaip norima, panašiai kaip ir žiniatinklio paslaugose. Interneto paslaugos Architektūra susideda iš trijų skirtingų vaidmenų, kaip nurodyta žemiau:

    1. Teikėjas - teikėjas sukuria žiniatinklio paslaugą ir daro ją prieinamą kliento programai, norinčiai ja naudotis.
    2. Užklausa - prašytojas yra ne kas kita, o kliento programa, kuriai reikia susisiekti su žiniatinklio tarnyba. Kliento programa gali būti .Net, Java ar bet kokia kita kalba pagrįsta programa, kuri ieško tam tikros funkcijos per žiniatinklio paslaugą.
    3. Brokeris - brokeris yra ne kas kita, o programa, suteikianti prieigą prie UDDI. Kaip aptarta ankstesnėje temoje, UDDI leidžia kliento programai rasti žiniatinklio paslaugą.

    Žemiau pateiktoje diagramoje parodoma, kaip paslaugų teikėjas, paslaugų teikėjas ir paslaugų registras sąveikauja tarpusavyje.

    Žiniatinklio paslaugų architektūra
    1. Paskelbti - teikėjas informuoja brokerį (paslaugų registrą) apie žiniatinklio paslaugos egzistavimą, naudodamas brokerio skelbimo sąsają, kad paslauga būtų prieinama klientams
    2. Rasti - prašytojas konsultuojasi su brokeriu, kad surastų paskelbtą žiniatinklio paslaugą
    3. Susieti - naudodamasis informacija, kurią jis gavo iš tarpininko (paslaugų registro) apie žiniatinklio paslaugą, prašytojas gali susieti arba pasinaudoti žiniatinklio paslauga.

    Interneto paslaugos charakteristikos

    Žiniatinklio paslaugos turi šias specialias elgesio ypatybes:

    1. Jie yra pagrįsti XML - „Web Services“ naudoja XML, kad reprezentuotų duomenis vaizdavimo ir duomenų perdavimo sluoksniuose. Naudojant XML pašalinama bet kokia tinklo, operacinės sistemos ar platformos priklausomybė, nes XML yra visiems suprantama bendrinė kalba.

    2. Laisvai susietas - laisvai susietas reiškia, kad klientas ir internetinė paslauga nėra susieti vienas su kitu, o tai reiškia, kad net jei laikui bėgant interneto paslauga keičiasi, ji neturėtų pakeisti to, kaip klientas skambina žiniatinklio tarnybai. Laisvai susietos architektūros pritaikymas leidžia programinės įrangos sistemas lengviau valdyti ir leidžia paprasčiau integruoti įvairias sistemas.

    3. Sinchroninė arba asinchroninė funkcija - sinchroniškumas reiškia kliento susiejimą su paslaugos vykdymu. Sinchroninių operacijų metu klientas iš tikrųjų lauks, kol žiniatinklio tarnyba užbaigs operaciją. To pavyzdys tikriausiai yra scenarijus, kai atliekamos duomenų bazės skaitymo ir rašymo operacijos. Jei duomenys skaitomi iš vienos duomenų bazės ir vėliau rašomi į kitą, operacijos turi būti atliekamos nuosekliai. Asinchroninės operacijos leidžia klientui iškviesti paslaugą ir tada lygiagrečiai vykdyti kitas funkcijas. Tai yra vienas iš labiausiai paplitusių ir tikriausiai labiausiai pageidaujamų būdų užtikrinti, kad kitos paslaugos nebūtų sustabdytos, kai atliekama konkreti operacija.

    4. Galimybė palaikyti nuotolinių procedūrų iškvietimus (RPC) - žiniatinklio paslaugos leidžia klientams iškviesti procedūras, funkcijas ir metodus nuotoliniuose objektuose, naudojant XML protokolą. Nuotolinės procedūros atskleidžia įvesties ir išvesties parametrus, kuriuos turi palaikyti žiniatinklio tarnyba.

    5. Palaiko dokumentų mainus - vienas pagrindinių XML pranašumų yra jo bendras būdas pateikti ne tik duomenis, bet ir sudėtingus dokumentus. Šie dokumentai gali būti tokie pat paprasti, kaip pateikti dabartinį adresą, arba gali būti tokie sudėtingi, kaip ir visos knygos.