TEHNOLOGIJA WEB SERVISA - osnove elektrotehnike (home)
TEHNOLOGIJA WEB SERVISA - osnove elektrotehnike (home)
TEHNOLOGIJA WEB SERVISA - osnove elektrotehnike (home)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Veza između gore navedenih specifikacija prikazana je na slici 2.Slika 2. Veza tehnologija Web usluga2. Tehnologija Web usluga, standardi, arhitekture2.1 Web usluge i uslužno usmjerena arhitektura (ServiceOriented Architecture- SOA)2.1.1. XML Web uslugeNajrašireniji i najuspješniji tip usluge je XML usluga. Na taj tip usluge postavljaju sedva temeljna zahtjeva:- komunikacija Internet protokolima (najčešće HTTP)- komunikacija putem XML dokumenataStandardna Web usluga trebala bi- omogućiti opis usluga koji barem sadrži WSDL dokument- biti sposobna prenijeti XML dokument koristeći SOAP (preko HTTP-a)Zajedničko svim Web uslugama je:- mogu se ponašati i kao primatelji i kao pružatelji usluga5
- da budu registrirane kod agenta za otkrivanje preko kojeg mogu biti lociraneKlijent koji pokreće zahtjev za Web uslugom je također Web usluga kao što je prikazanona sljedećoj slici (slika 3):Slika 3. Uloge Web uslugaSvako sučelje izloženo preko “klijentove usluge” također je kvalificirano kao usluga (izkoje druge usluge mogu crpiti informacije). Samim time Web usluge se ne mogu smjestitiu standardni klijent-server model, već ostvaruju peer-to-peer sistem u kojem svaka uslugamože igrati ulogu klijenta ili servera.2.1.2. Uslužno orijentirana arhitektura (SOA)SOA predstavlja vid softverske arhitekture koji osnažuje korištenje slabo povezanihusluga s ciljem ostvarivanja potreba poslovnih procesa i korisnika. Resursi na računalnojmreži prilagođeni SOA okruženju dostupni su kao neovisne usluge kojima se možepristupiti ne poznavajući pozadinsku implementacijsku platformu. SOA može bitiimplementirana korištenjem raznih tehnologija poput REST-a, RPC-a, DCOM-a,CORBA-e ili Web usluga. Također može biti implementirana ne koristeći niti jedan odnavedenih protokola; npr. može koristiti datotečni sustav za prijenos podataka u skladu saspecifikacijom sučelja među procesima kompatibilnim sa SOA konceptima. Poanta je daneovisne usluge sa definiranim sučeljima mogu biti pozvane (sa ciljem izvršavanjaodređenog zadatka) na standardan način bez da usluga ima ikakvog predznanja opozvanoj aplikaciji i bez da aplikacija “zna” na koji će način usluga izvršiti svoj zadatak.6
SOA je dizajnirajući model za povezivanje računalnih resursa (uglavnom aplikacija ipodataka) s ciljem ostvarivanja zadovoljavajućeg rezultata za korisnike usluga. OASISdefinira SOA-u kao paradigmu za organizaciju i korištenje sposobnosti koje mogu bitipod kontrolom različitih domena. SOA omogućuje jedinstven način ponude, otkrivanja,interakcije i korištenja mogućnosti za postizanje željenih učinaka u skladu sapreduvjetima i očekivanjima.Slika 4. Elementi SOA-eSOA može biti temeljena na standardima Web usluga koje su postigle široku primjenu(npr. koristeći SOAP). Ti standardi (također znani kao specifikacije Web usluge)omogućuju bolje međudjelovanje i ograđivanje od korištenja isključivo jednog,predloženog softvera.SOA se obično definira kao usluge predstavljene stogom protokola Web usluga. Osnovninivo standarda Web usluge koji odgovara SOA-i uključuje XML, HTTP, SOAP, WSDL iUDDI. Međutim, sustav da bi bio uslužno orijentiran ne mora nužno koristiti niti jedan odnavedenih standardna, a može ih koristiti sve.2.1.3. Uloge Web uslugaWeb usluge mogu igrati različite uloge ovisno o scenariju interakcija. Ovisno o kontekstukojim se gleda i o stanju trenutnog zadatka koji se izvršava, ista Web usluga možemijenjati uloge ili igrati više uloga u isto vrijeme.7
Pružatelj uslugeKada se ponaša kao pružatelj usluge, Web usluga daje javno sučelje preko kojeg možebiti pozvana. Pružatelj usluge promovira sučelje Web usluge objavljujući njen opis.Analogno klijent-server modelu, pružatelj usluge je u ulozi servera (slika 4)Slika 5. Web usluga u ulozi pružatelja uslugePružatelj usluge može se također ponašati i kao primatelj usluge. Npr. Web usluga možeimati ulogu pružatelja usluge kada primatelj usluge zahtjeva od njega da izvrši nekufunkciju. Kasnije se ona ponaša kao primatelj usluge jer kontaktira primatelja usluge(koji sada ima ulogu pružatelja usluge) tražeći statusne informacije.Primatelj uslugePrimatelj usluge je pošiljatelj Web poruke koja predstavlja zahtjev za Web uslugom iliaplikacija koja zahtjeva određenu Web uslugu. Shodno analogiji klijent-server modela,primatelj usluge ima ulogu klijenta (slika 5).8
Slika 6. Web usluga u ulozi primatelja uslugePri komunikaciji sa pružateljom usluge, kod dobivanja zahtjeva za statusom, primateljusluge i sam postaje pružatelj usluge jer odgovara na taj zahtjev.PosrednikPosredničke Web usluge primaju poruku od primatelja Web usluge i prosljeđuju jepružatelju usluge. U tom smislu posrednik djeluje i kao pružatelj usluge (pri primitkuporuke) i kao primatelj usluge (pri njenom prosljeđivanju) (slika 6).Slika 7. Web usluga u ulozi posrednika između pružatelja i primatelja uslugePostoje različiti tipovi posrednika. Neki su pasivni i samo prosljeđuju poruke, dok drugiaktivno procesiraju poruku prije samog prosljeđivanja. U praksi se posrednicima dopuštasamo izmjena zaglavlja, a ne i sadržaja poruke, kako bi se očuvao njen integritet.9
U posredničkoj strukturi Web usluga razlikujemo još i pojmove početni pošiljatelj (Webusluga koja započinje prijenos poruke) te konačni primatelj (Web usluga koja predstavljaposljednju etapu puta poruke, tj. odredište)2.2. Web Services Description Language (WSDL)Web usluge trebaju biti definirane na konzistentan način kako bi ih druge usluge iaplikacije otkrile te izgradile sučelje prema njima. Web usluge se opisuju jednom odspecifikacija W3C-a – WSDL jezikom.Okruženje Web usluga uvodi integracijski sloj, koji utemeljuje standardno, opće poznatoi podržano programsko sučelje (slika 7).Slika 8. Integracijski slojWSDL omogućuje komunikaciju između tih slojeva dajući standardizirani opis krajnjihtočaka.2.2.1 WSDL dokumentSagledavajući svaki konstrukt definicije, najbolje će se razumjeti kako je jedna Webusluga definirana pomoću WSDL dokumenta.10
Field GuideMr. T… detalji implementacije ……Tekstualni opis usluge; dokumentacijaKorijenski element definitions je kontejner cijele definicije usluge. Jedna WSDLdefinicija može sadržavati skupove sljedećih primarnih konstrukata: interface,11
message, service i binding. Prva dva konstrukta predstavljaju definiciju sučeljausluge, dok zadnja dva pružaju detalje o njenoj implementaciji.Slika 9. Preslikavanje značajki Web usluge u WSDL dokumentDefinicija sučeljaField GuideMr. TPojedinačna sučelja usluge reprezentirana su interface elementima, od kojih svakisadrži grupu logički povezanih operacija. U komponentno-orijentiranoj arhitekturiWSDL interface je usporediv sa sučeljem komponente, dok je operacija ekvivalentnametodi komponente jer predstavlja jednu akciju ili funkciju.Izvršavanje jedne operacije, koja se sastoji od grupe ulaznih i izlaznih poruka,podrazumijeva prijenos tih poruka između pružatelja i primatelja usluge. Te su porukepredstavljene konstruktima message čija se imena kasnije referenciraju u input i12
output elementima konstrukata operation. Svaki message element možesadržavati jedan ili više ulaznih ili izlaznih parametara koji pripadaju nekoj operaciji. Tise parametri definiraju part elementima. U komponentno-orijentiranoj arhitekturiWSDL part je ekvivalent ulaznom parametru ili povratnoj vrijednosti metodekomponente.Definicija implementacijePomoću elemenata definicije implementacije, WSDL dokument može izgradit konkretnedetalje povezivanja za protokole kao što su SAOP i HTTP.… detalji implementacije …Unutar WSDL dokumenta, konstrukt service predstavlja jednu ili više krajnjih točakana kojima je Web usluga dostupna. Te krajnje točke, reprezentirane endpointelementima, sadrže informacije o protokolu i lokaciji.Element binding pridružuje informacije o protokolu i obliku poruke operacijama.Operation konstrukt u binding bloku mora imati dvojnika u interfacekonstruktu.Dodatni konstruktiU dodatne konstrukte ubrajaju se types i documentation.13
…Types element nosi dodatno obilježje koje se koristi kao podrška tipovima podataka zadefiniciju Web usluga. Taj konstrukt omogućuje integraciju XSD shema u dokumentdefinicije.Tekstualni opis usluge; dokumentacijaNa posljetku, element documentation omogućuje integraciju dodatnih bilješki inapomena.2.3. Simple Object Access Protocol (SOAP)SOAP je protokol za razmjenu XML poruka preko računalne mreže koristeći HTTPprotokol. SOAP formira temeljni sloj stoga Web usluga omogućujući temeljni okvir zaizmjenu poruka koji apstraktniji slojevi mogu nadograđivati.Postoji nekoliko različitih tipova poruka u SOAP-u, ali najrašireniji je poziv udaljenimprocedurama (Remote Procedure Call – RPC) tip poruka u kojem jedan čvor u mreži(klijent) šalje zahtjev drugom čvoru (server), a server odmah vraća odgovor na primljenizahtjev. SOAP je sljedbenik XML-a i RPC-a iako koristi drugačiji prijenos, interakcijskuneutralnost i omot/zaglavlje/tijelo poruke.Iako su i SMTP i HTTP odgovarajući protokoli za prijenos SOAP poruka, uvažen jeHTTP jer dobro podržava današnju Internet infrastrukturu; SOAP dobro surađuje safirewall-ima koristeći HTTP.14
2.4. Universal Description, Discovery and Integration (UDDI)UDDI je neovisan o platformi, bazira se na XML-u, a koristi se za objavu liste usluga imeđusobno otkrivanje istih. Također definira način na koji usluge ili softverske aplikacijesurađuju putem Interneta.UDDI poslovna registracija sastoji se od tri dijela:- Bijele stranice: adresa, kontakt i poznati identifikatori- Žute stranice: industrijska kategorizacija- Zelene stranice: tehničke informacije o usluziUDDI je jedan od osnovnih standarda Web usluga. Dizajniran je kako bi mu moglepristupiti SOAP poruke i ispitati njegov sadržaj ne bi li omogućile pristup WSDLdokumentima, opisujući korištene protokole i oblike poruka, kako bi mogli pristupatiWeb uslugama opisanima u UDDI direktoriju.UDDI je integriran u interoperabilnost Web usluge (Web-service Interoperability WS-I)kao centralni nosioc infrastrukture Web usluga. Do kraja 2005. godine više od 70%kompanija iz skupine Fortune 500 imalo je u planu koristiti ili su već koristile u javnoj iliprivatnoj domeni UDDI. Mnoge od tih kompanija su se pretplatile na neku od SOAarhitektura.UDDI specifikacije podržavaju javno pristupačan jedinstveni poslovni registar u kojem jenazivlje usluga konfigurirano od strane UDDI brokera. Javni poslovni registar omogućujepristup informacijama bilo kojoj klijentskoj aplikaciji.3. ZaključakPojavom Interneta počela je globalizacija svijeta u svim segmentima ljudskog života,ponajprije računalnom. Tehnologije se rađaju i koriste zahvaljujući svojim pozitivnimaspektima i raširenosti, ili pak izumiru zbog svojih nedostataka ili slaberasprostranjenosti. U “moru” Web tehnologija, Web usluge se ističu nad ostalima,ponajprije radi centraliziranosti (UDDI), dobre definicije pojedine Web usluge (WSDL)te lakoće komunikacije među strankama (SOAP). Također, Web usluge danas imajuizuzetno široku primjenu. Jedna od primjena je i u domeni upravljanja komunikacijskim16
mrežama i uslugama. Web usluga kao krajnja točka u komunikaciji između primatelja ipružatelja usluge opisana je varijabilnim upravljačkim sučeljem dostupnim primateljuusluge. Koristeći specifikacije iz tog sučelja, primatelj usluge može kontrolirati kvalitetuusluge, ostvariti dogovor o razini usluge, nadzirati izvršavanje određenog zadatka ineposredno upravljati životnim ciklusom određene usluge. Upravljanje korištenjem Webusluge vrlo je korisno, štoviše, neophodno kada Web usluga predstavlja hardverskukomponentu koja izvršava neki zadatak ili npr. kompleksniju komponentu kojapredstavlja sintezu poslovnih procesa ili aplikacijski server.4. Literaturahttp://wiki.apache.org/ws/FrontPage/Axis/AxisGeneralhttp://en.wikipedia.org/wiki/Service-oriented_architecturehttp://en.wikipedia.org/wiki/SOAPhttp://en.wikipedia.org/wiki/UDDIhttp://www.phptr.com/articles/article.asp?p=336265&seqNum=1&rl=1http://infolab.uvt.nl/pub/papazogloump-2003-52.pdfWeb Services Distributed Management Using Web Services (MUWS 1.0) Part 117