Web aplikacija za Biblioteku u Java okruženju
UNIVERZITET U BEOGRADU
FAKULTET ORGANIZACIONIH NAUKA
Završni rad
Tema: Web aplikacija za Biblioteku u Java okruženju
Mentor:
Student:
dr Xxxxx
x
Xxxxx, doc
Xxxx Xxxxxx
xxxx/0x
BEOGRAD, 20xx
Web Aplikacija za Biblioteku u Java okruženju
2
1. UVOD ................................................................................................................................ 3
2. PROGRAMSKI JEZIK JAVA ................................................................................................... 4
2.1. Osnovne karakteristike programskog jezika Java ......................................................................4
2.2. Tapestry okvir ..........................................................................................................................5
2.2.2. Osnovne komponente Tapestry okvira ....................................................................................................... 5
2.2.3. Tapestry Distribucija ................................................................................................................................. 10
2.2.4. Prednosti i nedostaci Tapestry okvira ....................................................................................................... 11
2.3. Spring Okvir ........................................................................................................................... 12
2.3.1. Dependency injection ............................................................................................................................... 13
2.4. Hibernate Framework ............................................................................................................ 15
3.STUDIJSKI PRIMER ............................................................................................................ 21
3.1. Larmanova metoda razvoja softvera ...................................................................................... 21
3.1.1. Korisnički zahtevi ...................................................................................................................................... 22
3.1.1.1. Verbalni model .............................................................................................................................. 22
3.1.1.2. Slučajevi Korišćenja ....................................................................................................................... 22
3.1.1.3. Opis slučaja korišćenja .................................................................................................................. 23
3.1.2. Analiza ....................................................................................................................................................... 28
3.1.2.1. Ponašanje sistema ......................................................................................................................... 28
3.1.2.1.1.
Sistemski dijagram sekvenci ................................................................................................... 28
3.1.2.1.2.Definisanje ugovora o sistemskim operacijama ..................................................................... 33
3.1.2.2. Struktura sistema .......................................................................................................................... 34
3.1.2.2.1. Konceptualni (Domenski) model............................................................................................ 35
3.1.3.Projektovanje ............................................................................................................................................. 35
3.1.3.1. Arhitektura softverskog sistema ................................................................................................... 35
3.1.3.2. Aplikaciona logika .......................................................................................................................... 37
3.1.3.2.1. Kontroler aplikacione logike .................................................................................................. 37
3.1.3.2.2. Poslovna logika ...................................................................................................................... 38
3.1.3.2.3. Database Broker .................................................................................................................... 46
3.1.3.3. Projektovanje skladišta podataka ................................................................................................. 46
3.1.3.4. Struktura korisničkog interfejsa .................................................................................................... 47
3.1.3.6. Projektovanje korisničkog interfejsa ............................................................................................. 47
3.1.4.Implementacija .......................................................................................................................................... 59
3.1.5.Testiranje ................................................................................................................................................... 59
4. ZAKLJUČAK ...................................................................................................................... 61
5. LITERATURA .................................................................................................................... 62

Web Aplikacija za Biblioteku u Java okruženju
4
2.
PROGRAMSKI JEZIK JAVA
Programski jezik
Java
je u potpunosti nezavistan od operativnog sistema na kojem se
izvršava, time je obezbe
ñ
ena prenosivost (portabilnost) aplikacija razvijenih u
Javi
. Napisana
aplikacija se može izvršiti na bilo kom operativnom sistemu, pod pretpostavkom da za taj
operativni sistem postoji
JRE
(
Java Runtime Environment
), odnosno
JVM
(
Java Virtual
Machine
) koja interpretira
Java
naredbe, preslikavajuci ih u naredbe konkretnog operativnog
sistema. Tako
ñ
e, programski jezik je u potpunosti nezavistan od konkretnih sistema za
upravljanje bazama podataka (
DBMS
-
Database Management System
),
č
ime se, uz
obezbe
ñ
ivanje odgovaraju
ć
ih upravlja
č
kih programa (drajvera) omogu
ć
ava povezivanje
aplikacije sa konkretnim
DBMS
sistemima, i preslikavanje opštih
Java
naredbi u naredbe
konkretnog
DBMS
. Ovo je mogu
ć
e zahvaljuju
ć
i bibliotekama klasa i interfejsima koji su deo
JDBC API-ja (Java Datbase Connectivity Application Programming Interface)
Razlikujemo tri izdanja
Java
platforme. Svako izdanje namenjeno je razvoju specifi
č
nih
aplikacija i obezbe
ñ
uje izvršno (
runtime
) okruženje za te aplikacije:
1.
Java 2 Standard Edition, J2SE
– obezbe
ñ
uje izvršno okruženje za razvoj
desktop
aplikacija i predstavlja jezgro funkcionalnosti za ostala izdanja
Java
platforme.
2.
Java Enterprise Edition, JEE
– predstavlja proširenje
J2SE
izdanja Jave
koje podržava
razvoj složenih (
enterprise)
aplikacija.
3.
Java 2 Micro Edition, J2ME
– definiše skup izvršnih okruženja za razvoj aplikacija za
ure
ñ
aje sa ograni
č
enom memorijom, kao što su mobilni telefoni,
PDA
ure
ñ
aji,
TV
ure
ñ
aji.
2.1.
Osnovne karakteristike programskog jezika Java
Niže su navedene osnovne karakteristike programskog jezika Java koje je
č
ine
interesantnom i privla
č
nom za programere:
1)
Java je
jednostavnija
za upotrebu u pore
ñ
enju sa drugim objektno-orijentisanim
programskim jezicima. Kao razlog za tu tvrdnju može se uzeti to što Java koristi
automatsku memorijsku alokaciju i upotreba sme
ć
a (
garbage collector
) za brisanje
objekata iz memorije.
2)
Java je
distribuirana. Java je projektovana da olakša rad u mreži i razvoj distribuiranih
aplikacija.
3)
Java je
prenosiva. Java je platformski nezavisna. Jednom napisan programski kôd može
se izvršiti na bilo kom ra
č
unaru za koji je napisan Java interpreter.
4)
Java je
interpretirana. Program je potrebno kompajlirati samo jednom. Nakon
kompajliranja Java izvršnog koda dobija se Java bytecode. Ovaj bytecode je nezavisan od
platforme i interpretira se od strane Java interpretera.
5)
Java je
pouzdana. Java poseduje više nivoa mera pouzdanosti. Java kompajler pruža
nekoliko nivoa dodatnih provera kako bi identifikovao tipske greške i druge
Web Aplikacija za Biblioteku u Java okruženju
5
nepravilnosti. Java runtime sistem ponavlja provere koje je izvršio java kompajler i
izvršava dodatne provere kako bi proverio izvršni bajtkod (bytecode) java programa.
6)
Java ima podršku za rad sa multimedijalnim sadržajem.
7)
Java je
višenitna. Java podržava izvršavanje više procesa istovremeno koriš
ć
enjem
niti.[10]
Neke od negativnih karakteristika programskog jezika Java su brzina izvršavanja Java
programa i koli
č
ina memorije koja se alocira za Java program.
Glavni nedostatak Java programskog jezika je brzina. Ovo je posledica neophodne
konverzije Java
bytecode-
a u konkretan mašinski kod za konkretan ra
č
unar na kome se Java
Virtuelna mašina izvršava. Smatra se da Java zauzima više memorije od drugih objektno
orijentisanih programskih jezika.[10]
2.2.
Tapestry okvir
Tapestry okvir (framework)
je okvir za kreiranje dinami
č
kih i robusnih web aplikacija u
Javi. Tapestri je napravljen na konceptu standardnog Java Servlet API –a. Tapestry može da radi
u bilo kom servlet kontejneru ili na bilo kom aplikacionom serveru. Konkurentan je drugim
okvirima kao što su Struts, Web Work i Turbine. Tapestry je razvio Howard Lewis Ship.
Tapestry je deo Jakarta Projekta i Apache softver fondacije.
Zvani
č
na verzija Tapestry okvira je 5.0. Glavna uloga ovog okvira je da olakša kreiranje
dinami
č
kih HTML stranica. [9]
2.2.2. Osnovne komponente Tapestry okvira
U Tapestry aplikacijama, svi elementi na web stranici (forme, linkovi, polja za unos, itd.)
su predstavljeni pomo
ć
u komponenti. Sve komponente nasle
ñ
uju interfejs IComponent
(org.apache.tapestry.IComponent). Dinami
č
ki sadržaji se kreiraju koriš
ć
enjem ovih komponenti
(Slika 1). [9]

Web Aplikacija za Biblioteku u Java okruženju
7
Svaka stranica poseduje jedinstveno ime, i svaka komponenta na stranici ima svoj
jedinstveni identifikator. [9]
Neke Tapestry komponente mogu biti kontejneri drugih komponenata, što zna
č
i da mogu
da sadrže i druge komponente. Tapestry stranice, i ve
ć
ina korisni
č
ki definisanih komponenti,
imaju osnovni kostur (templejt), posebni HTML dokument koji opisuje strukturu i ponašanje
dela komponente, sa indikatorima koji definišu da li su komponente aktivne.
Komponente mogu imati jedan ili više imenovanih parametara koji služe da detaljnije
opišu komponentu. Kao i parametri Java metoda, parametri Tapestry komponenti mogu biti
ulazno izlazni. Komponenta može da
č
ita parametar i da prikaže vrednost, ili da upiše parametar
da postavi vrednost.
Komponente, kao što su forma, i komponente forme (TextField, PropertySelection,
Checkbox, itd.), lako se transformišu u HTML forme.[9]
Opšta dinamika poziva komponenti Tapestry okvira prikazana je dijagramom sekvenci
koji je dat
na Slici 3.
Slika 3: Sekvencni dijagram Tapestry okvira
Na slici su prikazane komponente Tapestry okvira koje u
č
estvuju u životnom ciklusu koji
po
č
inje HTTP zahtevom iz web
č
ita
č
a i završava HTML odgovorom aplikacije.
Najpre se Servlet Container-u prosle
ñ
uje HTTP zahtev za odre
ñ
enom HTML stranicom.
Potom Servlet Container prosle
ñ
uje zahtev Tapestry okviru. Tapestry okvir kreira stranicu,
č
ita
atribute dokumenata i prikazuje HTML pogled iz templejta koji se prosle
ñ
uje web
č
ita
č
u kao
odgovor na HTTP zahtev. [9]
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti