Professional Documents
Culture Documents
dr Nenad Jovanovi
WEB SERVISI
2
N. Jovanovi, 2008.
Uvod
Pod Web servisom se podrazumeva bilo koja softverska aplikacija koja je dostupna preko mree (Internet ili intranet) i koja koristi standardizirani XML sistem poruka za razmenu podataka. Razmena funkcionie tako da korisnik poziva Web servis slanjem upita u XML formatu, a posluitelj u istom formatu vraa rezultat obrade.
3
N. Jovanovi, 2008.
Definicija
Web servisi su modularne, samoopsujue aplikacije koje se mogu objaviti, locirati i pozvati sa bilo koje take Web-a ili lokalne mree. Web servisi su distribuirane softverske komponente koje su dostupne kroz standardne Internet protokole.
4
N. Jovanovi, 2008.
Cilj
Cilj Web sevisa je omoguiti povezivanje poslovanja (Business to Business) odnosno,omoguiti programsko povezivanje distribuiranih softverskih komponenti bez obzira na kojoj su platformi realizovani,koji je programski jezik tom prilikom korien, kao i platforma na kojoj se izvravaju.
5
N. Jovanovi, 2008.
6
N. Jovanovi, 2008.
Arhitektura
WSFL Web Services Flow Language
UDDI Universal Description Descovery and Integration
Mrea
7
N. Jovanovi, 2008.
9
N. Jovanovi, 2008.
10
N. Jovanovi, 2008.
Korisnik Web servisa(1) alje upit prema posluitelju(2). Korisnik ima privid da komunicira preko Interneta direktno sa Web servisom, a u stvari komunicira sa proxy klasom(3), koja je lokalna korisniku. Zadatak proxy-a je da obavi sve komunikacijske pojedinosti nieg nivoa potrebne za slanje podataka preko Interneta do posluitelja. Proxy isto tako prima rezultate i prezentira ih korisniku. Sve je to mogue uz uvet da je proxy prethodno registriran kod korisnike aplikacije(4).
11
N. Jovanovi, 2008.
XML (Extensible Markup Language) standardizovani jezik za opis podataka, koji omoguava programerima razvoj sopstvenih tipova podataka, u cilju identifikacije informacija u dokumentima, te njihovom stavljanju u odgovarajui kontekst. SOAP (Simple Object Access Protocol) predstavlja protokol koji opisuje nain na koji jedan aplikacija treba da komunicira sa web servisom. SOAP omoguava korienje web servisa za finansijske transakcije na Internetu, kao to je recimo autorizacija kreditnih kartica.
12
N. Jovanovi, 2008.
UDDI (universal description, discovery and integration)) sistem slian yellow pages sistemu, na kome su izlistani web servisi, a koji doputa softverskim aplikacijam da prelistaju dostupne web servise i opisuje nain kako da se zakae za njih. WSDL (Web services description language) jezik koji slui za definisanje pojedinanih web servisa. WSDL jezikom opisuju se sve vrste aktivnosti koje moe da odradi neki web servis.
13
N. Jovanovi, 2008.
SOAP
SOAP je jednostavan protokol za razmenu informacija u decentralizovanom, distribuiranom okruenju. Baziran je na XML message protokolu koji je standardizovan. Uobiajeno je da takvu poruku alje korisnik, a posluitelj vraa poruku sa rezultatom pokrenute funkcije. SOAP takoe podrava "dokumentni stil" aplikacije u kojima je SOAP samo omota oko XML dokumenta. Takve aplikacije su veoma fleksibilne i zato se danas koristi ta prednost prilikom kreiranja Web servisa.
14
N. Jovanovi, 2008.
SOAP dokument
SOAP dokument se sastoji od obavezne SOAP Envelope, opcionalnog SOAP zaglavlja i obaveznog SOAP tela.
15
N. Jovanovi, 2008.
Envelope
Header
Body
16
N. Jovanovi, 2008.
SOAP Envelope sadri enconding style atribut koji definie koritena pravila serijalizacije u dotinoj SOAP poruci. Taj se atribut moe pojaviti u bilo kom elementu i prenosi se na sve podreene elemente koji ne sadre vlastiti atribut.
17
N. Jovanovi, 2008.
SOAP Header je prvi podreeni element SOAP evenlope elementa. Svaki element moe sadravati atribut mustUnderstand kojim se primatelju naznauje da je obvezno procesiranje zaglavlja (vrednost atributa =1). SOAP poruka koja putuje do odreene destinacije obino na svom putu prolazi kroz skup posrednika. Za tu svrhu postoji poseban atribut koji definie kojim je sve korisnicima namenjena poruka.
18
N. Jovanovi, 2008.
SOAP Body element je podreeni element SOAP evenlope elementa koji se koristi za prenos parametara metoda i poruka o greki.
19
N. Jovanovi, 2008.
20
N. Jovanovi, 2008.
21
N. Jovanovi, 2008.
SOAP povezivanje
SOAP povezivanje se odnosi na protokol koji se koristi za prenos SOAP poruka izmeu SOAP vorova. SOAP metodologija doputa da se izmeu svakog para vorova na putanji moe koristiti drugi protokol.
SOAP vor SOAP vor SOAP vor
SOAP poruke ne sadre informacije o povezivanju. Za SOAP razmenu poruka, uobiajeno je da se koristi HTTP protokol.
22
N. Jovanovi, 2008.
tedljiviji su po pitanju optereenja mree i resursa servera. Ako pogledamo primer sa Web aplikacijom za prevodjenje, videemo da ona najpre mora da poalje korisniku HTML sa formom za unos teksta, a posle prevoda alje mu ne samo prevedeni tekst, ve i HTML kod koji opisuje kako taj tekst treba da bude prikazan. Web servis bi primio jedan zahtev sa originalnim tekstom i poslao jedan odgovor sa prevedenim tekstom - nikakav dodatni HTML.
24
N. Jovanovi, 2008.
Laki su za razvoj, testiranje i odravanje. Kod Web aplikacije je neophodno odraditi ne samo funkciju programa, ve i dizajn i sve to dobro istestirati sa raznim browserima i platformama. Ko je probao da uskladi da Web aplikacija izgleda dobro na razliitim browserima zna kakva je to muka, a kad se napravi neka izmena, proces testiranja ide iz poetka. Sa Web servisima svega toga jednostavno nema. Autor servisa brine o funkciji - prikaz je na klijentima.
25
N. Jovanovi, 2008.
Potrebno je kreirati Web servis Narodne banke Srbije kojim se omoguava da potencijalni korisnici,preko Interneta dobijaju sve potrbne informacije u vezi sa zvaninom kursnom listom. nformacije se odnose na srednji, prodajni i kupovni kurs odrene valute.
26
N. Jovanovi, 2008.
27
N. Jovanovi, 2008.