Mikä on verkkopalvelu?
Verkkopalvelu on standardoitu väline tiedonsiirron edistämiseksi asiakkaan ja palvelinsovellusten välillä Internetissä. Verkkopalvelu on ohjelmistomoduuli, joka on suunniteltu suorittamaan tietyt tehtävät.
- Pilvilaskennan verkkopalveluja voidaan etsiä verkon kautta, ja niihin voidaan myös vedota vastaavasti.
- Kun verkkopalvelu kutsutaan, se pystyy tarjoamaan toiminnot asiakkaalle, joka kutsuu kyseisen verkkopalvelun.
Tässä Web Service -oppaassa opit verkkopalvelujen perusteet-
- Kuinka verkkopalvelut toimivat?
- Miksi tarvitset verkkopalvelua?
- Verkkopalvelun tyyppi
- Verkkopalvelujen edut
- Verkkopalvelun arkkitehtuuri
- Verkkopalvelun ominaisuudet
- SOAP-verkkopalvelut.
- RESTful-verkkopalvelut.
- Jokaisella SOAP-asiakirjalla on oltava pääelementti, joka tunnetaan nimellä
. Juurielementti on XML-asiakirjan ensimmäinen elementti. - "Kirjekuori" on puolestaan jaettu kahteen osaan. Ensimmäinen on otsikko ja seuraava on runko.
- Otsikko sisältää reititystiedot, jotka ovat periaatteessa tietoja, jotka kertovat XML-dokumentille, kenelle asiakkaalle se on lähetettävä.
- Runko sisältää varsinaisen viestin.
Kuinka verkkopalvelut toimivat?

Yllä oleva kaavio näyttää hyvin yksinkertaistetun kuvan verkkopalvelun todellisesta toiminnasta. Asiakas kutsui sarjan verkkopalvelukutsuja pyyntöjen avulla palvelimelle, joka isännöi todellista verkkopalvelua.
Nämä pyynnöt tehdään niin kutsuttujen etäkäyttökutsujen kautta. Etäproseduuripuhelut (RPC) ovat puheluja menetelmille, joita isännöi asianomainen verkkopalvelu.
Esimerkiksi Amazon tarjoaa verkkopalvelun, joka tarjoaa verkossa myytyjen tuotteiden hinnat amazon.com -sivuston kautta. Käyttöliittymä- tai esityskerros voi olla .Net- tai Java-muodossa, mutta jommallakummalla ohjelmointikielellä olisi kyky kommunikoida verkkopalvelun kanssa.
Verkkopalvelun suunnittelun pääkomponentti on tieto, joka siirretään asiakkaan ja palvelimen välillä, eli XML. XML (Extensible markup language) on HTML: n vastine ja helppo ymmärtää välikieli, jonka monet ohjelmointikielet ymmärtävät.
Joten kun sovellukset keskustelevat keskenään, ne todella puhuvat XML-muodossa. Tämä tarjoaa yhteisen alustan sovelluksille, jotka on kehitetty eri ohjelmointikielillä keskustelemaan keskenään.
Verkkopalvelut käyttävät jotain, joka tunnetaan nimellä SOAP (Simple Object Access Protocol) XML-tietojen lähettämiseen sovellusten välillä. Tiedot lähetetään normaalin HTTP: n kautta. Verkkopalvelusta sovellukselle lähetettyä dataa kutsutaan SOAP-sanomaksi. SOAP-viesti ei ole muuta kuin XML-asiakirja. Koska asiakirja on kirjoitettu XML-muodossa, verkkopalvelua kutsuva asiakassovellus voidaan kirjoittaa millä tahansa ohjelmointikielellä.
Miksi tarvitset verkkopalvelua?
Nykypäivän yrityssovellukset käyttävät erilaisia ohjelmointialustoja verkkopohjaisten sovellusten kehittämiseen. Jotkut sovellukset voidaan kehittää Java, toiset .Net, kun taas toiset Angular JS, Node.js jne.
Useimmiten nämä heterogeeniset sovellukset tarvitsevat jonkinlaista viestintää niiden välillä. Koska ne on rakennettu eri kehityskielillä, on todella vaikeaa varmistaa tarkka viestintä sovellusten välillä.
Täällä verkkopalvelut tulevat sisään. Verkkopalvelut tarjoavat yhteisen alustan, jonka avulla useat eri ohjelmointikielille rakennetut sovellukset pystyvät kommunikoimaan keskenään.
Verkkopalvelun tyyppi
Verkkopalveluja on pääasiassa kahta tyyppiä.
Jotta verkkopalvelu olisi täysin toimiva, on oltava tiettyjä komponentteja, joiden on oltava paikallaan. Näiden komponenttien on oltava läsnä riippumatta siitä, mitä kehityskieliä käytetään verkkopalvelun ohjelmoinnissa.
Katsotaanpa näitä komponentteja tarkemmin.
SOAP (yksinkertainen Object Access Protocol)
SOAP tunnetaan kuljetuksesta riippumattomana viestintäprotokollana. SOAP perustuu XML-tietojen siirtämiseen SOAP-viesteinä. Jokaisessa viestissä on jotain, joka tunnetaan XML-asiakirjana. Vain XML-asiakirjan rakenne noudattaa tiettyä mallia, mutta ei sisältöä. Parasta osaa verkkopalveluista ja SOAPista on, että ne kaikki lähetetään HTTP: n kautta, joka on tavallinen verkkoprotokolla.
Tässä on, mistä SOAP-viesti koostuu
Alla oleva kaavio esittää yksinkertaisen esimerkin SOAP-yhteyden kautta.

Keskustelemme SOAPista yksityiskohtaisesti tässä opetusohjelmassa.
WSDL (verkkopalvelujen kuvauskieli)
Verkkopalvelua ei voi käyttää, jos sitä ei löydy . Verkkopalvelua käyttävän asiakkaan tulisi tietää, missä verkkopalvelu todella sijaitsee.
Toiseksi asiakassovelluksen on tiedettävä, mitä verkkopalvelu todella tekee, jotta se voi vedota oikeaan verkkopalveluun. Tämä tapahtuu WSDL: n avulla, joka tunnetaan verkkopalvelujen kuvauskielenä. WSDL-tiedosto on jälleen XML-pohjainen tiedosto, joka kertoo periaatteessa asiakassovellukselle, mitä verkkopalvelu tekee. Käyttämällä WSDL-asiakirjaa asiakassovellus pystyy ymmärtämään, missä verkkopalvelu sijaitsee ja miten sitä voidaan käyttää.
Esimerkki verkkopalvelusta
Alla on esimerkki verkkopalveluista WSDL-tiedostosta.
Tärkeitä huomioitavia näkökohtia yllä mainituista WSDL-esimerkkipalveluista ovat seuraavat:
- WSDL-määritelmän sanomaparametriä käytetään määrittämään eri tietoelementit kullekin verkkopalvelun suorittamalle toiminnolle. Joten yllä olevissa verkkopalveluesimerkkeissä meillä on 2 viestiä, jotka voidaan vaihtaa verkkopalvelun ja asiakassovelluksen välillä, yksi on "TutorialRequest" ja toinen "TutorialResponse" -operaatio. TutorialRequest sisältää elementin nimeltä "TutorialID", joka on tyypin merkkijono. Samoin TutorialResponse-operaatio sisältää elementin nimeltä "TutorialName", joka on myös tyyppimerkkijono. -
- Tämä kuvaa itse asiassa toimintoa, jonka verkkopalvelu, jota tapauksessamme kutsutaan opetusohjelmaksi, voidaan suorittaa. Tämä toiminto voi kestää 2 viestiä; yksi on tuloviesti ja toinen on lähtöviesti. - Tämä elementti sisältää käytetyn protokollan. Joten meidän tapauksessamme määritämme sen käyttämään http: ää ( http://schemas.xmlsoap.org/soap/http ). Määritämme myös muita operaation rungon yksityiskohtia, kuten nimitilan ja sen, pitäisikö viesti koodata.
Keskustelemme "WDSL: stä" yksityiskohtaisesti tässä opetusohjelmassa.
Yleinen kuvaus, haku ja integrointi (UDDI)
UDDI on standardi tietyn palveluntarjoajan tarjoamien verkkopalvelujen kuvaamiseen, julkaisemiseen ja löytämiseen. Se tarjoaa erittelyn, joka auttaa verkkopalvelujen tietojen isännöinnissä.
Nyt keskustelimme edellisessä aiheessa WSDL: stä ja siitä, miten se sisältää tietoa siitä, mitä verkkopalvelu todella tekee. Mutta kuinka asiakassovellus voi löytää WSDL-tiedoston ymmärtääkseen verkkopalvelun tarjoamat toiminnot? Joten UDDI on vastaus tähän ja tarjoaa arkiston, jossa WSDL-tiedostoja voidaan isännöidä. Asiakassovelluksella on siis täydellinen käyttöoikeus UDDI: hen, joka toimii tietokantana, joka sisältää kaikki WSDL-tiedostot.
Aivan kuten puhelinluettelossa on tietyn henkilön nimi, osoite ja puhelinnumero, samalla tavalla UDDI-rekisterillä on tarvittavat tiedot verkkopalvelua varten . Asiakassovellus tietää, mistä se löytyy.
Verkkopalvelujen edut
Ymmärrämme jo, miksi verkkopalvelut syntyivät ensinnäkin, eli niiden oli tarkoitus tarjota foorumi, jonka avulla eri sovellukset voisivat puhua keskenään.
Mutta katsotaanpa luettelo verkkopalveluiden eduista, miksi verkkopalvelujen käyttö on tärkeää.
-
Yritystoiminnan esitteleminen verkossa - Verkkopalvelu on hallitun koodin yksikkö, joka tarjoaa jonkinlaisen toiminnallisuuden asiakassovelluksille tai loppukäyttäjille. Tätä toimintoa voidaan käyttää HTTP-protokollan kautta, mikä tarkoittaa, että se voidaan kutsua myös Internetin kautta. Nykyään kaikki sovellukset ovat Internetissä, mikä tekee verkkopalvelujen tarkoituksesta hyödyllisemmän. Tämä tarkoittaa, että verkkopalvelu voi olla missä tahansa Internetissä ja tarjota tarvittavat toiminnot tarpeen mukaan.
-
Sovellusten yhteentoimivuus - Verkkopalvelujen avulla eri sovellukset voivat puhua keskenään ja jakaa tietoja ja palveluja keskenään. Kaikentyyppiset sovellukset voivat puhua keskenään. Joten sen sijaan, että kirjoitat tiettyä koodia, joka on ymmärrettävissä vain tietyille sovelluksille, voit nyt kirjoittaa yleisen koodin, joka ymmärretään kaikille sovelluksille
-
Standardoitu protokolla, jonka kaikki ymmärtävät - Verkkopalvelut käyttävät standardoitua teollisuusprotokollaa viestintään. Kaikki neljä tasoa (Service Transport, XML Messaging, Service Description ja Service Discovery) käyttävät tarkasti määriteltyjä protokollia verkkopalveluprotokollapinossa.
-
Viestintäkustannusten alentaminen - Verkkopalvelut käyttävät SOAP HTTP -protokollan kautta, joten voit käyttää olemassa olevaa edullista Internetiä verkkopalvelujen toteuttamiseen.
Verkkopalvelujen arkkitehtuuri
Jokainen kehys tarvitsee jonkinlaisen arkkitehtuurin varmistaakseen, että koko kehys toimii halutulla tavalla samalla tavalla verkkopalveluissa. Web Services Arkkitehtuuri koostuu kolmesta erillisestä roolien alla:
- Palveluntarjoaja - Palveluntarjoaja luo verkkopalvelun ja asettaa sen asiakkaiden sovellusten saataville, jotka haluavat sitä käyttää.
- Pyynnön esittäjä - Pyytäjä ei ole muuta kuin asiakasohjelma, jonka on otettava yhteyttä verkkopalveluun. Asiakassovellus voi olla .Net-, Java- tai mikä tahansa muu kielipohjainen sovellus, joka etsii jonkinlaista toiminnallisuutta verkkopalvelun kautta.
- Välittäjä - Välittäjä on vain sovellus, joka tarjoaa pääsyn UDDI: hen. UDDI, kuten edellisessä aiheessa keskusteltiin, antaa asiakassovelluksen löytää verkkopalvelun.
Alla oleva kaavio näyttää, kuinka palveluntarjoaja, palvelun pyytäjä ja palvelurekisteri ovat vuorovaikutuksessa keskenään.

- Julkaise - Palveluntarjoaja ilmoittaa välittäjälle (palvelurekisterille) verkkopalvelun olemassaolosta käyttämällä välittäjän julkaisurajapintaa palvelun saamiseksi asiakkaiden saataville
- Etsi - pyynnön tekijä pyytää välittäjää etsimään julkaistun verkkopalvelun
- Sitova - Välittäjältä (palvelurekisteriltä) verkkopalvelusta saamiensa tietojen avulla pyynnön esittäjä pystyy sitomaan tai kutsumaan verkkopalvelun.
Verkkopalvelun ominaisuudet
Verkkopalveluilla on seuraavat erityiset käyttäytymisominaisuudet:
-
Ne ovat XML-pohjaisia - Web Services käyttää XML: ää edustamaan tietoja esitys- ja tiedonsiirtotasoilla. XML: n käyttö eliminoi kaikenlaisen verkostoitumisen, käyttöjärjestelmän tai alustan riippuvuuden, koska XML on kaikkien ymmärtämä yleinen kieli.
-
Löysästi kytketty - Löysästi kytketty tarkoittaa, että asiakas ja verkkopalvelu eivät ole sidoksissa toisiinsa, mikä tarkoittaa, että vaikka verkkopalvelu muuttuisi ajan myötä, sen ei pitäisi muuttaa tapaa, jolla asiakas soittaa verkkopalveluun. Löyhästi yhdistetyn arkkitehtuurin omaksuminen tekee ohjelmistojärjestelmistä hallittavampia ja mahdollistaa helpomman integroinnin eri järjestelmien välillä.
-
Synkroninen tai asynkroninen toiminnallisuus - Synkronisuus viittaa asiakkaan sitoutumiseen palvelun suorittamiseen. Synkronisissa operaatioissa asiakas odottaa itse asiassa verkkopalvelun suorittavan toiminnon. Esimerkki tästä on todennäköisesti skenaario, jossa suoritetaan tietokannan luku- ja kirjoitusoperaatio. Jos tiedot luetaan yhdestä tietokannasta ja kirjoitetaan myöhemmin toiseen, toiminnot on tehtävä peräkkäin. Asynkronisten toimintojen avulla asiakas voi kutsua palvelua ja suorittaa sitten muita toimintoja rinnakkain. Tämä on yksi yleisimmistä ja luultavasti edullisimmista tekniikoista sen varmistamiseksi, että muita palveluja ei pysäytetä tietyn toiminnan aikana.
-
Kyky tukea etäkäytäntöpuheluja (RPC) - Verkkopalvelujen avulla asiakkaat voivat kutsua etäobjektien toimintoja, toimintoja ja menetelmiä XML-pohjaisen protokollan avulla. Etämenettelyt paljastavat tulo- ja lähtöparametrit, joita verkkopalvelun on tuettava.
-
Tukee asiakirjojen vaihtoa - Yksi XML: n tärkeimmistä eduista on sen yleinen tapa edustaa paitsi tietoja myös monimutkaisia asiakirjoja. Nämä asiakirjat voivat olla yhtä yksinkertaisia kuin edustavat nykyistä osoitetta, tai ne voivat olla yhtä monimutkaisia kuin edustaa koko kirjaa.