Professional Documents
Culture Documents
Prihvaen: 04.06.2012.
Struni rad
UDK 004.42
2. Analiza zahtjeva
Apriori orijentacija na Microsoft rjeenja i tehnologije ili primarno koritenje Windows
desktop formi ima svoje prednosti i mane, ali samim tim to je strategija unaprijed definirana
rijeeno je jako puno nedoumica za arhitekta aplikacije oko odabira razvojne okoline i
tehnologija koje e se koristiti prilikom razvoja aplikacije.
Odabir dobavljaa razvojnih alata i rjeenja je najee unaprijed zadan sa strane
naruitelja sustava s obzirom da se tu radi o godinama ulaganja u strateka partnerstva,
licence i kolovanje i certifikaciju razvojnog tima. Naruitelj moe biti ili vanjski kupac ili
uprava firme koja naruuje softver za trite. Slino je i s Microsoftom. Microsoft nudi iroku
lepezu alata i tehnologija potrebnih za razvoj sloenih sustava, relativno pristupanih i
dobavljivih za proizvoaa rjeenja kao i za kupca budueg rjeenja. Windows operativni
sustav danas prevladava na desktop raunalima a na tritu rada ne bi trebalo biti problema u
pronalasku iskusnih .NET programera.
Odabir moderne, napredne relacijske baze podataka je bitan ukoliko elimo raditi s
velikim transakcijskim tablicama, spremati dijelove poslovne logike u bazu podataka ili uvesti
odreene mehanizme skladitenja podataka (data warehouse) u samu relacijsku shemu.
Primarna orijentacija na desktop klijente znai da elimo bogato korisniko suelje, dobru
interakciju s korisnikom aplikacije te prirodnu integraciju aplikacije u operativni sustav
klijentskog raunala to e znatno olakati rad u samoj aplikaciji i dati vei izbor mogunosti
projektantima aplikacije.
Zahtjev da na aplikaciji mora raditi istovremeno vie razvojnih timova podrazumijeva
obavezno centralizirano spremanje koda i ostalih datoteka aplikacije te koritenje nekog alata
za kontrolu koda. Paralelni razvoj razliitih dijelova aplikacije i korisnikog suelja zahtijeva
kompozitni pristup izgradnji korisnikog suelja to znai da se dijelovi korisnikog suelja
odnosno aplikacije razvijaju, testiraju i isporuuju naruitelju neovisno jedan o drugome.
3. Arhitektura aplikacije
Danas kad se govori o arhitekturi velikih poslovnih aplikacija moramo razlikovati fiziku
i logiku arhitekturu aplikacije. Fiziki se aplikacija najee isporuuje dvoslojno, bazni
server debeli klijent, ili troslojno, bazni server aplikacijski server tanki klijent. Broj
fizikih slojeva ovisi o veliini sustava i funkcijama koje mora sustav obavljati. Prilikom
fizike izgradnje sustava trebamo razmiljati o komunikaciji izmeu dijelova sustava te o
distribuciji novih verzija aplikacija, izvjetaja i modula to je direktno ovisno o fizikoj
implementaciji rjeenja.
Za razliku od fizike arhitekture nas puno vie zanima logika arhitektura sustava. Logiki
se danas svaka aplikacija sastoji najee od 3 glavna sloja:
Ti slojevi se dalje mogu dijeliti svaki na vie podslojeva. Postoji mnogo razliitih
varijacija osnovnog pristupa u praksi. Na primjer, sloj korisnikog suelja moemo podijeliti
na samo suelje, ulazno-izlazne kontrole, aplikacije i sloj koji upravlja sueljem, npr.
Controller klase u ModelViewController (MVC) i ViewModel klase u ModelView
ViewModel (MVVM) obrascu za implementaciju suelja. Ukoliko aplikacija ima vie tipova
korisnikog suelja, vjerojatno e imati i vie razliitih slojeva korisnikog suelja i slojeva za
kontrolu suelja. Ukoliko elimo aplikaciju koja je neovisna o izvorima podataka, vjerojatno
emo i sloj za pristup podacima podijeliti na vie podslojeva koji e se neovisno brinuti za
dohvat i spremanje podataka iz razliitih izvora podataka (relacijske baze podataka, Web
servisi, jednostavne tekstualne datoteke, XML datoteke, itd.).
3.1.
Microsoft Prism
Microsoft s jedne strane nudi dobre alate i tehnologije za izradu aplikacija, no s druge
strane odabirom Microsoft tehnologija na poetku dobijemo vrlo malo znanja (know-how)
kako napraviti i postaviti arhitekturu dobre poslovne aplikacije. Primjeri na Internetu koji
prikazuju izradu formi za auriranje podataka u bazi podataka su najee elementarni i
neupotrebljivi, ukoliko elimo sustavno rijeiti tehnoloku vertikalu auriranja podataka od
korisnikog suelja do spremanja u bazu podataka kroz vie aplikacijskih slojeva.
U posljednje vrijeme se situacija ipak znatno popravila i Microsoft sve bolje surauje sa
zajednicom to rezultira sve veim brojem smjernica za izradu aplikacija namijenjenih
razvojnim inenjerima, projektantima sustava i programerima. Te smjernice i preporuke
moemo pronai dobro dokumentirane i objavljene na Microsoft patterns & practices
(http://msdn.microsoft.com/en-us/practices) Web portalu.
Model-View-ViewModel (MVVM)
3.3.
Pristup podacima
U MVVM obrascu najnii sloj naziva se Model. Model su sloeni poslovni objekti u
kojima je implementiran najvei dio poslovne logike aplikacije. Model u klasinoj arhitekturi
aplikacije nazivamo jo i sloj poslovne logike ili Business logic layer (BLL). BLL ne smije
sadravati nikakav kod koji se odnosi na funkcioniranje suelja aplikacije te treba biti
neovisan o izvorima podataka. Da bi mogli implementirati BLL moramo rijeiti komunikaciju
s bazom podataka, sloj za pristup podacima (DAL- Data access layer). O svim
specifinostima razliitih baza podataka i razliitih izvora podataka treba se brinuti sloj za
pristup podacima.
3.5.
Suelje aplikacije