You are on page 1of 27

INTERNET TEHNOLOGIJE

dr Nenad Jovanovi

Raunarstvo i informatika - Blace


1
N. Jovanovi, 2008.

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.

Web servisi mogu imati dvostruku ulogu:

Viestruko korienje aplikacionih komponenata Povezivanje postojeeg softvera

6
N. Jovanovi, 2008.

Arhitektura
WSFL Web Services Flow Language
UDDI Universal Description Descovery and Integration

Tok servisa Otkrivanje servisa

UDDI Universal Description Descovery and Integration


WSDL Web services Description Language SOAP Simple Object Access Protocol Transportni protokoli HTTP/FTP/SMTP

Objavljivanje servisa Opis servisa


Razmena XLM poruka

Mrea
7
N. Jovanovi, 2008.

Infrastruktura Web servisa


Web servis posluitelj i korisnik Web servisa su spojeni na Internet, te mogu komunicirati meusobno i s drugim servisima Nain komunikacije mora odgovarati nekom iroko prihvaenom standardu - obino su to SOAP poruke, a mogu i biti HTTP-GET ili HTTP-POST zahtevi Rad Web servisa ne zavisi od operativnog sistema, objektnom modelu niti od programskog jezika, sve dok se Web servisi i korisnike aplikacije pridravaju otvorenih standarda
8
N. Jovanovi, 2008.

Infrastruktura Web servisa

9
N. Jovanovi, 2008.

Princip rada Web servisa

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.

Grupa protokola koja omoguuje rad Web servisa

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.

SOAP poruka je XML dokument


Omota sadri ostatak SOAP poruke, ali ne i adresu

Zaglavlje sadri instrukcije za isporuku specifine za aplikaciju

Envelope

Header

Body

Telo sadri aktuelnu poruku

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.

Korienje SOAP-a u klasinom web servisu

20
N. Jovanovi, 2008.

Razmena SOAP poruka


Postoje dva naina razmene SOAP poruka:
Razmena dokumenata ; SOAP telo poruke sadri jedan ili vie podelemenata koji mogu da potuju bilo koji format (specifian za aplikaciju). Na pr. SOAP telo moe sadravati XML formatiranu narudbenicu. Poziv udaljene procedure; SOAP poruka identifikuje ime operacije podrane u prijemnom voru i ukljuuje parametre potrebne za njeno izvrenje (na pr. zahtev za najnovijom cenom akcije).

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.

Prednosti Web servisa u odnosu na "klasine" Web aplikacije


Fleksibilniji su. Klasine Web aplikacije se mogu koristiti samo uz pomo Web browser-a, pri emu korisnik nema nikakvog uticaja na to kako e rezultat izgledati na njegovom ekranu, osim ako ne napravi program koji e da iz dobijenog HTML-a "izvlai" interesantne podatke i prikazuje ih na eljeni nain. Web servise mogu da koriste najrazliitiji programi: poev od drugih Web servisa, preko Web aplikacija. Recimo servis za prevod teksta koji smo pomenuli kao primer, moe da koristi Altavista.com, program za obradu teksta kao to je Ms Word, a mogao bi da bude korien i sa npr. mobilnih telefona ili runih raunara koji imaju vezu sa internetom. Svi ovi razliiti "klijenti" bi koristili jedan isti Web servis i autori tog servisa ne bi morali ni da znaju kakve sve razliite aplikacije ga koriste.
23
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.

Primer web servis Kursna lista

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.