XML informacionih sistema.doc
-
Upload
nefertitilady -
Category
Documents
-
view
262 -
download
2
Transcript of XML informacionih sistema.doc
VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA
BLACE
DIPLOMSKI RAD
TEMA: DIZAJN INFORMACIONIH SISTEMA
BAZIRAN NA XML-U
Student: Profesor:
ĐORĐEVIĆ MILOŠ Prof. ZORAN JOVANOVIĆ
Oktobar 2014, Blace
SADRŽAJ
UVOD...............................................................................................................................3I DIZAJN........................................................................................................................8III INFORMACIONI SISTEM......................................................................................9III ŠTA JE XML?...........................................................................................................10
3.1. Pregled XML-a i njegovih osobina...............................................................11IV KRATKA ISTORIJA MARKIRANJA..................................................................14V NAMENA XML-a...........................................................................................15
5.1. Prednosti............................................................................................ 165.2. Nedostaci........................................................................................... 16
VI FUNKCIONALNOST XML-a...................................................................................176.1. Sintaksa..........................................................................................................................18VII DELOVI XML-a.....................................................................................................197.1. Gde se XML koristi i gde se još može koristiti?......................................................20VIII ŠTA JE WORLD WIDE WEB CONSORTUM..................................................22IX KRATAK PREGLED METODOLOGIJE...........................................................23X RAZVOJ SPECIFIKACIJA SOFTVERA KORISCENJEM II*S CASE..........2610.1. Konceptualni dizajn karakteristika IS...................................................................2710.2. Implementacija dizajna IS karakteristika............................................................29XI XML SPECIFIKACIJE KORISNIČKOG INTEFEJSA....................................3011.1 Inicijalne XML specifikacije informacionog sistema.........................................3411.1.1. Inicijalne XML specifikacije aplikacije (IXSA)..............................................3411.1.2.Inicajlne XML specifikacije programa..............................................................3511.2 Dizajn finalnih XML specifikacija.........................................................................37XII GENERISANJE PROTOTIPOVA APLIKACIJA............................................40ZAKLJIČAK.................................................................................................................45LITERATURA..............................................................................................................47
2
UVOD
Ovaj rad prikazuje metodologiju za dizajniranje informacionih sistema baziranih
na XML-u. Metodologija koristiti XML definicije tipa dokumenta (DTD - Document
Type Definition) da definiše standarde dizajna, strukturu i ograničenja specifikacija
dizajna. Rezultat dizajniranja je skup validnih XML dokumenata koji predstavljaju
specifikacije transakcionih programa i aplikacija informacionog sistema. Na početku
dizajniranja, metodologija koristi CASE alat da prikaže zahteve korisnika u inicijalne
XML specifikacije. Krajnje specifikacije dizajniranja su izvedene pomoću niza XSL
(eXtensible Style sheet Language) transformacija početnih XML specifikacija.
Ključna osobina metodologije je ta da ona stvara dizajn nezavisan od platforme
informacionog sistema. Metodologija koristi unapređene XSL transformacije koje
stvaraju izvršni prototip informacionog sistema u Java programskom okruženju, da
omogući povratnu reakciju korisnika.
Dizajniranje šeme baze podataka i odgovarajućih aplikacija baze je važan zadatak
u razvoju informacionih sistema (IS). Kvalitet njihovih specifikacija dizajna ima veliki
uticaj na celokupnu vrednost ravoja i korišćenja performansi informacionih
sistema. Razvoj samostalnih aplikacija znatno povećava vrednost razvoja IS. Odnosno,
svaka aplikacija koja se sastoji od nekoliko transakcionih programa, i razvijenih
transakcionih programa je zadatak za koji je potrebno mnogo vremena, obično od strane
velikog broja dizajnera i programera.
Problemi velike cene razvoja i dugog vremena izrade IS su rešeni, ili bar
umanjeni primenom odgovarajućeg CASE alata. Taj CASE alat je zamišljen tako da
podrži automatsko dizajniranje šema baze podataka, i definisanje i generisanje prototipa
aplikacije. Postoje komercijalni CASE alati koji su dostupni na tržištu i delimično ili
potpuno podržavaju dizajniranje i generisanje aplikacija.
Takođe, na tržištu su na raspolaganju zajedničke metodologije za razvoj softvera
koje su objedinjene upotrebom specifičnih CASE alata. Primeri su Oracle Custom
Development Method (CDM) sa Oracle Project Management Method (PJM), i Rational
3
Unified Process (RUP), koji su bazirani na korišćenju UML-u (Unified Modeling
Language). Ove metodologije definišu brojne apstraktne koncepte, tipove specifikacija, i
procedure koje mogu biti primenjene u razvoju softvera. Struktura i sadržaj ovih
specifikacija su obično dobro definisane, ali postoji potreba za pridržavanjem pojedinih
formata dokumenata, kao što je MS Word DOC format, ili određeni nosilac strukture
CASE alata, koji je zamišljen da se koristi u procesu razvoja softvera. Zbog toga je
mogućnost razmene tako struktuiranih specifikacija između različitih nosilaca, ili
proširenje njihovih definicija, veoma ograničeno.
Sa druge tačke gledišta istog problema je taj da današnji CASE alati veoma često
podržavaju generisanje softverskih rešenja koja potpuno zavise od vremena obrade u
okruženju. Drugim rečima :
- Struktura specifikacija transakcionih programa i aplikacija je tesno povezana sa
nosiocem strukture i generatorom koda, i
- Generator koda je tesno povezan sa određenim run-time okruženjem.
Prema tome, izbor specifičnog run-time okruženja veoma utiče od izbora CASE
alata i obrnuto. Ova međusobna veza može da ima negativne posledice, naročito kada je
primenjen reinženjering IS, ili ako je neophodan prenos na novu softversku platformu.
Ako, na primer, postoji potreba da se prenesu IS aplikacije na novu softversku platformu,
koja je bazirana na potpuno novim IT konceptima, run-time okruženja će se promeniti.
Sa velikom sigurnošću možemo pretpostaviti da trenutni CASE alat neće podržati
novu platformu. Prema tome, mora biti zamenjen sa drugim koji odgovara novoj
platformi. Međutim, promena CASE-a će prouzrokovati kompleksan problem
transformisanja i restruktuiranja IS specifikacija koje moraju biti isporučene od starog
nosioca i uvezene u novi. Dakle, to može da poveća ukupne troškove i vreme razvoja
projekta.
Glavni cilj dokumenta je da prezentuje metodologiju za dizajniranje specifikacija
transakcionih programa i aplikacija IS koje su nezavisne od vremena obrade u okruženju.
4
Da bi postigli taj cilj, moramo:
1. Definisati početne specifikacije transakcionih programa i aplikacija koristeći
CASE alat, na početku metodologije. Ove specifikacije su formalne od kada su
kreirane i koriste notaciju sa preciznom sintaksom i značenjem.
2. Izraziti inicijalne specifikacije kao XML dokumente. Ovi XML dokumenti, koji
se nazivaju XML specifikacije, su važeći u smislu DTD-a koji definišu strukturu
i ograničenja specifikacija softvera.
3. Primeniti redosled XSL transformacija na početne XML specifikacije da bi se
izradile krajnje XML specifikacije.
Korišćenje XML-a da se izraze početne i završne specifikacije čini ih nezavisnim
od oba nosioca izabranog CASE alata i run-time okruženja. Na taj način, rukovodioci
projekta će imati više slobode u donošenju odluka koje se tiču izbora run-time okruženja i
CASE alata.
U dizajniranju specifikacija transakcionih programa, koristimo zajednički model
korisničkog interfejsa (User Interfase - UI), i izražavamo specifikacije validnog XML
dokumenta. Zajednički UI model omogućava izradu softvera sa jedinstvenom logikom i
funkcionalnošću. Dakle, predstavljanje i opisivanje ovog zajedničkog UI modela, je još
jedan cilj ovog rada.
Konačno, takođe koristimo XML specifikacije za automatsko generisanje izvršnih
prototipa transakcionih programa i aplikacija. Krajnji cilj ovog rada je opisivanje procesa
generisanja prototipa koji je baziran na korišćenju XSL transformacija i Java
programskog okruženja.
Uvodimo koncept XML specifikacija IS koje su nezavisne i od CASE alata i od
run - time okruženja, i diskutujemo o ulogama ZML -a i UML - a u realizaciji
standardnih modela informacija u sledećim paragrafima.
Z jezička specifikacija je propisan jezik baziran na ISO Z Standardu (2002).
Uglavnom, može biti korišćen kao standard jezika za formalno određivanje transakcionih
5
programa i aplikacija. Tamo je XML predstavljanje Z jezika nazvano ZML. Prednosi
korišćenja ZML - a su sledeće:
1) Pojedine alate nema potrebe rastaviti direktno na Z. To može biti urađeno sa jednim
alatom, i rezultate mogu koristiti mnogi drugi alati.
2) Postoji mnogo razmatranja i alata za transformaciju XML -a, kao što je XSLT
(eXtensible Style sheet Language Transformation) jezik preko kojeg se lako transformišu
XML fajlovi u druge formate. Međutim, postojanje Z jezika je previše uopštena
specifikacija koja može biti naknadno izmenjena za svrhu dizajna IS na dva načina:
- Može biti proširena specifičnim apstraktnim pojmovima, namenjenim za određivanje
transakcionih programa i aplikacija na više deklarativan način, i
- Dizajn takvih Z baziranih specifikacija može biti podržan od strane vizuelno
orjentisanog alata, u pogledu činjenice da je teško očekivati da projektant IS bude u
mogućnosti da razume i koristi matematički orjentisana sintaksna pravila Z jezika.
U prethodnim godinama, pokušaji da se definišu standardne specifikacije tehnika
prožimaju se kroz UML (Unified Modeling Language) objektno - orjentisanu
specifikaciju jezika, objavljenu od strane Grupe za Objektno Upravljanje (Object
Management Group – OMG). Meta Object Facility (MOF) je takođe OMG standard, koji
se koristi kao univerzalan meta - metamodel da proizvoljno opiše metamodele, kao što je
sam UML. Da bi podržali razmenu konkretnog modela (tj. specifikaciju softvera) između
različitih nosilaca koji podržavaju UML i MOF, predstavljen je XML Metadata
Interchange (XMI) jezik. XMI je XML reprezentacija MOF - a. UML model može biti
transformisan u XML dokument koji potvrđuje XMI. U XMI - u se smatra " kao model
koji najviše obećava razmenu formata rešenja. To izvršava većinu zahteva koje poseduje
dobar model za razmenu." Ovo dozvoljava da se koristi XMI da zameni UML modele
kod UML CASE alata ili skladišta od razlličitih prodavača. Na ovaj način, izbor CASE
alata možda neće biti podjednako srodan sa izborom run - time okruženja.
Svrha Model Driven Architecture (MDA), objavljena od strane OMG - a je
automatska generacija programskog koda iz određenih UML modela. "Iako formalni 6
UML modeli, izričito koriste izvršni UML, često mogu biti pokazani kao MDA - ova
platforma - nezavisnih modela, glavna prepreka ovog pristupa je ta da su ovi modeli
previše opširni, zbog toga što je izvršni UML čuvan kolikogod je moguće tako da se
može koristiti za širok spektar različitih domena"1. Osim toga, autori izjavljuju da "
nazalost, standard UML metamodela je neadekvatan za izražavanje postojanosti između
dizajna modela i odgovarajućeg programskog koda. Ovo se dešava najčešće zbog toga što
UML metamodel sadrži potpun skup metoda kao što je specifična implementacija"2.
Otvoreno pitanje je kako dizajnirati i odrediti zajednički UI model, koji će biti
pogodan za primenu u svim softverskim aplikacijama IS. Jedna od željenih osobina
takvog zajedničkog modela je nezavisnost. Nezavisnost ovde označava činjenicu da UI
model može biti nezavisan od:
- Bilo kog run - time okruženja, i
- Bilo kojih formalizama, notacija ili struktuiranih pravila koja se koriste u dizajnu IS
specifikacija.
Na ovaj način, u slučaju prebacivanja podataka trenutnih IS aplikacija na novu
softversku platformu, nezavisan UI model će ostati nepromenjen.
Markerski (označavajući ) jezici mogu takođe biti korišćeni za kreiranje UI.
Postoje dve prednosti, a to su deklatarivnost i proširivost. Proširivost označava činjenicu
da omogućavaju mehanizme da uvedu nove apstraktne koncepte na meta nivou. Prema
tome, mogu biti pogodni za dizajniranje zajedničkih UI modela, tj. da omoguće
apstraktne koncepte koji će napraviti nezavisne modele. Sposobnost da se omogući run -
time nezavisnost je bio razlog zašto je izabran XML da opiše zajednički UI.3
1
2
3 S. Allen, S.F. Gilani, J. H. Pedersen, R. Raghunathan, J. Reid, Od početka… C# baze podataka, 20037
I DIZAJN4
Dizajn je proces donošenja serije odluka koje imaju za cilj konstruisanje,
oblikovanje ili kreiranje nečega. Dizajn se obično odvija po unapred određenom planu,
ideji ili zamisli. Svrha dizajna je realizacija plana ili ideje koji mogu biti uzrokovani
potrebom da se reši određen problem. Zbog toga se proces dizajna često definiše i kao
proces rešavanja problema.
Kada se govori o dizajnu nekog proizvoda, predmeta ili objekta, obično se pod
dizajnom smatra aranžman ili konfiguracija pojedinačnih komponenti koji čine celinu
proizvoda, predmeta ili objekta.
Danas dizajn ne predstavlja specifičnu profesiju niti disciplinu jer je pojam preširok.
Postoje mnogobrojne discipline dizajna. Neke od njih su:
industrijski dizajn
interijer dizajn
grafički dizajn
modni dizajn
type dizajn
Razvojem tehnologije i shodno potrebama društva, nameću se nove oblasti dizajna
koje su tek u začetku razvoja kao što su:
web dizajn
interaktivni dizajn
informacioni dizajn .
4 Tekst je preuzet sa sajta http://sr.wikipedia.org/sr/Дизајн8
1.1. Dizajn informacionog sistema5
Dizajn informacionog sistema podrazumijeva logički i fizički dizajn. Prvi aspekt
podrazumeva način na koji se različite komponente informacionog sistema struktuiraju
u jednu logičku celinu. Detaljna specifikacija komponenata sistema odnosi se na
dizajn: outputa, inputa, procesa, baze podataka, procedura, sistema kontrole i zaštite.
Drugi aspekt je fizičko projektovanje kojim se određuju sve važne karakteristike
svakog od važnih parametara sistema: hardvera, softvera, jedne ili više baza podataka,
prenosa (komunikacije podataka), personala i procedura.
II INFORMACIONI SISTEM
Informacioni sistem (IS) je sistem u kome su elementi sistema povezani
informacijama, tj veze između elemenata sistema i veze sistema sa okruženjem ostvaruju
se razmenom informacija.
Brz razvoj informacionih tehnologija apsolutno je obeležio način funkcionisanja
svih tehničkih i društvenih sistema danas. Ozbiljni društveni a pre svega poslovni sistemi
ne mogu se zamisliti bez informacionih sistema koji omogućavaju brzu razmenu
informacija unutar sistema i sistema sa okolinom. Prednosti korišćenja informacionih
sistema su mnogostruke i ogledaju se pre svega u povećanju efikasnosti sistema i uštedi
ljudskih i materijalnih resursa.
Osnovu informacionog sistema čini baza podataka, jer ona predstavlja
fundamentalne, stabilne, sporo izmenljive karakteristike sistema, objekte u sistemu i
njihove međusobne veze. Zato se projekat IS mora bazirati na bazi podataka. Ako je baza
podataka dobar model stanja realnog sistema, ako programi za održavanje dobro
modeliraju dejstvo ulaza na stanje relanog sistema, onda će se bilo koja informacija
potrebna za upravljanje (izlazi), čak i one unapred ne predviđene, moći dobiti iz IS. Time
se dobrim delom zaobilazi ključni problem u konvencionalnom pristupu razvoju IS, 5 Tekst je preuzet sa http://www.javniregistar.net/vlada/odjeljenja/10/is.htm
9
specifikacija zahteva za informacijama, postupak projektovanja se ne bazira na tim
stalno promenljivim zahtevima, već na modeliranju fundamentalnih, stabilnih
karakteristika sistema.
Ako je informacioni sistem model relanog sistema u kome deluje, onda se
postupak projektovanja IS svodi na neku vrstu modeliranja relanog sistema, a za to su
nam neophodna neka intelektualna sredstva (alati) i to:
Model podataka kao intelektualno sredstvo za prikazivanje objekata sistema,
njihovih atributa i njihovih međusobnih veza (statičkih karakteristika sistema)
preko logičke strukture baze podataka.
Model procesa kao intelektualno sredstvo za opisivanje dinamike sistema, dejstva
ulaza na stanje sistema i izlazne transformacije, preko programa nad definisanim
modelom podataka.6
III Šta je XML?
Proširivi markerski jezik (Extensible Markup Language, XML) je najnoviji jezik za
komunikaciju na Internetu, koji u isto vreme predstavlja i visokosposobnu tehnologiju koja se
svakim danom sve više razvija i koja se koristi prevashodno za upravljanje, prikazivanje i
organizovanje podataka. Zajedno sa posebnim jezikom za prikazivanje (XSL-om) i objektnim
modelom dokumenta (DOM-om), on predstavlja nezamenljivu tehnologiju za svakoga ko
koristi markerske jezike za rad na mreži ili za interne potrebe.
XML je na prvom mestu tehnologija. Nakon toga dolazi definicija da je XML jezik
mada je XML manje jezik a više konvencija za kodiranje. XML je i skup srodnih
tehnologija i sam za sebe ne predstavlja nešto posebno već tek sa srodnim tehnologijama
daje pune rezultate. Srodne tehnologije su:
• DTD
6 M.Govedarica, I. Luković, P. Mogin, Generating XML Based Specifications of Information Systems,
ComSIS Vol. 1, No. 1, February 2004. str.32
10
• CSS
• XLS
• DOM
• ADO
• XLink
• XFragments
• XPointer
• ... itd.
U nekim od pomenutih tehnologija XML se ponaša kao klijent dok je za neke server a
može biti i jedno i drugo istovremeno.
Jedan od najvećih problema kada je u pitanju transfer informacija je njihov sadržaj u
logičkom smislu te reči. XML služi kao konterner za transfer jer u sebi pored informacije
ima i njenu poziciju u odnosu na ostale informacije – XML pored informacije opisuje i
strukturu.
3.1. Pregled XML-a i njegove osobine
XML je u svojoj osnovi informacija o informaciji. Više nije dovoljno imati samo
informaciju jer to u današnjim uslovima znači tražiti i pronaći istu već je potreban način
da opišemo informaciju a da taj opis informacije upotrebimo dalje za pronalaženje iste i
za njenu dalju obradu. Zamislite sledeću situaciju: potreban vam je tačan kurs DEM u
odnosu na USD. Možete otići na neki sajt i tamo pronaći tu informaciju ali to zahteva da
neka osoba to i uradi. Možda biste mogli i da napišete neki parser koji će sadržaj tog sajta
rasčlaniti i pronaći potrebnu informaciju ali zamislite šta vam je sve potrebno da znate da
napišete takav parser. Morate znati gde je i kako je ta informacija smeštena. Prilično
komplikovano a rezultati su i dalje diskutabilni.
Međutim kada biste imali informaciju koja opisuje informaciju stvari bi bile
mnogo lakše. Lako biste mogli da dođete do potrebne informacije – to bi mašina mogla
da uradi umesto vas a kad neko stalno nudi takve informacije kojima biste mogli da
pristupite lako onda je pojam web servisa lako razumljiv. Ideja se dalje razvija i dobijamo
11
internet kao mrežnu infrastrukturu tako da na kraju krajeva internet ili barem jedan
njegov segment će biti uskoro čisto poslovna mreža kojom će se razmenjivati samo
informacije u sirovom obliku. Uslov te razmene je da informacije na neki način budu
obeležene da bi se mogle identifikovati i koristiti a upravo to je ono što XML nudi.
XML je u osnovi tekst. Doduše nije formatiran tako da lepo izgleda a može biti i
komplikovan tako da ga to potencijalno diskvalifikuje za čitanje od strane ljudi. Kao
ilustarcija XML, ovako izgleda ADO rekordset (SELECT * FROM Customers) u XML-u
parsiran u Internet Exploreru:
Slika 1. ADO rekordset u XML-u
Za dalju diskusiju su nam potrebni primeri pa razmotrimo sledeći: <?xml version="1.0" ?>
12
<note>
<to>Pera</to>
<from>Mika</from>
<subject>pozdrav</subject>
<body>Puno pozdrava iz Beograda</body>
</note>
Ovako bi mogao da izgleda jedan običan i jednostavan XML fajl kada ga
posmatramo iz Notepada. Odmah je uočljivo da postoje neki tagovi (oznake) koje
uokviruju neki tekst. Upravo te oznake su ono što XML čini XML-om. One opisuju
sadržaj odnosno informaciju. Međutim postoji još nešto što ovaj primer možda ne
oslikava jasno – XML može da opiše svojom strukturom i strukturu informacija odnosno
njihov odnos u smislu hijerarhije. Dve veoma bitne stvari. Informacija o informaciji i
informacija o strukturi u jednom dokumentu je prilično lucidna stvar. To nam dopušta da
kada već imamo relacione baze podataka da sadržaj istih interpretiramo na način da to
bude lako upotrebljivo, brzo dostupno i, možda najbitnije, razmenljivo između aplikacija.
13
Slika 2. parsirani(sintaksna analiza) prethodni primer
IV KRATKA ISTORIJA MARKIRANJA
Šezdesetih godina XX veka, zbog problema sa velikom količinom različite
tehničke dokumentacije, u IBM-u se javlja ideja za stvaranjem prvog šire korišćenog
jezika za označavanje podataka. Tako nastaje GML (Generalized Markup Language),
koji su izumeli Čarls Goldfarb, Ed Mošer i Rej Lori (Charles Goldfarb, Ed Mosher, Ray
Lorie).
SGML (Standard Generalized Markup Language) je jezik baziran na tekstu, koji se
može koristiti za markiranje podataka - tačnije metapodataka, na način koji sam sebe
opisuje. Najpoznatija aplikacija SGML-a je hipertekstualni markerski jezik ili HTML
(HyperText Markup Language).
SGML je do te mere komplikovan jezik, da jednostavno nije prikladan za
razmenu podataka na mreži. Osim toga, iako se HTML pokazao kao vrlo uspešan,
njegove mogućnosti su ograničene: on služi samo za prikazivanje dokumenata na
pretraživaču. To znači da stvaranjem nekog HTML dokumenta koji prikazuje fiksne
informacije o nekoj osobi, ne možete postići ništa više od toga. Iz tog dokumenta se,
na primer, ne može saznati koji deo te informacije predstavlja ime, a koji prezime te
osobe (ako to samo po sebi nije jasno), jer HTML nema sredstva pomoću kojih bi
mogao da prikazuje takve specijalizovane informacije.
Proširivi markerski jezik ili XML (Extensible Markup Language) napravljen je
upravo sa ciljem da se prevazidu ovakvi problemi SGML-a i HTML-a.
XML predstavlja ciljno formirani podskup SGML-a (zadatak mu je markiranje svih
mogućih tipova podataka), čija je komplikovanost svedena na nužni minimum. XML
je napravljen tako da je potpuno kompatibilan sa SGML-om, što znači da svaki
dokument, napravljen korišćenjem XML-ove sintakse, po definiciji podleže i
pravilima SGML-ove sintakse i da mogu da ga čitaju postojeći SGML-ovi alati.
14
Međutim, ne mora svaki SGML-ov dokument obavezno da ima i status XML
dokumenta.
Iako se zvanično naziva jezikom, važno je uočiti da XML ustvari uopšte nije
„jezik", već standard za pravljenje jezika koji odgovaraju XML-ovim kriterijumima.
Drugim recima, XML opisuje sintaksu koju koristite da biste pravili sopstvene
programske jezike.
Pošto nad radom u XML-u imate potpunu kontrolu, podatke možete oblikovati onako
kako vi to želite, tj. tako da se uklope u kontekst konkretne aplikacije.
Odavde i potiče izraz proširivi u nazivu proširivi markerski jezik: svakome je data sloboda da,
koristeći ovaj jezik, po sopstvenoj želji markira podatke, bez obzira na to kako to rade drugi.
V NAMENA XML-a
Kao što je to već pomenuto XML je komplement HTML-u a ne njegova bolja
verzija. Zapravo XML samo liči na HTML jer koristi tagove kao i HTML ali je to
posledica toga što je i on jezik za obeležavanje. HTML je namenjen da prikazuje
dokument ali on nema jasnu granicu između sadržaja i forme. Sa XML-om je situacija
potpuno drugačija. Forma je izdvojena u poseban fajl (na primer .css – cascading style
sheets ako baš želite da formatirate fajl mada to nije prvenstvena ideja upotrebe XML-a)
a sadržaj je u posebnom fajlu i on je suština XML-a.
Koristi se da pruži podatke i njihov opis a sam prikaz često i ne postoji.
Jednostavno, XML služi kao format - spona između dve aplikacije koja od jedne prihvata
podatke i pruža je drugoj aplikaciji. U ovoj varijanti, prednost mu je što može koristiti
HTTP protokol. Međutim teško je dati odgovor tip: "XML se koristi za to i to... " jer su
mogućnosti primene praktično neograničene. Bolje je upoznati osobine XML-a i koristiti
ga tamo gde je to prikladno nego se ograničavati nekim stvarima koje su više ilustracija
primene nego pravilo.
15
5.1. Prednosti
XML je jednostavno čitljiv i čoveku i računaru. Pošto je XML dokument obično
tekstualna datoteka, čitljiva je na svakoj platformi koja može čitati tekstualne podatke.
Tako postaje neosetljiv na tehnološke promene – bez obzira na napredak tehnologije,
tekstualne podatke će još dugo svaki računar moći da pročita. etikete XML podržava
Unikod i omogućava prikaz teksta na svim poznatim jezicima.
Takođe, ovaj format je samodokumentujući: etikete opisuju sadržaj koji se nalazi unutar
njih. Ispravnost nastalog XML dokumenta vrlo je jednostavno kontrolisati, jer XML ima
stroga sintaksička pravila. Računarski programi za obradu dokumenata mogu jednostavno
da obrađuju XML sadržaj.
XML je međunarodno prihvaćen standard. Prihvatili su ga mnogi proizvođači
programa i koriste ga u svojim proizvodima. Kompatibilan je sa SGML-om, koji se
koristi od 1986. godine, a SGML može obrađivati veliki broj računarskih programa.
XML može da predstavlja najuopšteniju strukturu kompjuterske nauke: snimke, liste i
stabla, a njegova hijerarhijska struktura je prikladna za većinu (ali ne i za sve) tipove
dokumenata. Može se reći da je za XML najvažnije to što predstavlja jezik za
metaoznačavanje, što podrazumeva da on nema fiksan skup oznaka i elemenata. U imenu
XML-a slovo X potiče od reči Extensible (proširiv). To znači da se jezik može
prilagođavati i proširivati kako bi zadovoljio različite potrebe korisnika.
5.2. Nedostaci
Jedan od osnovnih nedostataka XML-a je redundantna i opširna sintaksa. Ona
može zbunjivati čoveka, a računarski program koji obrađuje dokument može delimično
usporiti. Ovi računarski programi su veoma složeni jer moraju da obrađuju velike
količine ugnežđenih podataka na više nivoa. Treba imati u vidu da je XMLsamo jezik za
označavanje, a ne programski jezik. XML dokument samo postoji, ne radeći ništa. Kao ni
16
HTML, ni XML ne šalje podatke preko mreže. Poslani podaci mogu biti kodirani u
XML-u, ali izvan XML dokumenta mora postojati neki protokol (HTTP, FTP, NFS i
slično) koji će poslati dokument. To znači da XML nije protokol za mrežni prenos.
Iako XML veoma dobro služi kao prenosni format, koji je nezavisan od platforme, on
nije baza podataka. Sama baza podataka, iako može sadržati XML podatke, nije XML
dokument. Da bi korisnik preuzeo XML dokument iz baze podataka, mora upotrebiti neki
posrednički program (eng. middleware product), kao što je Enhydra.7
VI FUNKCIONALNOST XML-a
Za funkcionalnost koji pruža XML potreban je parser. U Internet Exploreru 5.0 i
nadalje postoji ugrađen parser a za parsiranje iz npr. Visual Basica potrebno je postaviti
referencu na XML parser. Parsiranje, kada je XML u pitanju znači sledeće –
rasčlanjivanje tekstualnog fajla i pravljenje strukture koja se rekurzivno puni elementima
XML stabla.
To znači da parser izvodi sledeće operacije:
1. Isčitava preprocesorski deo dokumenta (deo na početku dokumenta između ?
znakova) da bi došao od informacija koje se odnose na dokument a nisu deo
samog XML stabla. Na primer: <?xml version="1.0" encoding="windows-1252"?>
2. Zatim se isčitava prvi tag u XML strukturi i zapisuje njegovo ime – ovo je top level
ili startni tag.
3. Zatim se zapisuje ime elementa.
4. Zatim se isčitavaju ostali elementi redom da bi se odredilo koja svojstva ima dati
element strukture i zatim se ta svojstva upisuju - ako je u pitanju element upisuje
se njegova vrednost ili u formi uređenih parova atribut = vrednost ako je u
pitanju atribut.
7 K. Watson, M. Bellinaso, O. Cornes, D. Espinosa, Z. Greenvoss, C. Nagel, J. H. Pedersen, Jon
D. Reid, M. Skinner, E. White, Od početka… C#, CET, 2002.
17
5. Ako sledeći tag nakon prvog nađenog nije oznaka za zatvaranje isčitava se sledeći
tag i on se definiše kao dete trenutnog elementa. Onda se parser vraća na korak 3.
Ako je nađeni tag oznaka za zatvaranje onda je element definisan.
6. Ovaj proces se ponavlja dok se ne obradi čitav dokument.
XML je projektovan za distribuirano okruzenje i veoma pogodan kao format za razmenu
podataka između heterogenih aplikacija na Web-u .XML kao format je dovoljno
formalan za masinsko procesiranje i dovoljno razumljiv za korisnike.
Slika 3.
6.1. Sintaksa
U XML dokumentima podaci su smešteni u obliku znakovnih nizova (eng.
strings), koji se nalaze između tekstualnih etiketa koje ih opisuju. U XML-u se osnovne
jedinice etiketa i podataka nazivaju elementi.
18
Slika 4.
Korisnik se pri pisanju etiketa mora pridržavati precizno definisane sintakse.
Strukturu XML dokumenta opisuju njegove etikete, pomoću kojih se može videti koji su
elementi pridruženi drugim elementima. Ako je XML dokument dobro projektovan,
etikete opisuju i njegovu semantiku (npr. etikete ukazuju da li je element naslov, ime
osobe, datum i sl.). Ali, etikete u dobro projektovanim XML aplikacijama ne govore ništa
o načinu prikazivanja dokumenta (npr. da li je element ispisan polucrno ili kurzivom i sl.)
jer XML jezik ne označava način prikazivanja, već strukturu i semantiku.
Bazična sintaksa za jedan dokument u XML-u je:
<osoba>Petar Petrovic</osoba>
VII DELOVI XML-a
Postoji veliki broj međusobno povezanih internih specifikacija (neke od njih su još u
fazi razvoja) koje, funkcionišući zajedno, čine familiju XML-ovih tehnologija, pri čemu se
svaka od njih odnosi na jedan određeni aspekt komunikacionih informacija. Ovo su neke od
najvažnijih:
19
1) XML 1.0 je osnovna specifikacija na koju se oslanja familija XML-ovih tehnologija.
Ona definiše sintaksu koja se mora koristiti u XML dokumentima, pravila koja moraju
da poštuju XML-ovi parseri, kao i sve ostalo što je potrebno da znate da biste čitali i
pisali XML dokumente. (Ona takode definiše i DTD-ove, iako se oni ponekad tretiraju
kao zasebna tehnologija).
2) Budući da sami pravite strukturu i elemente svojih XML dokumenata, DTD-ovi i
šeme vam mogu biti od velike koristi. Naime, oni vam omogućavaju pravljenje
šablona za vaše tipove dokumenata.
3) Prostori imena obezbeduju sredstva kojima se može napraviti razlika između
različitih XML-ovih rečnika, čime se omogućava pravljenje bogatijih dokumenata
kombinovanjem više rečnika u okviru jednog tipa dokumenta.
4) XPath opisuje jezik upita za adresiranje delova nekog XML dokumenta. Ovo
omogućava aplikacijama da precizno pronađu određene delove XML dokumenta i da
na taj način izbegnu obrađivanje velike količine informacija koju celokupni dokument
sadrži.
5) Za definisanje prikaza dokumenata u jednostavnijim slučajevima možete
koristi kaskadne liste stilova (CSS). Kada je u pitanju složeniji prikaz, možete
upotrebljavati proširivi jezik lista stilova (XSL), koji se sastoji od XSLT-a, koji može
transformisati dokumente iz jednog tipa u drugi i objekata formatiranja, koji se koriste
za definisanje samog prikaza.
6) XLink i XPointer su jezici koji se koriste za povezivanje više XML dokumenata, slično
HTML-ovim hipervezama.
7) Da bi se obezbedila veza između nekih tradicionalnih aplikacija i XML dokumenata
koristi se objektni model dokumenta - DOM. Alternativa DOM-u, koju programeri mogu
20
upotrebiti da bi se iz svog koda povezali sa XML dokumentima je Simple API for XML
(SAX). 8
7.1. Gde se XML koristi i gde se još može koristiti?
Uvek kada je potrebno uspostaviti komunikaciju između raznih računarskih programa,
XML predstavlja dobar izbor formata za razmenu. U nastavku je prikazano samo nekoliko
primera:
- Smanjenje opterećenosti servera
Mrežno orjentisane aplikacije mogu koristiti XML u cilju smanjenja opterećenosti mrežnih
servera. To se može postići tako što će se sve informacije čuvati na računana klijentu što je
moguće duže, a zatim će biti poslate ostalim klijentima u okviru jednog velikog XML
dokumenta.
- Sadržaj Web lokacija
Svoje specifikacije W3C piše pomoću XML-a. Ti XML dokumenti se zatim mogu, u cilju
prikazivanja, pretvoriti (korišćenjem XSLT-a) u HTML ili u neki drugi format za
prezentaciju.
Na nekim Web lokacijama se celokupan sadržaj (koji se obično prikazuje u HTML-u)
obraduje isključivo u XML-u. Taj XML se zatim pomoću XSLT-a pretvara u HTML, ili se
prikazuje direktno na pretraživačima korišćenjem kaskadnih lista stilova. Neki mrežni serveri
mogu čak u hodu da odrede koji tip pretraživača će se koristiti za prikazivanje informacija, pa
se shodno tome opredeljuju za jednu od ovih opcija.
- Daljinsko pozivanje procedura
XML se koristi i kao protokol za daljinsko pozivanje procedura (Remote Procedure Calls,
RPC). RPC je protokol koji omogućava objektima sa jednog računara da, u cilju obavljanja
određenih aktivnosti, pozivaju objekte sa nekog drugog računara, vršeći na taj način
raspodeljenu obradu.
8 op cit. M.Govedarica, I. Luković, P. Mogin, str.7621
- Elektronska trgovina
Elektronska trgovina je pojam sa kojim se danas često možete susresti. Kompanije
svakodnevno otkrivaju da komuniciranjem preko Interneta, umesto na tradicionalne načine
(korišćenjem faksova, ličnim kontaktom i si.), mogu dosta ubrzati poslovne procese, smanjiti
troškove i povećati raspoloživo vreme za odgovore. Kompanija koja namerava da pošalje te
podatke drugoj kompaniji treba da uzme u obzir XML, jer on predstavlja dobar izbor formata
i za takvu razmenu.
Kada između dve kompanije postoji neki takav vid saradnje, on se naziva poslovnom
(B2B) elektronskom trgovinom. Može se govoriti i o transakcijama tipa firma-kupac (engl.
business to customer, B2C), u kojima ste možda i sami učestvovali kupujući, na primer,
knjige preko Interneta. I u ovim slučajevima postoje mogućnosti za primenu XML-a.
VIII ŠTA JE WORLD WIDE WEB CONSORTIUM?
Jedan od razloga tolike uspešnosti XML-a jeste činjenica da oni ustvari predstavljaju
standarde. To znači da svako, ko se pridržava tih standarda, ima mogućnost da pravi rešenja
koja mogu funkcionisati usaglašeno.
World Wide Web Consortium (W3C), koji je osnovan 1994. godine i prema navodu
na njegovoj adresi, http://www.w3.org, ima za cilj da „World Wide Web vodi u smeru punog
iskorišćenja njegovih mogućnosti razvojem opštih protokola koji promovišu stalno širenje
ove mreže i obezbeduju njenu meduoperativnost". Shvatajući potrebu za standardizacijom,
W3C izdaje preporuke koje definišu osnovne gradivne komponente ove mreže. Koristi se
termin preporuke, a ne standardi, zato što se odluka o njihovom poštovanju u cilju
postizanja međuoperativnosti prepušta korisnicima.
Zbog XML-ovih ciljeva vezanih za meduoperativnost, W3C je institucija koja je
pogodna i za razvoj standarda za tehnologije koje se koriste uz XML.
22
IX KRATAK PREGLED METODOLOGIJA
Međunarodni standardi u softverskom inženjerstvu, kao što su ISO 9001 sa ISO
9000 - 3 predlozima, i delimično ISO 12207 predlažu zajedničku softversku razvojnu
metodologiju, ali oni ne određuju zajedničku strukturu specifikacija dizajna za softverske
proizvode, u potpunosti. Zato, razvojna metodologija pojedinačnog projekta može biti
definisana u fazi planiranja projekta. Takođe, struktura i sadržaj dizajna specifikacija
mora biti ustanovljena privremenim standardima softverskog razvojnog projekta, kao deo
predložene metodologije.
Metodologija koja je predložena u ovom radu je bazirana na kombinaciji životnog
ciklusa i prototipskog pristupa. U ovm delu, diskutujemo o najvažnijim aktivnostima
metodologije i stavljamo ih u okvir metodologije životnog ciklusa. Kao najvažnije
aktivnosti, Slika 1. opisuje: razvijanje specifikacija aplikacija i transakcionih progama, i
generisanje prototipa aplikacija.
U nastavku, smatra se da sledeće aktivnosti mogu zauzeti mesto u fazi planiranja
projekta:
- Definisanjem zajedničkog UI modela koji specificira strukturu prezentacionih formi i
funkcionalnu logiku,
- Definisanjem strukture specifikacija transakcionih programa i aplikacija,
- Definisanjem dizajna procesa programa i specifikacije aplikacija i omogućavanjem
odgovarajućih softverskih alata, i
- Odezbeđivanjem alata za automatsko generisanje prototipa aplikacija.
23
Smatra se da se dizajn IS može odvijati u dve paralelne grupe aktivnosti: 1) dizajn
baze podataka i 2) dizajn transakcionih programa i aplikacija. Prema metodologiji
životnog ciklusa, ove aktivnosti se izvršavaju u fazi analize i dizajna .
Prema pristupu autora [1], konceptualni dizajn IS je izveden u fazi analize. Glavni
cilj ove faze je da transformiše korisničke zahteve u formalne specifikacije IS koje su
nezavisne od bilo koje DBMS ili programske paradigme. Prema tome konceptualni dizajn
označava: šemu baze podataka, transakcioni program, i rezultate aplikacija u
odgovarajuće formalne specifikacije, videti Sliku 1. Predlaže se da dizajn ovih
specifikacija mora biti izveden korišćenjem odgovarajućeg CASE alata. U ovom slučaju,
dizajnirane specifikacije su sačuvane u CASE skladištu. Zato, strukture gore pomenutih
specifikacija i svaka dizajnirana specifikacija potvrđuje ovo.
Implementacija dizajna IS je izvršenu u fazi dizajna. Glavni cilj ove faze je da
transformiše formalne specifikacije u ekvivalentne specifikacije implementacije. Ove
specifikacije su nezavisne od bilo kog DBMS i run - time okruženja. Predlažemo
automatsko transformisanje konceptualnih specifikacija u odgovarajuću implementaciju
specifikacija, videti Sliku 1.
Na taj način, aplikaciona specifikacija je transformisana u Initial XML
Specification of an Application (IXSA). XML DTD koji je nazvan MenuDTD definiše
svoju strukturu. Programska specifikacija je transformisana u Initial XML Specification of
a Program (IXSP). UIML DTD i XML DTD je nazvan SubschemaDTD i definiše svoju
strukturu. Inicijalne XML specifikacije su kombinovane sa XML Based UI Model
(XBUM) i transformisane u Final SML Specification of an Application (FXSA) (videti
Sliku 1.). XBUM je UIML dokument. Predstavlja zajednički UI model IS, koji je
nezavisan od bilo kog run - time okruženja.
24
Slika 3. Pregled procesa razvoja IS specifikacija i prototipa aplikacija.
Prema tome, metodologija životnog ciklusa, programskih aplikacija i
transakcionih programa je izvedena u fazi konstrukcije . Autori [1] predlažu
programiranje uz pomoć automatske transformacije finalnih XML specifikacija u izvršne
prototipe aplikacija. Prototipi su takođe određeni značenjem XML - a, ali oni su zavisni
od platforme, videti Sliku 1. Ovi prototipi mogu biti interpretirani prevođenjem na Java -
u. UIML dokument koji nazivamo Mapping Rules for XML based UI Model (MRXM)
definiše kako će komponente FXSA biti predstavljene u Java specifične run - time
komponente.
25
X RAZVOJ SRECIGIKACIJA SOFTVERA KORIŠĆENJEM
IIS*CASE
Korišćenje CASE alata u razvoju IS je danas uobičajena navika. Takođe autori [1]
smatraju da je korišćenje CASE alata u primeni njihove metodologije korisno u sledećim
situacijama. Prvo, stavlja se naglasak da su XML specifikacije dizajna obično sasvim
dugačke, čak i mnogo duže od odgovarajućeg koda, napisanog u posebnom programskom
jeziku. Prema tome, teško je očekivati da čak i dobro uvežbani i iskusni projektanti budu
u mogućnosti da ne naprave XML specifikacije bez grešaka u kratkom vremenskom
periodu. Druga mogućnost, predstavlja da će projektanti koristiti zajednički alat (kao što
je XML Spy) za projektovanje i proveru XML dokumenata. Neki alati im mogu pomoći
samo u stvaranju formalno validnih XML specifikacija, pošto ne postoji namera da im
pomogne u konceptualnom projektovanju i semantičkoj analizi specifikacija dizajna.
Dakle, postoji mala garancija da će takve XML specifikacije biti semantički ispravne.
U metodologiji aplikacija, odlučeno je da se koristi CASE alat koji se zove
IIS*CASE . To je laboratorijski softverski proizvod iz skupa integrisanih CASE alata.
IIS*CASE je usmeren prema:
- Konceptualnom dizajnu šeme baze podataka, transakcionim programima i aplikacijama,
- Automatskom generisanju relacionih šema baza podataka, zadovoljavajući treću
normalnu formu (3NF) u najmanjoj meri, i
- Automatskom generisanju prototipa aplikacija.
IIS*CASE radi kao klijentska aplikacija preko svog skladišta na strani servera. Skladište
mora biti implementirano kao relaciona baza.
26
10.1. Konceptualni dizajn karakteristika IIS
Jedan od glavnih motiva u razvoju IIS*Case je taj da treba savladati složenost
prepoznavanja, oblikovanja i određivanja ograničenja baze podataka u dizajnu baze
podataka. Da bi se postigao taj cilj uvodi se tip forme kao jedini koncept na
konceptualnom nivou. Prema tome konceptualni dizajn IS je baziran na konceptu tipa
forme. Tip forme je uopštavanje ekranizovanja ili štampanih formi, koja se koristi da
odredi UI. Ove korisničke forme su najčešće izvedene forme odgovarajućih poslovnih
dokumenata, koje nose informaciju o atributima i ograničenju u realnom sistemu.
Tip forme je izdvajanje veoma slično konceptu objektnih klasa u objektno -
orijentisanom pristupu. Ovo omogućava formalizam za izražavanje:
- Strukture nad skupom atributa transakcionih programa,
- Stanja karakteristika transakcionih programa,
- Ograničenja podataka različitih tipova, i
- Prezentacije podataka u izgledu forme.
IIS*Case podržava kreiranje:
1) Skupa tipova formi, i
2) Brojnih hijerarhijskih struktura nad skupom tipova formi.
Na ovaj način, dizajniramo specifikacije baze podataka, transakcionih programa i
aplikacija, na konceptualnom nivou.
Svaki tip forme predstavlja formalnu specifikaciju programa na konceptualnom
nivou. Struktura nad skupom atributa i ograničenja podataka predstavlja izgled baze
podataka. Forma koja prezentuje podatke predstavlja izgled na ekranu ili štampanu formu
transakcionog programa. Karakterisike ponašanja definišu operacije, tj. procesnu logiku
podataka koju transakcioni program može da izvršava nad bazom podataka. One mogu da
27
uključuju prethodno definisane (standardne) operacije baze podataka: pretraživanje,
ubacivanje, brisanje i ažuriranje, i nestandardne (specifične) operacije. Standardne
operacije su određene deklarativno.
Struktura nad skupom atributa, ograničenja podataka i karakteristika ponašanja
tipa forme predstavljaju spoljnu šemu. Skup svih spoljnih šema, kreiranih od strane
IIS*Case, predstavlja formalnu specifikaciju šeme baze podataka na konceptualnom
nivou.
Svaka hijerarhijska struktura nad skupom tipova forme predstavlja formalnu
specifikaciju aplikacije. Ona opisuje sadržaj sistema koji omogućava pozive
odgovarajućih transakcionih programa. Trebalo bi da uključuje sledeće:
- Specifikaciju sadržaja strukture sa stavkama menija, i
- Specifikaciju stanja i vizuelnih svojstava svake stavke menija.
Ponašanje svojstava stavke menija određuje spajanje stavke sa transakcionim
programom, koje se predstavlja preko tipa forme, ili sa drugim menijem. Očigledno
svojstvo stavke menija definiše pojavu stavke u UI.
Na početku procesa projektovanja, koristi se IIS*Case da bi se napravio nacrt korisničkih
zahteva koji ima sledeće konceptualne karakteristike:
- Konceptualna šema karakteristika baze podataka, koja se definiše kao skup svih
spoljnih šema,
- Konceptualne programske karakteristike, gde je svaka definisana tipom forme, i
- Karakteristike aplikacije, gde je svaka definisana preko hijerarhijske strukture nad
unijom skupa tipova formi i skupom menija.
28
10.2. Implementacija dizajna IS karakteristika
U procesu implementacije dizajna baze podataka, IIS*Case transformiše svaku
spoljnu šemu u podšemu. Podšema eksplicitno koristi koncepte relacionog modela
podataka. Orjentaciono govoreći, podšema sadrži skup relacionih šema, skup međusobnih
ograničenja, i prethodno definisano stanje. Svaka šema relacije podšeme je razmatrana
definicija nad relacionom šemom baze. Skup međusobnih ograničenja podšeme mora biti
tačnija ili jednaka projekciji međusaobnih ograničenja baze podataka nad skupom
podšema relacionih šema. Prethodno definisano stanje deklatarivno određuje skup
osnovnih operacija nad bazom podataka (kao sto je izdvajanje, unos, ažuriranje i brisanje)
koje se može izvršavati uz pomoć transakcionih programa koristeći podšemu.
Relaciona šema baze podataka IS je napravljena integracijom podšema.
IIS*Case podrška generiše:
- Implementaciju specifikacije šeme baze podataka, i
- Skup podšema specifikacija.
Podsetimo se da opis konceptualnog programa sadrži spoljnu šemu opisa i
specifikacija prezentacije podataka forme. Ogovarajući implementacioni program
specifikacije sadrži podšemu specifikacije i konceptualne specifikacije prezentacije
podataka forme, jer tada samo transformišemo svaku spoljnu šemu u podšemu.
Sledeći korak predložene metodologije je predstavljanje formalnih specifikacija u
ekvivalentnu XML reprezentaciju. To zovemo inicijalne XML specifikacije. IIS*Case
podržava generisanje inicijalnih XML specifikacija (videti Sliku 4.). Na taj način,
automatski se transformiše svaka podšema specifikacije u XML Specification of a
Subschema (XSS), svaka specifikacija prezentacije podataka forme u Initial XML
Specification of an data presentation Form (IXSF), i svaka specifikacija aplikacije u
Initial XML Specification of an Application (IXSA).
29
Metodologija koristi XML DTD-ove da definiše standarde dizajna, strukturu i
ograničenja XML specifikacija dizajna. Rezultat potpunog procesa dizajna je skup
validnih XML dokumenata koji predstavljaju specifikacije transakcionih programa i
aplikacija. U tu svrhu, razvili smo specifičan XML DTD, koji se naziva SubschemaDTD,
koja modeluje apstraktnu strukturu podšeme. Svaki XSS dokument generisan od strane
IIS*Case, je validan posredstvom SubschemaDTD.
Da bi se definisala struktura IXSF uz pomoć XML DTD dokumenta, usvaja se
UIML DTD . Svaki IXSF, generisan sa IIS*Case, je validan posredstvom UIML DTD.
Takođe smo razvili specifičan XML DTD, nazvan MenuDTD, koji modeluje
zajedničku strukturu meni sistema. To je definisano korišćenjem koncepata UIML. Svaki
IXSA, generisan od strane IIS*Case, je validan posredstvom MenuDTD.
Slika 4. Generisanje XML specifikacija od IIS*Case nosilaca.
30
XI XML SPECIFIKACIJE KORISNIČKOG INTERFEJSA
Prilagođavanje metodologije razvoja standardnog softvera zadatim ciljevima
projekta uglavnom je izvršeno u fazi planiranja. Pošto Internacionalni standardi u
softverskom inženjerstvu eksplicitno ne nameću bilo kakav zajednički UI model za
softverske proizvode, u ovom radu se akcenat stavlja na to da specifikovanje zajedničkog
UI modela projekta IS aplikacija treba da bude obavezan zadatak u istoj fazi. Iako je
specijalizovan projekat, ovaj UI model bi takođe trebao da bude zajednički za sve
aplikacije IS. Zbog toga se naziva zajednički UI model.
. S obzirom na ciljeve metodologije, pretpostavlja se da zajednički UI model
zadovoljava sledeće uslove :
- Može biti primenjen kao šablon za razvojni UI svih IS aplikacija,
- Potpuno je nezavisan od bilo kog CASE alata,
- Potpuno je nezavisan od bilo kog run-time okruženja.
Treba naglasiti da nezavisnost od bilo kog CASE alata implicira da obe
konceptualne specifikacije smeštene u skladištu CASE alata, i izlaz XML primenjenih
specifikacija ne bi trebalo da sadrže detalje specificiranja zajedničkih UI karakteristika IS.
Ovako generisane inicijalne XML specifikacije će kasnije u procesu biti kombinovane sa
zajedničkim UI modelom. Na ovaj način, finalne XML specifikacije, dobijene iz inicijalnih
XML specifikacija, će naslediti zajedničke UI karakteristike iz zajedničkog UI modela.
Izabran je XML kao deklarativni markerski jezik za specificiranje zajedničkog UI
modela, zbog toga što dozvoljava formalno specificiranje zajedničkog UI modela, koji je
potpuno nezavisan od run-time okruženja. Druge tehnike koje se često koriste kao
specifično programiranje u okruženju ili opisni tekstualni dokumenti, su ili zavisne od
run-time okruženja, ili rezultujuće specifikacije nisu formalne.
Prvi zadatak pri dizajniranju zajedničkog UI modela baziranog na XML-u je da se
odredi specifičan XML DTD ili XML šema, koji će definisati pojmove koji su potrebni
za predstavljanje specifikacija sadržaja i funkcionalnosti UI modela. Zatim, UI model bi
31
trebalo da bude specifikovan kao važeći XML dokument, na primer instanca tog XML
DTD-a ili XML šema. Takva instanca se naziva XBUM ( XML Based UI Model ) i to je
XML dokument koji treba da bude kombinovan sa inicijalnim XML specifikacijama
(Slika 2).
Postoji nekoliko markerskih jezika usmerenih ka specificiranju UI, koji su
bazirani na XML tehnologiji. UIML (User Interface Markup Language ) je jezik za
specificiranje UI nezavisno od urađaja. Kreiranje UI modela korišćenjem UIML-a je
izvršeno razvijanjem UIML dokumenta, koji mora da se prilagodi UIML DTD ili UIML
šema dokumentu. UIML obezbeđuje neke apstraktne pojmove koji podržavaju
definisanje komponenata UI modela. Takođe podržava definisanje zajedničkih vizuelnih
svojstava (oblik prezentacije) UI komponenata. Ova vizuelna svojstva su nezavisna od
run-time okruženja.
U ovom prikazivanju metodologije UIML DTD je usvojen kao DTD definisani
koncept UI modela. Korišćenjem UIML DTD-a, razvili smo XBUM, kao njegovu važeću
instancu.
XBUM specifikuje : (a) sadržaj, i (b) ugrađeno ponašanje (npr. funkcionalnost)
UI.
Sadržaj obuhvata specifikacije : (a1) strukture UI komponenata i (a2) pravila
prezentacije UI elemenata. Struktura UI komponenata definiše skup osnovnih UI
elemenata i pravila strukturiranja za građenje složenih UI komponenata. Specifikacija
pravila prezentacije definiše zajednička vizuelna svojstva UI elemenata koji su nezavisni
od run-time okruženja.
Ugrađeno UI ponašanje specifikuje asocijacije UI elemenata, npr. dugmad, menije
i stavke menija, sa : (b1) unapred definisanim (zajedničkim) funkcijama, i (b2) dodatnim
(specifičnim) funkcijama. Unapred definisane funkcije su povezane sa ekranom ili
formama za štampanje, usmerenih na prezentovanje podataka ili izvršavanje standardnih
operacija baze podataka - selektovanje i ažuriranje. Specifične funkcije su povezane sa
UI elementima samo onih transakcionih programa koji izvode neke specifične akcije ili 32
poslovna pravila.
Predstavljajući šablone forme, XBUM sadrži sledeće UI komponente:
Šablon formu za autorizaciju koja je usmerena na generisanje autorizacije forme
aplikacije, podržavajući identifikovanje korisnika,
Naziv šablona forme koji je usmeren na generisanje prve forme aplikacije, koja se
pojavljuje ako je autorizacija prihvaćena. Omogućava tabelarno predstavljanje i
pregledanje podataka iz baze podataka,
Šablon formu za kvalifikacioni upit koja se koristi da generiše forme za
definisanje izabranog kriterijuma upita,
Šablon formu za prezentovanje podataka koja se koristi da generiše nepromenljive
forme (samo za čitanje) za prezentovanje samo jednog sloga podataka iz baze
podataka,
Šablon formu za umetanje, koja je usmerena na generisanje formi za sekvencijalno
umetanje jednog sloga podataka u bazu podataka,
Šablon formu za ažuriranje, koja je usmerena na generisanje formi za
sekvencijalno modifikovanje jednog sloga podataka iz baze podataka,
Šablon formu za brisanje, koja je usmerena na generisanje formi za sekvencijalno
brisanje jednog sloga podataka iz baze podataka,
Šablon formu za poruke, koja je usmerena na generisanje formi za predstavljanje
poruka korisniku, i
Šablon formu za završetak, koja je usmerena na generisanje forme koja
obaveštava da je izvršavanje aplikacije završeno.
33
XBUM ne specifikuje run-time specifičnih prezentacionih pravila ili vizuelnih
svojstava UI komponenata. Sa druge strane, svaki zajednički UI model bi trebalo da bude
interpretiran u run-time okruženja.
Koristeći markerski jezik za specifikovanje nezavisne platforme, zajednički UI
model omogućava njegovo interpretiranje različitog run-time okruženja. Jedna od
prednosti korišćenja markerskih jezika je to da su oni podržani od tzv. rendera koji mogu
da interpretiraju pogodne markerske specifikacije specifičng run-time okruženja.
11.1. Inicijalne XML specifikacije informacionog sistema
Jedan od ciljeva implementacije dizajna je da se proizvedu inicijalne specifikacije
koje automatski mogu biti transformisane u izvršne transakcione programe i aplikacije.
11.1.1. Inicijalne XML Specifikacije Aplikacije (IXSA)
IXSA obezbeđuje meni sistem aplikacije za specifikovanje. To je XML dokument
koji je važeći u odnosu na MenuDTD. MenuDTD definiše opšte koncepte za specifikovanje
meni sistema. To omogućava specifikovanje strukture stabla, sačinjene od stavki menija u
rekurzivnoj formi. Osnovni koncept je stavka menija. Svaka stavka je čvorna tačka
strukture stabla.
Razlikujemo sledeće tipove stavki menija :
Glavni meni, koji je koren menija stabla,
Podmeni, koji nije lisni lisni čvor meniju stabla,
Lisna stavka, koja je lisni čvor u meniju stabla, i
Kontekstni meni, koji je odvojeni meni, pojavljuje se u kontekstu forme ekrana
(obično se pojavljuje klikom na formu desnim tasterom miša).
34
Za svaku stavku menija, definisani su svojstva ponašanja i vizuelna svojstva. Svojstva
ponašanja stavke menija specifikuju :
Asocijaciju stavke sa jednim od sledećih : meni, podmeni, kontekstni meni ili
transakcioni program, i
Logički uslov koji mora biti zadovoljen da bi se stavka aktivirala.
Glavno vizuelno svojstvo stavke menija je labela (naslov) stavke koja će se
pojaviti u UI. Pošto MenuDTD štiti nezavisnost IXSA od XBUM-a, ne postoji
preklapanje definicija koncepata u MenuDTD-u i XBUM-u. Zbog toga nema potrebe za
definisanjem zajedničkih vizuelnih svojstava nekoliko stavki menija u kontekstu IXSA.
Oni treba da budu definisani samo u XBUM-u.
11.1.2. Inicijalna XML Specfikacija Programa (IXSP)
Svaka specifikacija programa obuhvata :
Podšemu, i
Formu prezentacije podataka.
Zbog toga se IXSP sastoji od : (i) XSS i (ii) IXSF.
XSS je XML dokument koji funkcioniše u odnosu na SubschemaDTD.
SubschemaDTD definiše : (a) strukturu podataka na nivou apstrakcije, sa ugrađenim
ograničenjima podataka, i (b) karakteristike unapred definisanog ponašanja transakcionog
programa koji će koristiti podšemu. Prema tome, XSS definiše apstraktnu strukturu baze
podataka i unapred određenu logiku obrađivanja podataka transakcionog programa.
Izuzev unapred određene logike obrade podataka, specifikacija programa može
uključiti definiciju specifične logike obrade podataka, koja definiše specifičnu
35
funkcionalnost transakcionog programa. To može biti izraženo u proceduralnoj formi. Za
ovu svrhu, autori [1] predlažu korišćenje nekog formalnog jezika (pseudo kod). Ako se
koristi, specifičan DTD može biti i sam dobavljen kao specifikacija formalnog jezika.
Jedan od primera takve specifikacije jezika je XEXPR (XML Expression Language).
IXSF je UIML dokument. On specifikuje tip forme. Korisnik će koristiti tip forme
kako bi komunicirao sa transakcionim programom i kreirao instance tipova formi. Tip
forme će preneti svojstva odgovarajućeg šablona tipa forme u procesu generisanja finalnih
specifikacija XML programa. Svaki šablon forme definisan je u XBUM-u i ima ugrađeni
sadržaj i ponašanje . IXSF definiše :
Sadržaj, npr. komponente i strukturu tipa forme,
Svojstva specifičnog ponašanja komponenti tipa forme, i
Specifična virtuelna svojstva komponenti tipa forme.
UIML DTD definiše tipove komponenti tipa forme i pravila za njihovo
strukturiranje. Komponenta tipa forme je UI elemenat, kao što su : stavka podatka, grupa
(npr. panel ili blok) stavki podataka, traka za pomeranje, traka sa alatkama, dugme, itd.
Postoje komponente tipa formi koje moraju biti u asocijaciji sa odgovarajućim
komponentama podšeme. Takve asocijacije su takođe izražene ovom UIML
specifikacijom. One modeluju vezu između komponenti forme korisnika i šeme baze
podataka. Na primer, ako je stavka podatka tipa forme u asocijaciji sa nekim atributom
podšeme, tada će ona čuvati vrednosti baze podataka tog atributa. Ako je komponenta
tipa forme u asocijaciji sa nekom odgovarajućom komponentom podšeme, onda će ona
preneti svoju unapred definisanu funkcionalnost. Na primer, ako je panel stavki u
asocijaciji sa šemom relacije podšeme, onda će biti korišćen da podrži operacije baze
podataka koje su u asocijaciji sa ovom šemom relacije.
Specifična vizuelna svojstva i svojstva ponašanja nisu obuhvaćena od strane
XBUM-a. Specifična svojstva ponašanja mogu definisati neke dodatne procedure obrade
podataka ili procedure provere ispravnosti koje treba da budu obavljene samo u okviru
datog tipa forme. Na primer, to može biti formula za lokalno računanje ili proveru 36
ispravnosti vrednosti stavke tipa forme koja ne odgovara ni na jedan atribut podšeme.
11.2. Dizajn finalnih XML specifikacija
Ovaj deo objašnjava proces kreiranja konačnih XML specifikacija aplikacije.
Ulazi u procesu su : (i) IXSA, (ii) set IXSP-ova i (iii) XBUM. Izlaz je FXSA (Final XML
Specification of an Application), koja je generisana primenjivanjem sekvence XSL
trensformacija. Celokupan proces ima dve faze koje prikazuju Slika 3 i Slika 4.
Prva faza generiše prvu verziju DXSA-a (Draft XML Specification of an
Application ) spajanjem pogodnih XML i UIML ulaznih dokumenata (Slika 3). Rezultat
je UIML dokument. XSL transformation 1 spaja IXSA sa XBUM i proizvodi DXSA.
DXSA prenosi :
Sve UI komponente sa ugrađenim vizuelnim svojstvima i svojstvima ponašanja iz
XBUM-a, i
Strukturu menija, ponašanje i specifična vizuelna svojstva stavke menija iz IXSA.
Posle spajanja, DXSA sadrži celokupnu specifikaciju XBUM-a.
Slika 6. opisuje sledeću fazu procesa. Sastoji se od dva koraka koji se iterativno primenjuju
na svaki IXSP na ulazu, sve dok se FXSA ne proizvede.
U prvom koraku, XSL transformation 2 spaja tekuću verziju DXSA sa IXSF
tekuće specifikacije programa. Ona prenosi sve šeme formi iz tekuće verzije DXSA. XSL
transformation 2 mapira ove šeme u konkretni tip forme. Nova verzija DXSA prenosi
sadržaj i strukturu ovih tipova forme, i svojstva ponašanja i specifična vizuelna svojstva
komponenata tipa forme iz korisničkog tipa forme, specifikovanih od strane IXSF-a.
37
Slika 5. Proizvođenje nedovršene XML specifikacije neke aplikacije posredstvom XSL
transformacije
Nakon prvog koraka, nova DXSA postaje tekuća. To će biti jedan od ulaza u XSL
transformation 3. U drugom koraku, XSL transformation 3 spaja tekuću verziju DXSA-a
sa XSS-om tekuće specifikacije programa. Na ovaj način dobijena je nova verzija DXSA-a.
Nova DXSA je UIML dokument koji sjedinjuje koncepte forme prezentacije podataka i
podšemu.
XSS povećava funkcionalnost novog DXSA sa unapred određenom logikom
obrađivanja podataka. Prema tome, nova DXSA prenosi iz prethodne verzije samo one
tipove formi koji su neophodni da se podrže osnovne operacije baze podataka, koje
dozvoljava podšema.
Nakon XSL transformation 3, nova DXSA sadrži informacije o komponentama
tipa forme, komponente podšeme, i njihove veze. Ovo omogućava odgovarajućem
transakcionom programu proveru ispravnosti ograničenja baze podataka i upozorenje
korisnika o njihovom narušavanju ranije, nego što su ograničenja proveravana samo na
nivou DBMS. To čini UI transakcionog programa reaktivnijim.
Sledeći (treći) korak bi bio kreiranje nove XSL transformacije koja bi podržala
transformisanje DXSA sa unapred definisanom funkcionalnošću transakcije programa u
DXSA sa potpunom (unapred definisanom i specifičnom) funkcionalnošću transakcije
programa. DXSA sa potpunom funkcionalnošću može preneti specifičnu funkcionalnost 38
iz inicijalne XML specifikacije specifične logike obrade podataka (initial XML
specification of specific data processing logic).
Slika 6. Proizvođenje konačne XML specifikacije aplikacije posredstvom XSL
transformacija.
Posle aplikacije XSL transformation 3 na IXSP, nova verzija DXSA će postati ili
39
tekuća a nova IXSP će se povećati u sledećoj iteraciji, ili postati FXSA. FXSA ujedinjuje
sve strukturalne, funkcionalne i vizuelne karakteristike IXSA-a, set IXSP-ova, i XBUM, i
potpuno je nezavisan od bilo kog run-time okruženja.
XII GENERISANJE PROTOTIPOVA APLIKACIJE
Jedan od glavnih ciljeva ove metodologije je omogućavanje direktne interpretacije
XML specifikacija kao prototipova programa u izabranom run-time okruženja.
Generalno, postoje tri tehnike transformisanja specifikacija dizajna u izvršne softverske
aplikacije:
1. Ručno kodiranje,
2. Automatsko kodiranje, i
3. Kombinacija prethodne dve tehnike.
Prema pomenutom cilju ove metodologije, najprimernija je tehnika potpunog
generisanja koda. Ipak, primenjivanje ove tehnike podrazumeva da ulazne specifikacije
programa moraju biti formalne i dovoljno bogate da iskažu sve neophodne detalje u vezi
sa funkcionalnošću i UI karakteristikama generisanog softvera. Formalne specifikacije
programa i aplikacija i njihove XML reprezentacije zadovoljavaju ove uslove. Znači, ulaz
u procesu generisanja jednog prototipa izvršne aplikacije je konačna XML specifikacija
aplikacije (FXSA - Final XML Specification of an Application). Izlaz će biti prototip
aplikacije zasnovan na XML-u, namenjen za direktnu interpretaciju u okviru run-time
okruženja.
Renderi su run-time okruženja. Oni su u mogućnosti da transformišu softverske
komponente jedne klase (izvora) u softverske komponente druge klase (izvršne), a zatim
da ih interpretiraju u okviru datog run-time uređaja. Pošto su izvorne softverske
komponente specificirane posredstvom UIML-a (npr. XML) postoje Java renderi, koji su
u mogućnosti da ih transformišu u odgovarajuće Java softverske komponente koje mogu
40
biti izvršene na Java virtuelnoj mašini (JVM - Java Virtual Machine). U ovoj aplikaciji
metodologije izabran je Java Render by Harmonia Incorporation kao programiranje i
run-time okruženje i adaptiran je za interpretiranje generisanih prototipova aplikacije.
Glavna karakteristika tog rendera je da može da interpretira UIML specifikacije na JVM
uređaju.
Pošto je FXSA nezavisan od platforme, za renderovanje je potrebno :
Definisanje pravila mapiranja za transformisanje komponenti FXSA u
odgovarajuće run-time komponente, i
Stvaranje XSL transformacije koja će mapirati FXSA u XML specifikaciju koja
može biti interpretirana od strane softvera za renderovanje.
Na ovaj način XSL transformacije će imati ulogu generatora kompletnog programskog
koda.
Ako je UIML model UI-a nezavisan od run-time okruženja, a nameravamo da
renderujemo UI, tad je potrebno specificirati mapiranje između UI komponenti i run-time
komponenti softvera. UIML obezbeđuje sintaksu za definisanje mapiranja između UI
komponenata i odgovarajućih Java softverskih komponenti.
Java Render by Harmonia inkorporiše samo pravila mapiranja i Java softverske
komponente koje omogućavaju neke od UIML komponenti u određene Java softverske
komponente. Ove komponente implementiraju samo vizuelne karakteristike UI
komponenti. Koriste se da bi se omogućilo vizuelno interpretiranje XBUM-a na JVM.
U drugu ruku, Java Render by Harmonia ne obezbeđuje ni Java softverske
komponente, niti odgovarajuća pravila mapiranja koja podržavaju komunikaciju sa
DBMS-om. Zbog toga Java Render by Harmonia ne podržava ugrađene karakteristike
ponašanja XBUM-a. Zato je bilo potrebno proširenje dodavanjem novih Java softverskih
komponenti namenjenih da podrže ugrađene karakteristike ponašanja XBUM-a.
Java Render by Harmonia je proširen novim Java softverskim komponentama, 41
namenjenim za :
Podržavanje polja formi ekrana koji treba da sadrže i prezentuju podatke iz baze
podataka,
Komunikaciju sa DBMS-om posredstvom JDBC protokola i SQL-a,
Proveravanje ispravnosti ograničenja u okviru transakcionog programa.
Definisana su i pravila mapiranja koja omogućavaju transformisanje karakteristika
ponašanja XBUM-a odgovarajuće Java softverske komponente. Pravila mapiranja za UI
model zasnovan na XML-u (Mapping Rules for XML based UI Model - MRXM) je
UIML dokument. On dopunjuje XBUM pravilima mapiranja koja omogućavaju
interpretaciju XBUM-a na Java Render by Harmonia.
Slika 5. prikazuje proces generisanja i renderovanja prototipa XML aplikacije.
MRXM povećava FXSA mapiranjem UI komponenti u odgovarajuće Java softverske
komponente. Na Slici 5, XSL transformacija je generator jednog prototipa XML
aplikacije. Prototip XML aplikacije je UIML dokument koji je adaptiran za
interpretiranje od strane Java Render by Harmonia na JVM.
Treba naglasiti da se XBUM sam može spojiti sa MRXM pomoću XSL
transformacije. Tako on može biti direktno transformisan samostalni prototip XML
aplikacije baš kao i FXSA. Na ovaj način, omogućeno je vizuelno testiranje tokom
njegovog dizajna.
Na kraju treba naglasiti da poboljšanje FXSA za interpretiranje u specifičnom
run-timse okruženju mora uključiti :
Programiranje softverskih komponenti koje će implementirati XBUM,
Dizajniranje odgovarajućeg UIML dokumenta, koji specificira pravila mapiranja
za XBUM, i
Programiranje odgovarajuće XSL transformacije koja će generisati prototipove
izvršne aplikacije.9
9 B.Radulović, Lj. Eremić, K. Zoltan, Odabrana poglavlja projektovanja informacionih
sistema, Tehnički fakultet ''Mihajlo Pupin'' Zrenjanin, 2002. str.89
42
Slika 7. Proces generisanja prototipa aplikacije
43
ZAKLJUČAK
Trenutno postoje dve verzije XML-a. Prva, XML1.0, inicijalno je definisana
1998. godine. Od tada je pretrpela manje prepravke, ali bez novog broja verzija. Trenutno
je u svom petom izdanju, koje je objavljeno 26 novembar 2008. Široko je prihvaćena i još
uvek se preporučuje za opštu upotrebu. Druga verzija, XML 1.1, objavljena je 4. februara
2004. XML1.1 nije u širokoj upotrebi i preporučuje se za upotrebu onima kojima su
potrebna njegova posebna svojstva.
XML 1.0 i XML 1.1 se razlikuju po karakterima koji su upotrebljeni za imena i
njihove elemente i atribute. XML 1.0 jedino dozvoljava karaktere koji su definisani u
Unikod 2.0 , što uključuje većinu svetskih jezika, a isključuje one koji su dodati u kasnije
Unikod verzije. Među isključenima su pisma Mongolije, Kambodže, Burme i druga.
Skoro bilo koji Unikod karakter može biti upotrebljen u vrednosti karaktera i atributa
XML 1.1 dokumenata, čak i ako karakter nije definisan, bez obzira da li ima kodnu tačku
u važećoj vrednosti Unikoda. Pristup XML-a 1.1 je takav da su samo određeni karakteri
zabranjeni, a da je sve drugo dozvoljeno, a u XML 1.0 samo određeni karakteri su
eksplicitno dozvoljeni, tako da se XML 1.0 ne može prilagoditi dodavanju karaktera u
budućim verzijama Unikoda.
U znakovnim podacima i vrednostima atributa XML 1.1 dozvoljava upotrebu više
kontrolnih znakova od drugih verzija. Zbog robusnosti većine kontrolnih karaktera koji se
nalaze u XML-u 1.1 oni moraju biti izraženi kao numeričke znakovne reference. Među
podržanim kontrolnim karakterima u XML-u 1.1 su i dve isprekidane linije koje
predstavljaju prazan prostor između karaktera. To su jedini kontrolni karakteri koji mogu
biti upisani direktno.
XML-ova osnovna svrha je da olakša deljenje podataka kroz različite informacione
sisteme, posebno kroz one sisteme koji su povezani sa Internetom. Naime, kako raste
www i njegov sadržaj tako rastu i naše potrebe za informacijama (ili barem potrebe za
brzinom dobijanja istih). Pored toga, kako napreduje hardverska infrastruktura tako se
44
menja i pogled na internet. Internet sve manje doživljavamo kao carstvo šarenih reklama
a sve više kao medijum za ozbiljno poslovanje. Informacija na sajtu više nije nekakav
statičan sadržaj već je uglavnom živa informacija - posledica upita nad bazom a internet
polako dobija atribute mrežne infrastrukture koja liči na one tipa LAN. Ono što je nekada
predstavljao HTTP za razvoj internet danas je XML za moderno poslovanje putem
interneta posebno u segmentu B2B (Buisness to buisness – tipično veliki informacioni
sistemi).
Literatura:
45
1. Miro Govedarica, Ivan Luković, Pavle Mogin, Generating XML Based
Specifications of Information Systems, ComSIS Vol. 1, No. 1, February
2004.
2. David Hunter, Kurt Cagle, Dave Gibbons, Nikola Ozu, Jon Pinnoch, Paul
Spencer, Od početka… XML, CET, 2001.
3. Karli Watson, Marco Bellinaso, Ollie Cornes, David Espinosa, Zach
Greenvoss, Christian Nagel, Jacob Hammer Pedersen, Jon D. Reid, Morgan
Skinner, Eric White, Od početka… C#, CET, 2002.
4. Scott Allen, Syed Fahad Gilani, Jacob Hammer Pedersen, Ranga
Raghunathan, Jon Reid, Od početka… C# baze podataka, 2003.
5. Dr Biljana Radulović, Ljubica Eremić, Kazi Zoltan, Odabrana poglavlja
projektovanja informacionih sistema, Tehnički fakultet ''Mihajlo Pupin''
Zrenjanin, 2002.
Internet stranice:
1. http://sr.wikipedia.org/sr/Дизајн pristup stranici 28.09.2014 .
2. http://www.javniregistar.net/vlada/odjeljenja/10/is.htm pristup stranici 01.10.2014
46