Professional Documents
Culture Documents
Skripta XML
Skripta XML
Dr Branislav Bogdanovic
Skripta za pripremu I kolokvijuma
Web servisi
1
U ovim osnovnim koracima obavljaju se sledee funkcije:
1. Sistem koji obezbeuje servis opisuje, tj. definie svoj servis korienjem WSDL
jezika. Ta definicija se objavljuje u katalogu servisa. Najee se koristi Universal Description,
Discovery, and Integration (UDDI) direktorijum, mada se sreu i drugaiji direktorijumi;
2. Korisnik servisa pretraivanjem direktorijuma locira eljeni servis i na osnovu WSDL
opisa servisa saznaje kako da komunicira sa servisom;
3. Deo WSDL opisa, koji je obezbedio snabdeva servisa, dostavlja se korisniku servisa i
na osnovu toga korisnik servisa saznaje parametre zahteva i odgovora konkretnog servisa;
4. Korisnik servisa koristi WSDL opis i alje zahtev servisu;
5. Servis u skladu sa svojom funkcijom obezbeuje odgovor i dostavlja ga korisniku
servisa.
Sve poruke izmeu servisa i korisnika servisa realizuju se korienjem SOAP protokola,
pri emu su SOAP poruke kao i WSDL dokumeti opisa servisa bazirani na XML jeziku. Kako je
XML baza za Web servise i kljuni faktor njihove nezavisnosti od hardverske platforme,
operativnih sistema ili jezika na kome su realizovani, esto se za servise Web servise kao
sinonim koristi termin XML Web servis.
Web Services Description Language (WSDL) je jedan od tri osnovna standarda Web
servisa i koristi se da definie vii nivo funkcionalnosti Web servisa, opisujui njegove eksterne
interfejse. Korienjem ovog jezika opisuju se detalji funkcionisanja Web servisa. Detaljne
informacije o nainu funkcionisanja servisa, u smislu kako treba da definie ulazne parametre i
ta moe da oekuje kao rezultat izvrenja servisa, korisnik Web servisa moe da dobije iz
WSDL dokumnta. WSDL dokument u potpunosti opisuje Web servis, ukljuujui operacije koje
servis podrava, poruke koje se razmenjuju i tipove podataka koji se pri tome koriste.
WSDL dokument je standardni XML dokument koji poinje definisanjem imenskih
prostora (namespaces) korienjem atributa korenog elementa <definitions> WSDL dokumenta.
Pored korenog elementa u WSDL dokumetu mogu se nai sedam primarnih elemenata koji se
svrstavaju u dve osnovne kategorije.
Elementi za opis saraja: to su XML elementi koji dokumentuju interfejs Web servisa
ukljuujui i metode koje servis podrava, ulazne parametre i povratne vrednosti. U
ovu grupu elemenata ubrajaju se XML elementi <types>, <message>, <operation> i
<portType>;
Elementi konkretne implementacije: ova grupa XML elemenata pokazuje klijentu
kako da se fiziki povee sa Web servisom i kako da koristi operacije koje servis
podrava. Elementi koji pripadaju ovoj grupi su <binding>, <port> i <service>.
Objavljivanje servisa
2
registar, koji e sadrati opise servisa. Takav registar, Universal Description, Discovery, and
Integration (UDDI), moe biti deo infrastrukture kompanije, ili se moe koristiti javni registar,
koji je deo infrastrukture Internet zajednice.
Informacije u UDDI zapisu pripadaju jednoj od tri kategorije informacija. Bele strane
pruaju osnovne informacije o kompaniji (ime kompanije, adresa, sajt). ute strane pruaju
dodatne informacije o kompaniji (tip posla, razliite kategorizacije, identifikacija posla itd.).
Zelene strane pruaju tehnike informacije o servisima. Ove strane opisuju kako ostvariti
interakciju sa servisom, ukazaju na WSDL fajl, tj. opisuju mogunosti i funkcionalnost servisa.
Svi UDDI zapisi se realizuju korienjem XML elemenata <businessEntity>, <businessService>,
<bindingTemplate>, <tModel> i <publisherAssertion>.
Simple Object Access Protocol je protokol koji se bazira na XML-u i slui za razmenu
strukturiranih i tipiziranih informacija izmeu labavo povezanih raunara na Web-u. SOAP
unapreuje mogunosti postojeih protokola ime omoguava slanje poruka, zahteva i odgovora,
korienjem standardnih protokola (HTTP, SMPT, FTP). Zahvaljujui korienju standardnih
transportnih protokaola, SOAP je u mogunosti da koristi sve prednosti otvorenih arhitektura na
Internetu i da omogui prolaz poruka kroz firewall-ove.
Osnovni nosioc SOAP informacija je XML fajl iji se bazini element zove koverta
(envelope). Element <Envelope> obuhvata korisni sadraj poruke i obavezno sadri element
<Body>, a opciono elemente <Header> i <Fault>. Element <Body> sadri ime metode i imena i
vrednosti parametara, dok element <Header> dodatno opisuje tip SOAP poruke. Za obradu
izuzetaka moe se u okviru <Body> elmentata pojaviti i element <Fault>.
Semantiki Web
Govorei o pronalaenju informacija 1996, Berners-Lee je posebno istaknuo injenicu
kako je vrlo teko pronai odreeni podatak ukoliko on nije izraen u obliku konkretnog
semantikog navoda, tj. u obliku u kojem je znanje prikazano kroz neki jezini navod
(Berners-Lee, 1996). S obzirom da se tragalo za efikasnijim i boljim reenjima za pronalazak
informacija na Web-u, Semantiki Web je nastao kao reenje problema, tj. rezultat traganja
te on predstavlja proirenje postojeeg Web-a gde je informaciji dato precizno definisano
znaenje i koji bolje omoguava saradnju izmeu raunara i korisnika, to je vrlo bitno.
Semantiki web je ideja o proirenju Web-a, u kojem je preciznije definisana semantika
informacije i servisa na Webu, to bi i raunarima omoguilo dublju analizu podataka -
sadraja, veza i transakcija izmeu ljudi i raunara. Osnovna ideja je pojednostaviti
pretraivanje informacija pa tako boljom standardizacijom meta-podataka pruiti pomo
korisnicima i inteligentnim softverskim agentima u pronalaenju skrivenih informacija na
Web-u. Za sintaktiku formu dokumenata i za njihov semantiki sadraj moraju biti
definisani standardi, ime se pretraivaima omoguuje da sami kontaktiraju sve dostupne
resurse i automatski pronalaze traene sadraje. Semantiku informacija koje pretrauju,
moraju razumeti programi koji se tom prilikom koriste. Do razumevanja semantike dolazi
se upotrebom odreenih programskih jezika kojima se vri tano semantiko oznaavanje
podataka i izvora tih podataka, meta-podataka (podatci o podatcima).
3
Glavni principi Semantikog Web-a
Glavni principi Semantikog Web-a su sledei:
Sve moe biti identifikovano uz URI (Uniform resource identifier)
Koristei niz identifikatora, ljudi, mesta i stvari u fizikom svetu mogu biti prepoznati u
Semantikom Web-u. Onaj ko ima kontrolu na delu prostora imena na Web-u (Web
namespace) moe kreirati URI i rei da on identifikuje neto u fizikom svetu. Fizikim
entitetima se takoe moemo obraati indirektno.
Semantiki Web je neogranien pa bilo ko moe rei bilo ta o bilo emu i stvarat i
razliite tipove ili linkove izmeu resursa, te e uvek postojati neto vie za otkrivanje. Neki
od povezanih resursa mogu prestati postojati ili adrese mogu biti ponovno upotrebljene za
neto drugo. Alati na Semantikom Web-u trebaju tolerisati taj raspad podataka (data decay) i
biti u mogunosti.
Podrana je evolucija
Minimalistiki dizajn
Semantiki Web ini jednostavne stvari jednostavnijim, a sloene stvari ini moguim.
Cilj W3C konzorcijuma je da se standardizuje samo ono nuno. Ovaj pristup omoguuje
implementaciju jednostavnih aplikacija sad kad se baziraju na ve standardizovanim
4
tehnologijama.
Ontologija
Ontologija (gr. Ontos=bie, stvarnost; gr. logica=nauka) u svom izvornom
filozofskom znaenju, predstavlja nauku o biu, o onome to postoji, uenje o opim,
fundamentalnim i konstruktivnim odreenjima postojanja. U informatici ontologija znai
5
formalno definisani sistem od pojmova i/ili koncepata i relacija izmeu tih pojmova.
Ontologije mogu poveati funkcionalnost Web-a na mnogo naina. Mogu biti iskoriene na
jednostavan nain za poboljavanje preciznosti u pretraivanju Web-a (umesto da pronalaze
stranice koje koriste jednu od neodreenih kljunih rei, pretraivaki programi mogu traiti
samo one stranice koje se odnose na odreeni koncept). Naprednije aplikacije e koristiti
ontologije za povezivanje informacija na stranicama sa strukturama znanja i pravilima
zakljuivanja. Web dizajneri se slue ontologijama za odreivanje odnosa, relacija i
karakteristika objekata. Sistemi ontologija definiu termine, pojmove i njihove meusobne
veze. Ontologija je opis (kao formalna specifikacija programa) koncepata i veza koje mogu
postojati unutar hijerarhije u sistemu pojmova te one predstavljaju najvaniju komponentu
Semantikog web-a a samim tim i jednu od vanijih komponenti u informacionim poslovnim
sistemima. Ontologija se sastoji od konane liste termina i relacija izmeu tih termina.
Termini oznaavaju koncepte (klase ili objekte) nekog domena. Relacije se obino sastoje
od hijerarhije klasa. Pored relacije hijerarhije klasa, ontologije mogu sadrati i informacije
tipa:
svojstva (properties);
ogranienja vrednosti;
iskljuive izraze (engl., disjoint statements);
specifikacije logikih relacija meu objektima.
6
Semantiki web e doneti strukturu smislenom sadraju Web stranica a ontologije se
izdvajaju kao kljuni mehanizam za predstavljanje znanja Semantikog web-a. Ontologija
prua mogunost generisanja novih injenica na osnovu injenica koje su eksplicitno date.
Ontologije omoguavaju postizanje vieg nivoa funkcionalnosti Web-a, kroz sledee funkcije
koje su razlog sve ee primene ontologija na Web-u:
1. poveanje preciznosti u pretraivanju Web-a;
2. povezivanje informacija na stranicama sa pridruenim im strukturama znanja i
pravilima zakljuivanja;
3. razmenu znanja izmeu ljudi i softvera;
4. razumevanje domena;
5. pruanje strukture za prenos informacija u Semantikom web-u ili u domenu
linkovanih podataka;
6. mogunost nadograivanja i menjanja u skladu s potrebama.
7
DATA WAREHOUSE
Heterogenost i sloenost poslovnog okruenja nameu neophodnost korienja sistema za
podrku odluivanju, naroito pri donoenju strategijskih odluka. Za strategijsko odluivanje
uglavnom se ne koriste neposredne informacije o svakodnevnom poslovanju, ve zbirni podaci iz
odreenog vremenskog perioda. Da bi kvalitet odluivanja bio zadovoljavajui potrebno je uzeti
u obzir veoma veliki broj podataka iz proteklog vremenskog perioda, jer su problemi koji se
reavaju u strategijskom odluivanju kompleksni, a podaci, uglavnom, nestruktuirani. To je
razlog da se koncept skladitenja podataka - Data Warehouse namee kao informaciona osnova
za podrku odluivanju.
Data Warehouse je posebno projektovano tehnoloko okruenje koje omoguava
objedinjavanje srodnih podataka u oblik pogodan za analizu, ime se olakava proces donoenja
odluka i daje nov pristup sistemima za podrku odluivanju. Ovaj koncept obezbeuje fleksibilan
i efikasan nain raspolaganja podacima u formatu pogodnom za savremene poslovne aplikacije.
Postojanje skladita podataka, kao informacijama bogatog integrisanog okruenja, omoguava
orijentaciju ka potrebama korisnika. Zahvaljujui postojanju skladita podataka menament i
radnici mogu, uz pomo alata za poslovno odluivanje, donositi pravovremene i kvalitetne
poslovne odluke. Data Warehouseing ili skladitenje podataka predstavlja proces integracije
podataka, koji se nalaze u celoj organizaciji, u jedinstveni renik iz koga krajnji korisnici mogu
dobiti izvetaje i sprovoditi ad-hoc analize podataka.
Data warehouseing je proces ekstrakcije podataka iz razliitih aplikacija (internih i
eksternih), transformacije tih podataka u format pogodan za analizu i smetanje podataka u
konsolidovan repozitorij, sa ciljem poslovne analize. Ovaj postupak zahteva kombinovanje
metodologija, tehnika, hardverskih i softverskih komponenti, koje zajedno obezbeuju
infrastrukturu sistema za implementaciju i postupno unapreivanje analitikih aplikacija, baze
poslovnog odluivanja.
Neke od tehnika i tehnologija, koje su kompanije meu prvima poele da primenjuju u
cilju unapreivanja procesa donoenja odluka, baziraju se na personalnim bazama podataka i
unakrsnim tabelama (spreadsheets). Pomou ovih tradicionalnih tehnologija poslovni analitiari
prikupljaju podatke iz operacionih IT sistema, i korienjem spreadsheet aplikacija generiu
izvetaje i dijagrame, koji se koriste u procesu donoenja odluka. Ovaj pristup je prilino
neefikasan, sa aspekta blagovremenog donoenja validnih odluka, jer ne obezbeuje sve
potrebne informacije u pravo vreme. Sem toga, razliiti podaci mogu biti ekstraktovani u
razliitim trenucima, transformisani razliitim postupcima od strane razliitih korisnika, to
podatke ini nekonzistentnim. Tako su donosioci odluka suoeni sa nunou donoenja odluka
na bazi veeg broja razliitih verzija istine.
Da bi se prevaziao ovaj problem, kompanije najee implementiraju centralizovano
skladite podataka, centralizovan repozitorijum podataka, data warehouse. Ovaj pristup
omoguava postojanje konzistentnih podataka njihovim prikupljanjem, tokom vremena iz svih
podruja poslovanja, i transformisanjem na jedinstven nain. Koncept data warehouse, i uloga
ETL postupaka (ETL Extraction, Transformation, Loading) prikazani su na slici.
8
Koncept centralizovanog kompanijskog skladita data warehouse
9
miniskladite, zatim se vri postupno dodavanje novih skladita i aktiviranje novih aplikacija
ime se vri osamostaljenje pravog skladita. Efikasnost arhitekture ogleda se u:
10
pojedinih poslovnih jedinica, tako i sagledavanje interakcije izmeu poslovnih jedinica i
kompanije sa okruenjem.
ETL proces
11
zahtevima, a zavravaju podacima, projekti skladitenja podataka startaju sa podacima, a
zavravaju zahtevima. Konkretno, jednom kad korisnici skladita podataka uoe sve mogunosti
koje im prua ova tehnologija, oni trae sve vie i vie. Stoga prilikom projektovanja skladita
podataka, ne treba postavljati samo pitanje koje informacije se ele sada, ve i koje informacije
e biti potrebne u budunosti.
Centralizovana skladita najee se baziraju na relacionim bazama podataka, i prema
modelu tj.nainu pamenja podataka postoje dva osnovna koncepta realizacije: koncept zvezde
(engl. star schema) i koncept pahuljice (engl. snowflake schema). Za koncept zvezde je
karakteristian manji broj relacija, vea redudanca podataka i bri odziv. Za koncept pahuljice je
karakteristian vei broj relacija, manja redudanca i sporiji odziv. U oba sluaja skladite
podataka se gradi na osnovu jedne ili vie centralinih, injeninih relacija (engl. fact), koje se
nadograuju nizom dimenzijskih relacija, pri emu cela struktura nije do kraja normalizovana.
Data warehouse je tematski orijentisano, integrisano, vremenski dugotrajno i
nepromenljivo (pri tome se ne misli na podatke koji tek treba da se pojave u skladitu podataka)
skladite podataka, ija je osnovna namena da svojim analitikim mogunostima podri proces
donoenja odluka. Data warehouse se moe smatrati specijalizovanom bazom podataka, koja se
temelji na podacima iz operativnih baza podataka, i omoguava:
Lak i brz pristup konzistentnim podacima i mogunost njihove analize pri procesu
donoenja odluka;
Otkrivanje sakrivenih informacija o poslovnim procesima i sagledavanje trendova
poslovanja.
13
od izvora podatka. Koristi se kada je brzina odgovora na upite kritina, za relativno male baze
podataka i kada se podaci esto koriste.
Hibridni OLAP sistemi HOLAP (Hybrid On Line Analytical Processing). Ova
arhitektura koristi relacionu bazu podataka (najee skladite podataka) za smetanje injenica,
dok se agregacija, dimenzije, mere i sve ostale potrebne definicije smetaju u viedimenzionalnu
bazu. Karakterie se prosenom brzinom i prosenim zauzimanjem prostora. Koristi se za baze
podataka srednje veliine, kada brzina odgovora na upite nije kritina, ali je bitna.
14
Kao to se iz tabele vidi, danas se analogno sa rudnicima zlata, za ekstrakciju znanja iz
ogromne koloiine podataka, najee iz baza podataka, upotrebljava termin otkrivanje,
rudarenje znanja - data mining. Data mining je proces otkrivanja novih smisaonih korelacija,
obrazaca i trendova, obradom ogromne koliine podataka, korienjem statistikih i
matematikih metoda za otkrivanje zakonitosti. Ovaj proces podrazumeva analizu posmatranog
skupa podataka da bi se pronale neoekivane relacije meu podacima, da se podaci redefiniu
na nov nain, koji je razumljiv i koristan vlasniku podataka. Data mining je interdisciplinarna
tehnologija koja podrzaumeva metode i tehnike iz mainskog uenja, statistike, baza podataka,
prepoznavanja oblika i relacija, sve u cilju ekstrakcije informacija iz mase podataka.
Reenja koja omoguavaju data mining ne predstavljaju gotov proizvod, ve
podrazumevaju kombinovanje rezultata veeg broja softverskih alata iz razliitih domena. Data
mining je kljuni lan poslovne inteligencije i data mining metode se mogu primeniti u bilo kojoj
fazi ivotnog veka podataka. Pored alata koji su deo data warehouse i OLAP tehnologija, data
mining metode ukljuuju i:
Softverske pakete za statistiku analizu (SAS - Statistical Analysis Software kao to je
softverski paket SPSS - Statistical Package for the Social Sciences);
Matematike softverske pakete (MathLab, Matematica);
Neutronske mree;
Metode fuzzy logike;
Specijalizovane alate za konkretne potrebe.
ivotni vek data mining procesa podrazumeva sledee korake: sakupljanje podataka,
filtriranje i transformaciju podataka, kreiranje modela, procenu kvaliteta modela, kreiranje
izvetaja, ocenjivanje modela, integraciju modela i upravljanje modelom [85].
15