Kas ir tīmekļa pakalpojumi? Arhitektūra, veidi, piemērs

Satura rādītājs:

Anonim

Kas ir tīmekļa pakalpojums?

Tīmekļa pakalpojums ir standartizēts nesējs, lai izplatītu saziņu starp klienta un servera lietojumprogrammām globālajā tīmeklī. Tīmekļa pakalpojums ir programmatūras modulis, kas paredzēts noteiktu uzdevumu kopuma izpildei.

  • Tīmekļa pakalpojumus mākoņdatošanā var meklēt tīklā, un tos var arī attiecīgi izsaukt.
  • Kad to izsauc, tīmekļa pakalpojums varēs nodrošināt funkcionalitāti klientam, kurš izsauc šo tīmekļa pakalpojumu.

Šajā Web Service apmācībā jūs uzzināsiet Web pakalpojumu pamatus -

  • Kā darbojas WebServices?
  • Kāpēc jums ir nepieciešams tīmekļa pakalpojums?
  • Tīmekļa pakalpojuma veids
  • Tīmekļa pakalpojumu priekšrocības
  • Tīmekļa pakalpojumu arhitektūra
  • Tīmekļa pakalpojumu raksturojums
  • Kā darbojas WebServices?

    Kā darbojas tīmekļa pakalpojumi?

    Iepriekš sniegtā diagramma parāda ļoti vienkāršotu priekšstatu par to, kā tīmekļa pakalpojums faktiski darbotos. Klients izsauktu virkni tīmekļa pakalpojumu zvanu, izmantojot pieprasījumus serverim, kurā mitinātu faktisko tīmekļa pakalpojumu.

    Šie pieprasījumi tiek veikti, izmantojot tā sauktos attālinātās procedūras izsaukumus. Attālās procedūras izsaukumi (RPC) ir zvani uz metodēm, kuras mitina attiecīgais tīmekļa pakalpojums.

    Piemēram, Amazon nodrošina tīmekļa pakalpojumu, kas nodrošina cenas par produktiem, kas pārdoti tiešsaistē, izmantojot amazon.com. Priekšējā daļa vai prezentācijas slānis var būt .Net vai Java, taču jebkurai programmēšanas valodai ir iespēja sazināties ar tīmekļa pakalpojumu.

    Tīmekļa pakalpojumu dizaina galvenā sastāvdaļa ir dati, kas tiek pārsūtīti starp klientu un serveri, un tas ir XML. XML (Extensible markup language) ir HTML ekvivalents un viegli saprotams starpvaloda, kuru saprot daudzas programmēšanas valodas.

    Tātad, kad lietojumprogrammas runā savā starpā, tās faktiski runā XML. Tas nodrošina kopēju platformu lietojumprogrammām, kas izstrādātas dažādās programmēšanas valodās, lai sarunātos savā starpā.

    Tīmekļa pakalpojumos XML datu sūtīšanai starp lietojumprogrammām tiek izmantots kaut kas pazīstams kā SOAP (vienkāršs objekta piekļuves protokols). Dati tiek nosūtīti, izmantojot parasto HTTP. Datus, kurus no tīmekļa pakalpojuma nosūta lietojumprogrammai, sauc par SOAP ziņojumu. SOAP ziņojums ir nekas cits kā XML dokuments. Tā kā dokuments ir rakstīts XML, klienta lietojumprogrammu, kas izsauc tīmekļa pakalpojumu, var rakstīt jebkurā programmēšanas valodā.

    Kāpēc jums ir nepieciešams tīmekļa pakalpojums?

    Mūsdienu biznesa lietojumprogrammas izmanto dažādas programmēšanas platformas, lai izstrādātu tīmekļa lietojumprogrammas. Dažas lietojumprogrammas var tikt izstrādātas Java, citas - Net, citas - Angular JS, Node.js utt.

    Visbiežāk šīm neviendabīgajām lietojumprogrammām ir nepieciešama sava veida saziņa. Tā kā tie ir veidoti, izmantojot dažādas izstrādes valodas, kļūst ļoti grūti nodrošināt precīzu saziņu starp lietojumprogrammām.

    Šeit tiek parādīti tīmekļa pakalpojumi. Tīmekļa pakalpojumi nodrošina kopēju platformu, kas ļauj vairākām lietojumprogrammām, kas veidotas uz dažādām programmēšanas valodām, būt iespējai sazināties savā starpā.

    Tīmekļa pakalpojuma veids

    Tīmekļa pakalpojumi galvenokārt ir divu veidu.

    1. SOAP tīmekļa pakalpojumi.
    2. RESTful tīmekļa pakalpojumi.

    Lai tīmekļa pakalpojums būtu pilnībā funkcionāls, ir jāievieto noteikti komponenti. Šiem komponentiem jābūt klāt neatkarīgi no tā, kāda izstrādes valoda tiek izmantota tīmekļa pakalpojuma programmēšanai.

    Apskatīsim šos komponentus sīkāk.

    SOAP (vienkāršs objekta piekļuves protokols)

    SOAP ir pazīstams kā no transporta neatkarīgs ziņojumapmaiņas protokols. SOAP pamatā ir XML datu pārsūtīšana kā SOAP ziņojumi. Katram ziņojumam ir kaut kas tāds, ko sauc par XML dokumentu. Tikai XML dokumenta struktūra seko noteiktam paraugam, bet ne saturam. Labākā Web pakalpojumu un SOAP daļa ir tā, ka tās visas tiek sūtītas caur HTTP, kas ir standarta tīmekļa protokols.

    Lūk, no kā sastāv ziepes ziņojums

    • Katram SOAP dokumentam ir nepieciešams saknes elements, kas pazīstams kā elements . Saknes elements ir pirmais elements XML dokumentā.
    • Savukārt "aploksne" ir sadalīta 2 daļās. Pirmais ir galvene, bet nākamais - ķermenis.
    • Galvenē ir maršrutēšanas dati, kas būtībā ir informācija, kas XML dokumentam norāda, kuram klientam tas jānosūta.
    • Pamatteksts satur faktisko ziņojumu.

    Zemāk redzamajā diagrammā parādīts vienkāršs saziņas, izmantojot SOAP, piemērs.

    SOAP protokols

    Šajā apmācībā mēs detalizēti apspriedīsim ziepes.

    WSDL (tīmekļa pakalpojumu apraksta valoda)

    Tīmekļa pakalpojumu nevar izmantot, ja to nevar atrast . Klientam, kurš atsaucas uz tīmekļa pakalpojumu, būtu jāzina, kur tīmekļa pakalpojums faktiski atrodas.

    Otrkārt, klienta lietojumprogrammai jāzina, ko tīmekļa pakalpojums patiesībā dara, lai tā varētu izsaukt pareizo tīmekļa pakalpojumu. Tas tiek darīts, izmantojot WSDL, kas pazīstama kā Web pakalpojumu apraksta valoda. WSDL fails atkal ir uz XML balstīts fails, kas klienta lietojumprogrammai būtībā norāda, ko dara tīmekļa pakalpojums. Izmantojot WSDL dokumentu, klienta lietojumprogramma spētu saprast, kur atrodas tīmekļa pakalpojums un kā to var izmantot.

    Tīmekļa pakalpojumu piemērs

    Tālāk ir sniegts WSDL faila tīmekļa pakalpojumu piemērs.

    
    
    
    

    Svarīgi aspekti, kas jāatzīmē par iepriekš minētajiem WSDL deklarēšanas tīmekļa pakalpojumu piemēriem, ir šādi:

    1. - ziņojuma parametrs WSDL definīcijā tiek izmantots, lai definētu dažādus datu elementus katrai tīmekļa pakalpojuma veiktai darbībai. Tātad iepriekšējos tīmekļa pakalpojumu piemēros mums ir 2 ziņojumi, kurus var apmainīt starp tīmekļa pakalpojumu un klienta lietojumprogrammu, viens ir "TutorialRequest" un otrs ir "TutorialResponse". TutorialRequest satur elementu ar nosaukumu "TutorialID", kura tips ir virkne. Līdzīgi arī TutorialResponse operācijā ir elements ar nosaukumu "TutorialName", kas arī ir tipa virkne.
    2. - tas faktiski apraksta operāciju, kuru var veikt tīmekļa pakalpojums, kuru mūsu gadījumā sauc par Pamācība. Šī darbība var aizņemt 2 ziņojumus; viens ir ievades ziņojums, bet otrs ir izvades ziņojums.
    3. - Šis elements satur izmantoto protokolu. Tāpēc mūsu gadījumā mēs to definējam, lai izmantotu http ( http://schemas.xmlsoap.org/soap/http ). Mēs arī norādām citu informāciju par operācijas pamattekstu, piemēram, nosaukumvietu un to, vai ziņojums ir jākodē.

    Šajā apmācībā mēs detalizēti apspriedīsim "WDSL".

    Universāls apraksts, atklāšana un integrācija (UDDI)

    UDDI ir standarts, lai aprakstītu, publicētu un atklātu tīmekļa pakalpojumus, kurus nodrošina konkrēts pakalpojumu sniedzējs. Tajā sniegta specifikācija, kas palīdz izvietot informāciju par tīmekļa pakalpojumiem.

    Tagad mēs apspriedām iepriekšējā tēmā par WSDL un kā tajā ir informācija par to, ko tīmekļa pakalpojums faktiski dara. Bet kā klienta lietojumprogramma var atrast WSDL failu, lai izprastu dažādas tīmekļa pakalpojuma piedāvātās darbības? Tātad UDDI ir atbilde uz to un nodrošina repozitoriju, kurā var mitināt WSDL failus. Tātad klienta lietojumprogrammai būs pilnīga piekļuve UDDI, kas darbojas kā datu bāze, kurā ir visi WSDL faili.

    Tāpat kā tālruņu katalogā ir konkrētas personas vārds, adrese un tālruņa numurs, tāpat kā UDDI reģistrā būs atbilstoša informācija par tīmekļa pakalpojumu . Lai klienta lietojumprogramma zinātu, kur to var atrast.

    Tīmekļa pakalpojumu priekšrocības

    Mēs jau saprotam, kāpēc vispār radās tīmekļa pakalpojumi, kuru mērķis bija nodrošināt platformu, kas ļautu dažādām lietojumprogrammām sarunāties savā starpā.

    Apskatīsim tīmekļa pakalpojumu priekšrocību sarakstu, kāpēc ir svarīgi izmantot tīmekļa pakalpojumus.

    1. Biznesa funkcionalitātes atklāšana tīklā - tīmekļa pakalpojums ir pārvaldīta koda vienība, kas nodrošina sava veida funkcionalitāti klienta lietojumprogrammām vai galalietotājiem. Šo funkcionalitāti var izsaukt, izmantojot HTTP protokolu, kas nozīmē, ka to var izsaukt arī internetā. Mūsdienās visas lietojumprogrammas atrodas internetā, kas padara tīmekļa pakalpojumu mērķi noderīgākus. Tas nozīmē, ka tīmekļa pakalpojums var atrasties jebkurā vietā internetā un pēc nepieciešamības nodrošināt nepieciešamo funkcionalitāti.

    2. Lietojumprogrammu sadarbspēja - tīmekļa pakalpojumi ļauj dažādām lietojumprogrammām sarunāties savā starpā un koplietot datus un pakalpojumus savā starpā. Visu veidu lietojumprogrammas var sarunāties savā starpā. Tāpēc tā vietā, lai rakstītu konkrētu kodu, kuru var saprast tikai konkrētas lietojumprogrammas, tagad varat rakstīt vispārīgu kodu, kas ir saprotams visām lietojumprogrammām

    3. Standartizēts protokols, kuru saprot visi - tīmekļa pakalpojumi saziņai izmanto standartizētu nozares protokolu. Visos četros slāņos (pakalpojumu transports, XML ziņojumapmaiņa, pakalpojumu apraksts un pakalpojumu atklāšanas slāņi) tīmekļa pakalpojumu protokolu kaudzē tiek izmantoti precīzi definēti protokoli.

    4. Saziņas izmaksu samazināšana - tīmekļa pakalpojumi izmanto SOAP, izmantojot HTTP protokolu, tāpēc tīmekļa pakalpojumu ieviešanai varat izmantot esošo zemo cenu internetu.

    Tīmekļa pakalpojumu arhitektūra

    Katram ietvaram ir nepieciešama sava veida arhitektūra, lai pārliecinātos, ka visa sistēma darbojas pēc vēlēšanās līdzīgi kā tīmekļa pakalpojumos. Web Services arhitektūra sastāv no trīs atšķirīgas lomas, kā norādīts zemāk:

    1. Pakalpojuma sniedzējs - pakalpojumu sniedzējs izveido tīmekļa pakalpojumu un padara to pieejamu klienta lietojumprogrammai, kas vēlas to izmantot.
    2. Pieprasītājs - pieprasītājs nav nekas cits kā klienta lietojumprogramma, kurai jāsazinās ar tīmekļa pakalpojumu. Klienta lietojumprogramma var būt .Net, Java vai jebkura cita valodas lietojumprogramma, kas meklē kādu funkcionalitāti, izmantojot tīmekļa pakalpojumu.
    3. Brokeris - brokeris ir nekas cits kā lietojumprogramma, kas nodrošina piekļuvi UDDI. UDDI, kā tika apspriests iepriekšējā tēmā, ļauj klienta lietojumprogrammai atrast tīmekļa pakalpojumu.

    Zemāk redzamā diagramma parāda, kā Pakalpojuma sniedzējs, Pakalpojuma pieprasītājs un Pakalpojuma reģistrs mijiedarbojas savā starpā.

    Tīmekļa pakalpojumu arhitektūra
    1. Publicēt - pakalpojumu sniedzējs informē brokeri (pakalpojumu reģistru) par tīmekļa pakalpojuma esamību, izmantojot brokera publicēšanas saskarni, lai padarītu pakalpojumu pieejamu klientiem
    2. Atrast - pieprasītājs konsultējas ar brokeri, lai atrastu publicētu tīmekļa pakalpojumu
    3. Saistīšana - izmantojot informāciju, ko no brokera (pakalpojumu reģistra) ieguva par tīmekļa pakalpojumu, pieprasītājs var saistīt vai izsaukt tīmekļa pakalpojumu.

    Tīmekļa pakalpojuma raksturojums

    Tīmekļa pakalpojumiem ir šādas īpašas uzvedības īpašības:

    1. Tie ir balstīti uz XML - Web Services izmanto XML, lai attēlotu datus attēlojuma un datu transportēšanas slāņos. XML izmantošana novērš jebkādu atkarību no tīkla, operētājsistēmas vai platformas, jo XML ir kopīga valoda, kuru saprot visi.

    2. Brīvi savienots - brīvi savienots nozīmē, ka klients un tīmekļa pakalpojums nav savstarpēji saistīti, kas nozīmē, ka pat tad, ja tīmekļa pakalpojums laika gaitā mainās, tam nevajadzētu mainīt veidu, kā klients izsauc tīmekļa pakalpojumu. Pielietojot brīvi savienotu arhitektūru, programmatūras sistēmas kļūst vieglāk pārvaldāmas un ļauj vienkāršāk integrēt dažādas sistēmas.

    3. Sinhronā vai asinhronā funkcionalitāte - sinhronitāte attiecas uz klienta saistīšanu ar pakalpojuma izpildi. Sinhronās operācijās klients faktiski gaidīs, kamēr tīmekļa pakalpojums pabeigs darbību. Tā piemērs, iespējams, ir scenārijs, kurā tiek veikta datu bāzes lasīšanas un rakstīšanas operācija. Ja dati tiek nolasīti no vienas datubāzes un pēc tam rakstīti citā, tad darbības jāveic secīgi. Asinhronās darbības ļauj klientam izsaukt pakalpojumu un pēc tam paralēli izpildīt citas funkcijas. Šī ir viena no izplatītākajām un, iespējams, vēlamākajām metodēm, lai nodrošinātu, ka citi pakalpojumi netiek apturēti, kad tiek veikta konkrēta darbība.

    4. Spēja atbalstīt attālās procedūras izsaukumus (RPC) - tīmekļa pakalpojumi ļauj klientiem izsaukt procedūras, funkcijas un metodes uz attāliem objektiem, izmantojot XML protokolu. Attālās procedūras atklāj ievades un izvades parametrus, kas jāatbalsta tīmekļa pakalpojumam.

    5. Atbalsta dokumentu apmaiņu - Viens no galvenajiem XML ieguvumiem ir tā vispārīgais veids, kā attēlot ne tikai datus, bet arī sarežģītus dokumentus. Šie dokumenti var būt tikpat vienkārši, kā attēlot pašreizējo adresi, vai arī tikpat sarežģīti kā visa grāmata.