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 

 

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

 

 
 
 

background image

Web Aplikacija za Biblioteku u Java okruženju 

 

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 

 

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] 

background image

Web Aplikacija za Biblioteku u Java okruženju 

 

 

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]  

 

Želiš da pročitaš svih 63 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti