Zaštita WEB servisa
UNIVERZITET SINERGIJA
FAKULTET ZA INFORMATIKU I RAČUNARSTVO
ZAŠTITA WEB SERVISA
-Diplomski rad-
Student:
Profesor:
2014. godine
SADRŽAJ
2.1. WSDL, SOAP, UDDI.......................................................................................................7
2.2. WS-*...............................................................................................................................11
2.3. REST USLUGE............................................................................................................ 13
.......................................................................................... 15
................................................................................................18
5. NIVOI ZAŠTITE WEB SERVISA ( SSL PROTOKOL)
................................................23
2

2. WEB SERVISI
Web servis je interfejs koji opisuje skup operacija koje su dostupne preko mreže sa
upotrebom standardizovanih XML poruka. Web servis je opisan koristeći standardnu
formalnu XML notaciju. Opis web servisa sadrži detalje neophodne za interakciju sa servisom
uključujući opis formata poruka, transportne protokole i lokaciju. U interfejsu se ne nalaze
detalji implementacije servisa što omogućava korištenje servisa neovisno od računarske ili
programske platforme na kojoj je implementiran. Potpuno je nezavisan i od programskog
jezika u kojem je servis napisan. Ovo omogućava da su aplikacije labavo povezane,
orijentisane ka razvoju komponenti koje omogućavaju implementacije nezavisno od
tehnologija u kojima su kreirane. Web servisi mogu rješavati jednan zadatak ili cijeli skup
zadataka. Mogu biti korišteni samostalno ili se može povezati više Web servisa u izvođenju
kompleksnih poslovnih transakcija.Web servisi predstavljaju osnovne gradivne blokove
budućih informacionih sistema,a u suštini su aplikacije koje su raspložive na mreži i koje
mogu da urade ono što vama u tom trenutku treba. Drugim riječima, to su resursi koji se
adresiraju primjenom URL-a koji vraća informaciju korisniku koji želi da je koristi. Glavni
komunikacioni protokol je SOAP tj. XML preko HTTP-a.Osnovni pokretač ovih promjena je
XML, koji kroz svoju jednostavnost omogućava praktičnu nezavisnost aplikacija i sistema jer
je razumljiv i za čovjeka i za mašinu.
Računarstvo zasnovano na uslugama (engl.
SOA – Service Oriented Architecture
)
predstavlja novi pokret u računarstvu koji se zasniva na izradi javno dostupnih servisa
pomoću kojih se obavlja određena funkcionalnost. Tačnije, pojedine funkcionalnosti se više
ne obavljaju putem uobičajenih programskih alata već se ukupna funkcionalnost sistema gradi
manjim gradivnim blokovima koji se nazivaju servisi. Ovisno o primjeni, servisi mogu biti
jednostavniji ili složeniji.
Osim toga, sistemi mogu kombinovati više jednostavnih ili složenih servisa kako bi
korisnicima pružili potpuniju uslugu. Osnovna pretpostavka ovakvih sistema je dostupnost
servisa putem globalne mreže - Interneta. Iz tog razloga koristi se pojam web servisi kako bi
se naglasila zavisnost o Internetu.
Računarstvo zasnovano na uslugama postoji već neko vrijeme i koristi se u različite
svrhe. Jedno od konzistentnih tumačenja je pristup izradi informacijskih sistema koji
označavaju podjelu ukupnih zahtjeva na niz manjih. Ovakvo sitnozrnato ostvarivanje
funkcionalnosti omogućava ponovnu upotrebu pojedinih dijelova i olakšava njihovo
ostvarivanje. Naime, rastavljanjem složenih zahtjeva u niz jednostavnijih smanjuju se moguće
količine grešaka i ubrzava vrijeme razvoja. Ovaj pristup nadilazi granice tehnologije i razvoja
informacijskih sistema kao uopštena smjernica za razvoj programske potpore. Ono po čemu
se princip računarstva zasnovanog na uslugama razlikuje od rastavljanja zahtjeva je u načinu
na koji se postiže odvajanje.
Razlike između računarstva zasnovanog na uslugama i rastavljanja zahtjeva se mogu
opisati upoređivanjem web servisa sa svakodnevnim danom u gradu. Svaki grad se sastoji od
određenog broja organizacija koje obavljaju svoje djelatnosti i nude određene usluge. Svaku
uslugu može koristiti više klijenata. Na primjer, hemijske čistionice nude svim svojim
korisnicima usluge čišćenja. Čistionicu može koristiti više klijenata odjednom, ali nisu nužno
zavisni jedni o drugom. Svi pružatelji usluga čine jednu zajednicu, ali nisu nužno povezani
jedno s drugim te nisu međusobno zavisni.
Web servisi čine gotove funkcionalnosti koje se mogu pozivati iz različitih alata i
okruženja. Svaki servis mora imati dobro opisan pristupni interfejs. Kako bi se mogli koristiti
Singh, M.P.; Huhns, M.N.: Service-Oriented Computing, John Wiley & Sons, Ltd. 2004
4
potrebno je preuzeti navedeni opis pristupnog interfejsa. Većina interfejsa se mogu dohvatiti
iz javnih registra koji imaju popise poznatih web servisa.
Kada se dohvati opisnik interfejsa korisnik ili programski alat stvara zahtjeve prema
web servisu na način koji je propisan opisnikom. U opisniku se nalazi pristupna adresa,
mrežna vrata, opis ulaznih parametara i druge upute koje su potrebne za korištenje servisa.
Konkretna izvedba opisnika interfejsa, registra servisa i način interakcije s korisnikom ili
alatom zavisi o arhitekturi i tehnologiji koja se koristi prilikom izrade web servisa. Trenutno
najraširenije arhitekture za ostvarivanje web servisa su REST (engl.
Representational state
transfer
) i WS-Services.
Na slici ispod dat je model jednog Web servisa
.
Slika 1
:
Model Web servisa
Web servis se objavljuje na Internet tako što se postavi u Registar servisa. Tu se nalazi
specifikacija Web servisa, tj.postavljaju se funkcionalnosti koje konkretni Web servis može
da pruži. Servis može da objavi privatno lice ili neka kompanija.Tražilac servisa je korisnik
kome je potrebna funkcionalnost određenog Web servisa za svoju aplikaciju. Pronalaženjem
odgovarajućeg servisa, korisnik se može povezati sa odgovarajućim servisom-pružilacom
usluga, u ovom primjeru obilježenog sa “Pružalac usluga”, na kome je dat opis servisa.
Evolucioni pristup izgradnji novih informacionih sistema baziranih na Web servisima
uključuje i tradicionalne i nove softverske podsisteme od kojih se izdvajaju četiri grupe:
Lokalne aplikacije:
Ovaj tip aplikacija se bazira na personalnim računarima koji su
posvećeni isključivo toj vrsti primjene i najčešće su to aplikacije koje automatizuju
kancelarijsko poslovanje. Većina ovih aplikacija je implementirana tako da podržava
rad u okruženju lokalnih računarskih mreža
Klijent/server aplikacije
: Ovakav tip aplikacije obavezno uključuje server baze
podataka koji korespondira sa radnim stanicama preko lokalne računarske mreže i
Web Services Addressing Working Group, 2007., http://www.w3.org/2002/ws/addr/
5

2.1. WSDL, SOAP, UDDI
Zahvaljujući svojoj popularnosti i praktičnosti, web servisi su doživjeli nagli razvoj u
posljednjih nekoliko godina. Nastale su nove tehnologije koje olakšavaju razvoj i interakciju
sa servisima. Jedan od prvih standarda za opis web servisa bio je WSDL (engl.
Web Services
Description Language
). Ukratko, WSDL (
Web Services Description Language
) je XML
gramatika za specificiranje javnog interfejsa za Web servis. Ovaj javni interfejs može
uključivati praćenje:
informacija na svim javno dostupnim funkcijama
informacije o tipovima podataka za sve XML poruke
informacije o specifičnom protokolu za transport
adresne informacije o pronalaženju određenog servisa
WSDL nije vezan za određen XML sistem poruka, ali u sebi već ima uključenu podršku za
opis SOAP servisa. Koristeći WSDL, klijent može pronaći Web servis, i pozvati bilo koju
javno dostupnu funkciju. S WSDL alatima, ovaj proces može biti u potpunosti automatizovan,
omogućavajući aplikacijama jednostavnu integraciju novih servisa sa malo ili bez naknadno
dodanog koda.
Riječ je o jeziku zasnovanom na XML (engl.
Extensible Markup Language
)-u, koji se
koristi za opisivanje interfejsa web servisa. WSDL definicijom web servisa daje se opis svih
potrebnih ulaznih i izlaznih parametara te pristupna adresa servisa. Takav opis je pogodan jer
je razumljiv ljudima i računarima. Prilikom složene orkestracije više web servisa često se
upiti samostalno formiraju upotrebom WSDL definicije pristupnog interfejsa. Prije nego što
korisnik može preuzeti WSDL opis web servisa, pružatelj ga mora objaviti. U tu svrhu se
obično koristi javni imenik web servisa koji sadrži pristupne interfejse.
WSDL opis sastoji se od nekoliko elemenata koji pojedinačno opisuju glavne
elemente interfejsa Web servisa. Oni su navedeni u nastavku.
<portType>
Opisuje operacije koje svojim korisnicima pruža Web servis. Zbog toga je i
najvažniji element WSDL dokumenta. Može se uporediti sa razredom (klasom) u terminima
objektno orijentisanih programskih jezika. Kao što razred sadrži metode koje pruža svojim
korisnicima, tako i ovaj element sadrži operacije (metode) koje Web servis pruža svojim
korisnicima.
<message>
Opisuje poruke koje se koriste tokom korištenja neke operacije Web servisa.
Sastoji se od proizvoljno mnogo logičkih dijelova (eng. parts). Svaki logički dio poruke
definiše se imenom i tipom. Ovaj element se može uporediti sa skupom ulaznih tj. izlaznih
parametara kod pozivanja neke metode.
<types>
Opisuje tipove podataka koji se koriste tokom korištenja operacija Web servisa.
Tipovima se opisuju
dijelovi poruka. Može se uporediti sa ulaznim tj. izlaznim tipovima
podataka kod korištenja metoda u
standardnim programskim jezicima.
<binding>
Prethodni elementi opisuju komunikaciju na apstraktan način, neovisno o
konkretnim protokolima koji
će se koristiti za izvođenje te komunikacije u stvarnosti. Ovaj
element definiše konkretni protokol i povezuje prethodne apstraktne elemente na konkretne
protokole, npr. SOAP.
Najkorišteniji standard za ostvarenje imenika servisa je UDDI (engl.
Universal
Description, Discovery and Integration
).
UDDI je otvoren svim zainteresovanim stranama, a podržava ga organizacija OASIS
(engl.
Organization for the Advancement of Structured Information Standards
)
.
T. Erl, Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice
7
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti