Viseslojne arhitekture i razvojno okruzenje

Nova tema  Odgovori 
Podelite temu sa drugarima: ZARADITE PRODAJOM SVOJIH RADOVA
 
Ocena teme:
  • 0 Glasova - 0 Prosečno
  • 1
  • 2
  • 3
  • 4
  • 5
 
Autor Poruka
Vesnica Nije na vezi
Posting Freak
*****

Poruka: 2,567
Pridružen: May 2010
Poruka: #1
Viseslojne arhitekture i razvojno okruzenje
Maturski, seminarski i diplomski radovi iz informatike.

Važno pitanje u procesu razvoja složenih softverskih sistema je njihova arhitektura, tj. organizacija kolekcije komponenti koje međusobno komuniciraju. Dobra arhitektura može pomoći da sistem zadovolji ključne zahteve na poljima performansi, pouzdanosti, prenosivosti i skalabilnosti. Arhitektura softvera igra ulogu mosta između specifikacije zahteva i implementacije. Obezbeđujući apstraktan opis sistema ona ističe određena svojstva sistema istovremeno skrivajući druga.
Tokom poslednje decenije arhitekturi softvera, kao polju softverskog inženjerstva, posvećivana je sve veća pažnja. Stručnjaci su shvatili da je pravilan izbor arhitekture kritičan faktor uspeha projektovanja i razvoja softverskih proizvoda.

Softverska arhitektura programa ili računarskog sistema definiše strukturu (strukture) sistema koja sadrži softverske elemente, spolja vidljiva svojstva tih elemenata i veze između njih. [Bass, Clements, Kazman, Software architecture in practice, Addison-Wesley, 2003]

Arhitektura softvera se definiše kao organizaciona struktura softverskog sistema koja sadrži komponente, konekcije, ograničenja i obrazloženja. Komponente mogu biti mali delovi programskog koda, kao što su moduli, ili veće celine, kao što su nezavisni sistemi za rukovanje bazama podataka. Konekcije su u arhitekturi apstrakcije načina interakcije komponenti sistema. [Clements, 1994]

Arhitektura se definiše kao osnovna organizacija sistema sadržana u njegovim komponentama, njihova međusobna veza i veza sa okruženjem i principi koji vladaju razvojem i evolucijom sistema. [ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software-Intensive Systems]

Arhitektura je skup značajnih odluka u vezi organizacije softverskog sistema, izbora strukturalnih elemenata i njihovih interfejsa od kojih je sistem sastavljen, zajedno sa njihovim ponašanjem navedenim u kolaboracijama između tih elemenata, slaganja ovih strukturalnih elemenata u progresivno rastuće podsisteme, i arhitekturalnog stila koji vodi to slaganje. [Rational Unified Process, 1999]

Jednoslojna arhitektura (Single Tier)

Automatizacija poslovanja počela je uvođenjem ogromnih centralnih (mainframe) računara koji su opsluživali veliki broj korisnika. Svi resursi sistema (magnetne trake, diskovi, štampači) bili su direktno povezani na njih. Ovim računarima pristupalo se pomoću takozvanih “glupih” terminala. U ovakvim sistemima sav posao procesiranja (izvršavanje programa, obrada podataka, komunikacija sa terminalima) obavljao je centralni računar. Veliki nedostatak ove arhitekture, sa aspekta hardvera, ogleda se u komunikaciji između terminala i servera: Server prati pritiske tastera terminala, interpretira ih i vraća adekvatan odgovor. Na ovaj način se, pored podataka koji se obrađuju, računarskom mrežom šalju i delovi korisničkog interfejsa aplikacije koja se prividno izvršava na terminalu.

Aplikacije za ove računare pisane su namenski za rešavanje konkretnih problema. Njihove komponente (korisnički interfejs, poslovna logika i struktura podataka) se prepliću i predstavljaju jednu nerazdvojivu celinu. Zbog toga se ovakva arhitektura softvera naziva jednoslojnom.

Preplitanje komponenti softvera prouzrokuje dva problema karakteristična za ovu arhitekturu:
• nemogućnost ponovnog korišćenja delova koda prethodno napisanih programa i
• nemogućnost izmene jedne komponente aplikacije nezavisno od ostalih.

Jednoslojnu arhitekturu karakteriše jednostavnost razvoja i isporuke softverskih proizvoda sa jedne strane, i izuzetno visoka cena implementacije hardverskih rešenja sa druge.

Dvoslojna arhitektura (Dual Tier)

Početkom osamdesetih godina, pojava personalnih računara izazvala je pravu revoluciju u svetu računarstva. Mala cena hardvera u odnosu na njegove prethodnike učinila je PC dostupnim širokom krugu korisnika. Pojava grafičkog korisničkog interfejsa, tj. operativnog sistema Windows u velikoj meri je doprinela popularizaciji nove generacije računara koja je ubrzo postala standard širom sveta.
Uvođenjem personalnih računara u poslovnu primenu nastala je potreba za novim hardverskim i softverskim modelom koji bi omogućio da se podaci efikasno dele između njih. Za te potrebe razvijena je klijent-server arhitektura. Klijentska aplikacija koja se izvršava na PC-u povezuje se na centralni računar (server) i zahteva podatke. Server zahtevane podatke preko računarske mreže šalje aplikaciji koja ih je zahtevala. Na ovaj način je, u odnosu na jednoslojnu arhitekturu, računarska mreža rasterećena nepotrebnog saobraćaja jer se preko nje prenose samo podaci. Zbog toga je hardverska infrastruktura potrebna za podršku klijent-server arhitekture jednostavna i znatno jeftinija od moćnih mainframe računara neophodnih za realizaciju jednoslojne arhitekture.

Izdvajanjem skladištenja podataka u nezavisnu softversku komponentu, u dvoslojnoj arhitekturi softvera, znatno su umanjene slabosti jednoslojnih aplikacija. Međutim, poslovna logika i korisnički interfejs i dalje ostaju čvrsto povezani, što u velikoj meri otežava održavanje aplikacija.

Svaka izmena u poslovnoj logici sistema uslovljava izmene u programskom kodu klijentske aplikacije. U tom slučaju se, na svakom klijentskom računaru pojedinačno, postojeća aplikacija mora ažurirati izmenjenom. Ažuriranje velikog broja klijentskih računara može dovesti do dužih zastoja u radu sistema.
U ovoj arhitekturi aplikacije se izvršavaju na PC računarima koji predstavljaju klijente, a baza podataka je smeštena na serveru. Sva obrada se, dakle, vrši na klijentima, dok je server zadužen za upravljanje konekcijama između aplikacija i baze podataka. Kreiranje konekcija je sporo i zahteva veliku količinu RAM memorije na serveru. Zbog toga većina aplikacija vezu sa bazom uspostavlja odmah nakon njihovog pokretanja i raskida je neposredno pred zatvaranje. U slučaju pada klijentske aplikacije konekcija ostaje otvorena i resursi zauzeti na serveru se gube.
U realnim radnim uslovima veliki broj korisnika konekciju koristi svega 2-3 % od ukupnog vremena. Imajući na umu da se licence za RDBMS sisteme naplaćuju prema broju konekcija lako se izvodi zaključak da klijent-server arhitektura nije ni malo ekonomična.
Porast broja korisnika, tj. porast broja konekcija prema bazi podataka može dovesti do zagušenja servera, koji će više vremena utrošiti na upravljanje konekcijama nego na obradu zahteva klijenata. Povećavanje broja korisnika koje sistem može da opsluži iziskuje proširivanje resursa servera i kupovinu licenci za dodatni broj konekcija, što predstavlja značajan trošak za preduzeće.
Zbog opisanih nedostataka, klijent-server arhitektura pogodna je za distribuiranu obradu podataka u radnim grupama ne većim od 100 korisnika međusobno povezanih lokalnom računarskom mrežom.

Troslojna arhitektura (Three Tier)

Evolucijom klijent-server arhitekture, da bi se prevazišli njeni nedostaci, razvijena je troslojna arhitektura sofvera. Aplikacije su podeljene na tri logički nezavisna sloja koji međusobno komuniciraju posredstvom interfejsa. Prvi sloj, najbliži korisniku, naziva se sloj prezentacije i sadrži korisnički interfejs aplikacije, srednji sloj sadrži poslovnu logiku sistema, dok treći sloj predstavlja sloj podataka.

Troslojne aplikacije za izvršavanje koriste server aplikacije kao posrednika između klijentskih računara i servera baze podataka. Korisnik posredstvom sloja prezentacije upućuje zahtev poslovnoj logici za podacima. Sloj poslovne logike tražene podatke pribavlja od sloja podataka i šalje ih sloju prezentacije koji ih po prijemu formatira i prikazuje korisniku.

Sloj podataka može sadržati različite izvore informacija potrebne za izvršavanje aplikacije kao što su sistemi za rukovanje relacionim bazama podataka (MS SQL Server, Oracle, MySQL), XML dokumenati, Web servisi i sl.
Za razliku od klijent-server arhitekture, sloj poslovne logike troslojnih aplikacija potpuno je nezavisan od drugih slojeva. Sastoji se iz:
• skupa objekata koji opisuju operativnu strukturu podataka aplikacije,
• skupa objekata koji sadrže operacije kojima se realizuju poslovne funkcije sistema, i
• skupa objekata koji sadrže operacije za komunikaciju sa slojem podataka.

U .NET okruženju ovi objekti implementiraju se kao COM komponente koje se izvršavaju na serveru aplikacije pomoću servisa Windows operativnih sistema zvanog Component Services (Prilog 1, str. 32-44).


PORUČITE RAD NA OVOM LINKU >>> SEMINARSKI
maturski radovi seminarski radovi maturski seminarski maturski rad diplomski seminarski rad diplomski rad lektire maturalna radnja maturalni radovi skripte maturski radovi diplomski radovi izrada radova vesti studenti magistarski maturanti tutorijali referati lektire download citaonica master masteri master rad master radovi radovi seminarske seminarski seminarski rad seminarski radovi kvalitet kvalitetni fakultet fakulteti skola skole skolovanje titula univerzitet magistarski radovi

LAJKUJTE, POZOVITE 5 PRIJATELJA I OSTVARITE POPUST
08:55 PM
Poseti veb stranicu korisnika Pronađi sve korisnikove poruke Citiraj ovu poruku u odgovoru
Nova tema  Odgovori 


Verovatno povezane teme...
Tema: Autor Odgovora: Pregleda: zadnja poruka
  Seminarski rad - Proxy i firewall arhitekture erik_bananamen 0 3,016 03-05-2011 12:02 PM
zadnja poruka: erik_bananamen
  CISC & RISC arhitekture Vesnica 0 2,963 14-06-2010 10:29 PM
zadnja poruka: Vesnica

Skoči na forum: