Documente Academic
Documente Profesional
Documente Cultură
CATEDRA DE CALCULATOARE
2010
FACULTATEA DE AUTOMATIC I CALCULATOARE
CATEDRA DE CALCULATORE
1
SINTEZA
proiectului de diplom cu titlul:
APLICAIE PENTRU MANAGEMENTUL I MONITORIZAREA
UNUI CENTRU DE DATE
Autor: Daniel GROZA
Coordonator: ef lucrri Ing. Cosmina Ivan
1. Cerinele temei:
Proiectarea si implementarea unei aplicaii de management si monitorizare a unui centru
de date
2. Soluii alese:
Pentru implementarea aplicaiei s-a ales platforma Java i framework-ul JSF datele fiind
stocate intr-o baz de date MySQL. Comunicarea cu echipamentele de reea se face
folosind protocolul SNMP i Toolkit-ul oferit de proiectul open-source OpenDMK. Datele
primite de la echipamente sunt stocate n arhive de tip Round Robin iar pe baza acestora
se ntocmesc grafice folosind unealta RRDTool. Aplicaia trimite alerte pe email n cazul
apariiei anumitor evenimente n cadrul reelei.
3. Rezultate obinute:
Aplicaia a fost implementat si instalat, ruleaz pe un server din centrul de date i
monitorizeaz o parte din echipamente. Administratorul poate aduga echipamente noi,
terge sau modifica echipamente existente n baza de date n scopul monitorizrii acestora.
Utilizatorii pot vizualiza graficele cu traficul realizat de echipamentele proprii.
4. Testri i verificri:
Aplicaia a fost testat, verificat i mbuntit pe parcursul testarii. Testele realizate i
modificrile aduse n urma testrii sunt prezentate n capitolul 7 Testare i rezultate
experimentale
5. Contribuii personale:
Autorul a proiectat i implementat modulul de logic i control a aplicaiei, modulele ce
interactioneaz cu celelalte sisteme i interfaa grafic a aplicaiei.
6. Surse de documentare:
Biblioteca UTCN, Internet, cri procurate online, manualele de utilizare a uneltelor i
documentaia api-urilor i a librriilor folosite n cadrul aplicaiei.
Data:__________
Semntura autorului_________________
Semntura coordonatorului____________
Cuprins
1. Introducere...........................................................................................................................9
1.1 Context......................................................................................................... .................. 9
1.2 Motivaie...................................................................................................... .................. 9
1.3 Obiective...................................................................................................... .................. 9
1.4Prezentarea lucrrii..................................................................................... ................ 10
2. Studiu bibliografic..............................................................................................................12
2.1 Coninut bibliografic................................................................................... ................ 12
2.2 Evoluia centrelor de date........................................................................... ................ 13
2.3 Alte aplicaii de monitorizare...................................................................... ................ 13
2.3.1 Cacti..................................................................................................... ................ 14
2.3.2 Nagios.................................................................................................. ................ 15
2.3.3 OpManager.......................................................................................... ................ 16
2.3.4 Analiza comparativ............................................................................ ................ 17
3. Fundamentare teoretica......................................................................................................19
3.1 Gestionarea centrelor de date..................................................................... ................ 19
3.2 Monitorizarea echipamentelor.................................................................... ................ 19
3.3 Tehnologii, standarde, protocoale i unelte utilizate n
centre de date.................................................................................................... ................ 20
3.3.1 Standardul IEEE 802.3 ....................................................................... ................ 20
3.3.2 Standardul TIA-942............................................................................. ................ 21
3.3.3 Protocolul SNMP................................................................................. ................ 21
3.3.4 Java i JSF .......................................................................................... ................ 22
3.3.5 MySQL ................................................................................................ ................ 23
3.3.6 RRDTool ............................................................................................. ................ 23
3.4 Arhitecturi software multinivel................................................................... ................ 24
4. Specificaiile i arhitectura aplicaiei.................................................................................25
4.1 Gestionarea i monitorizarea centrelor de date.......................................... ................ 25
4.2 Schema bloc a sistemului............................................................................ ................ 25
4.3 Cerinele aplicaiei...................................................................................... .................26
4.3.1 Cerine funcionale.............................................................................. ................ 26
4.3.1 Cerine non funcionale....................................................................... ................ 26
4.4 Scenarii de utilizare..................................................................................... .................28
4.5 Arhitectura aplicaiei.................................................................................. .................34
5. Proiectarea de detaliu.........................................................................................................36
5.1 Structura aplicaiei...................................................................................... ................ 36
5.2 Interfaa cu utilizatorul............................................................................... ................ 41
5
Bibliografie..............................................................................................................................60
Acronime..................................................................................................................................62
Lista Figurilor
Figura 1.1 Imagine centru de date........................................................................................... 10
Figura 2.1 Exemplu de grafice oferite de Cacti....................................................................... 14
Figura 2.2 Exemplu de interfa oferita de Nagios.................................................................. 15
Figura 2.3 Exemplu de interfa oferita de OpManager.......................................................... 16
Figura 3.1 Exemplu de etichet server..................................................................................... 19
Figura 3.2 Funcionare SNMP................................................................................................. 22
Figura 3.3 Exemplu de baz de date de tip round robin.......................................................... 24
Figura 3.2 Schema bloc a sistemului....................................................................................... 26
Figura 4.1 Diagrama Use Case pentru Administrator.............................................................. 28
Figura 4.2 Diagrama Use Case pentru Utilizator..................................................................... 29
Figura 4.3 Modelul arhitectural Three-tier.............................................................................. 34
Figura 5.1 Diagrama sistemului............................................................................................... 36
Figura 5.2 Diagrama de clase a aplicaiei................................................................................ 39
Figura 6.1 Pagina Login.jsf...................................................................................................... 48
Figura 6.2 Pagina Admin.jsf.................................................................................................... 48
Figura 6.3 Pagina Addswitch.jsf.............................................................................................. 49
Figura 6.4 Pagina Adduser.jsf.................................................................................................. 49
Figura 6.5 Pagina Addcompany.jsf.......................................................................................... 50
Figura 6.6 Pagina Adddevice.jsf.............................................................................................. 51
Figura 6.7 Pagina Settings.jsf.................................................................................................. 51
Figura 6.8 Pagina Graph.jsf..................................................................................................... 52
Figura 6.9 Exemplu de grafic................................................................................................... 53
Figura 6.10 Pagina User.jsf...................................................................................................... 54
Figura 8.1 Graficul unui server cu probleme........................................................................... 58
Lista Tabelelor
Tabel 2.1 Analiza comparativa a soluiilor existente descrise................................................. 17
Tabel 7.1 Rezultatul unui test de benchmark........................................................................... 56
Tabel 8.1 Avantajele aduse de soluie...................................................................................... 58
Introducere
1. INTRODUCERE
1.1 Context
Internetul este n continu expansiune serviciile web fiind folosite din ce n ce mai
mult. Pentru gzduirea echipamentelor pe care ruleaz site-urile, aplicaiile i alte servicii
online sunt necesare reele special amenajate care ofer conexiuni redundante la internet,
surse nentreruptibile de curent att pentru servere ct i pentru echipamentele de reea
precum i alimentare de la reeaua electric din mai multe puncte sau de la un generator
propriu. Spaiul n care se afl trebuie rcit i bine ventilat pentru a asigura condiii optime de
funcionare tuturor echipamentelor. Acest spaiu, mpreun cu echipamentele, poart numele
de data center sau centru de date i impune existenta unor msuri de securitate suplimentare
pentru protecia datelor.
Centrele de date, n prima parte a existenei lor, nu constau dect n nite ncperi mari
coninnd calculatoarele primilor ani ai erei informatice. Odat cu explozia industriei
microprocesoarelor i a dezvoltrii microcalculaoarelor aceste calculatoare au devenit tot mai
simple, nemaifiind nevoie de echipe complexe de specialiti pentru a le opera. Apariia pe
pia a echipamentelor de reea tot mai ieftine i a standardelor pentru cablarea reelelor a
fcut posibil ca unele companii s i poat ine serverele n spaiul propriu. Pentru multe alte
companii soluia nu a fost practic sau eficient, astfel a aprut migrarea ctre centre de date
private[11].
Figura 1.1 prezint o imagine a unui centru de date. Se poate observa aezarea i
organizarea rack-urilor n rnduri i coloane. Echipamentele din rack-uri au carcase speciale,
rack-mountable, fiind clasificate n funcie de dimensiuni. Dimensiunea celor mai nguste
servere este 1U, o unitate de aproximativ 5 centimetri. Pentru a se pute fixa n rack,
dimensiunile serverelor mai voluminoase sunt multiple ale acestora (2U, 3U, 4U).
Serviciile oferite clienilor sunt colocarea echipamentelor proprii sau nchirierea acestora de la
centrul de date[8]. Pentru clienii care au un numr mai mare de echipamente, inclusiv
propriile echipamente de reea, se poate oferi un rack ntreg sau un grup de rack-uri.
Majoritatea companiilor ce opteaz pentru aceste soluii sunt fie companii de web hosting, fie
companii care au dezvoltat aplicaii web distribuite.
1.2 Motivaie
Pe msur ce se extinde, ca urmare a solicitrilor de servicii din partea unui numr
crescut de clienti, un centru de date trebuie foarte bine organizat i monitorizat. O bun
organizare ajut att extinderea ct i localizarea serverelor i a problemelor hardware.
Monitorizarea are un rol important, buna funcionare i meninerea online a serverelor i
serviciilor depinznd de intervenii ct mai rapide asupra problemelor de orice natur ce pot
apare.
Avnd n vedere faptul c soluiile tradiionale pentru managementul i monitorizarea
unui centru de date folosesc mai multe aplicaii independente iar soluiile Enterprise sunt de
multe ori prea costisitoare, a fost propus proiectarea i implementarea unei aplicaii care s
conin att partea de management ct i partea de monitorizare a echipamentelor din centru
de date.
1.3 Obiective
Organizarea unui centru de date trebuie realizat pe mai multe nivele:
La nivelul fizic, serverele, cablurile i porturile din switch-uri i routere trebuie
etichetate, iar cablurile de reea i de alimentare aranjate n paturi de cablu speciale.
10
Introducere
Serverele sunt puse n rack-uri iar rack-urile sunt numerotate pentru localizarea ct
mai rapid. De obicei rack-urile sunt aezate n rnduri uurnd astfel accesul la
echipamente[18].
La nivelul logic, exist o diagram a centrului de date cu locaia rack-urilor, exist
o baz de date care conine pentru fiecare server cel puin locaia sa exact(rndul i
rack-ul), adresele IP alocate, datele de access (parola de root sau administrator),
numele i datele de contact ale utilizatorului sau a proprietarului, dup caz.
Introducere
Capitolul 2, Studiul bibliografic prezint o scurt descriere a referinelor bibliografice
i evoluia centrelor de date care a determinat apariia acestor sisteme. Tot n acest capitol
sunt descrise cteva din actualele sisteme care ndeplinesc total sau parial cerintele, mpreun
cu avantajele i dezavantajele acestora.
n capitolul 3, Fundamentare teoretic sunt prezentate aspecte despre gestionarea
centrelor de date i monitorizarea echipamentelor subliniindu-se importana acestora. Aici
sunt prezentate i tehnologiile folosite n implementarea sistemului, standardele principale
utilizate ntr-un centru de date, protocoalele i aplicaiile pe care se bazeaz sistemul.
Specificaiile i arhitectura sistemului este capitolul n care se prezint arhitectura
general i o schem bloc a sistemului. Tot aici sunt descrise cerinele detaliate att n ceea ce
privete gestionarea ct i monitorizarea echipamentelor mpreun cu motivaia acestor
cerine.
Proiectarea de detaliu prezint detaliile de implementare ale aplicaiei. Sunt descrise
structura sistemului i a bazei de date mpreun cu diagramele modulelor i modelele
arhitecturale folosite. Se descrie deasemenea realizarea interfeei cu utilizatorul i alte detalii
de implementare.
n capitolul 6, Utilizarea sistemului sunt prezentate cerinele hardware/software ale
echipamentelor monitorizate i ale serverului pe care va rula aplicaia mpreun cu condiiile
de funcionare. Se prezint i un scurt manual de utilizare a aplicaiei.
Testare i rezultate experimentale este un capitol destinat testrii aplicaiei i a
modulelor din care este compus. Tot n acest capitol sunt descrise cateva din probleme
ntlnite pe parcurs i soluionarea acestora.
Capitolul 8, Concluzii i dezvoltare, descrie realizrile i avantajele aduse de sistem,
direcii de dezvoltare i posibile imbuntiri.
12
Studiu bibliografic
2. STUDIU BIBLIOGRAFIC
Pentru documentarea necesar aspectelor teoretice specifice domeniului abordat au
fost consultate o serie de surse bibliografice pe care le menionez in cele ce urmeaz. Acestea
s-au constituit ca punct de plecare absolut necesar fundamentrii teoretice a proiectului, unele
reprezentnd surse reale de inspiraie pentru abordarea propus.
2.1 Coninut bibliografic
Cartea core JavaServer Faces[1] prezint avantajele tehnologiei JSF, n mod special
rapiditatea cu care se face dezvoltarea interfetei cu utilizatorul. n carte sunt prezentate toate
tag-urile JSF si raspunsuri la foarte multe ntrebri.
n lucrarea Essential SNMP[2] este descris protocolul SNMP i utilizarea sa n
managementul i monitorizarea reelelor. Sunt prezentate arhitecturile sistemelor de
monitorizare i o parte din aplicaiile de monitorizare existente.
Lucrarea Retele Locale de Calculatoare de la cablare la interconectare[3] trateaz
primele trei nivele arhitecturale ale modelului de referin OSI i abordeaz toate problemele
teoretice i practice legate de reelele de calculatoare.
n cartea Cascading Style Sheets, 2nd Edition[4] se prezint n mod detaliat
tehnicile pentru integrarea CSS n aplicatiile web, alctuind un mic ghid ce acoper
standardele CSS1 i CSS2.
Lucrrile Windows Admin Scripting Little Black Book, Second Edition[5] i Linux
Shell Scripting with Bash[6] prezint metode de creare a scripturilor si comenzile disponibile
pentru crearea lor pentru sistemele de operare Windows i Linux.
Metodele prin care aplicaiile Java acceseaz date de pe un server MySQL folosind
standardul JDBC sunt prezentate in cartea MySQL and Java Developers Guide[7].
Data Center Fundamentals[8] descrie conceptele care stau la baza organizrii
infrastructurii unui centru de date.
n crile Designing Enterprise Applications with the JavaTM 2 Platform, Enterprise
Edition[9] i J2EE Design Patterns[10] sunt descrise amnunit tehnologiile, modelele
arhitecturale i componentele arhitecturilor utilizate n proiectarea aplicaiilor Enterprise pe
platforma Java.
Articolul History of the data center[11] prezint istoria centrelor de date, de la
primele forme de existen pn n prezent.
Pagina web http://httpd.apache.org/docs/2.0/programs/ab.html[12] descrie utilitarul
de benchmark ab si manualul su de utilizare.
Documentul MySQL 5.0 Reference Manual[13] este manualul de referin al
utilizrii serverului de baze de date MySQL.
Sursele librriilor proiectului OpenDMK i documentaia sa complet sunt disponibile
la adresa web https://opendmk.dev.java.net[14]
Aplicaia OpManager este descris amnunit mpreun cu toate feature-urile la adresa
web [15] unde exist i un demo al acesteia.
Documentaia complet i sursele proiectului RRDJTool se gasesc pe pagina web
http://www.dnseurope.net/opensource/rrdjtool[16].
La adresa web http://oss.oetiker.ch/rrdtool/doc[17] se gsete documentaia
utilitarului RRDTool, descrierea detaliat a fiecrei funcii i exemple demonstrative pentru
fiecare din acestea.
Descrierea standardului TIA-942 este rezumat in documentul TIA-942 Data Center
Standards Overview[18].
Pagina web http://jcp.org/en/home/index[19] prezint descrierea mecanismelor
pentru dezvoltarea specificaiilor tehnice standard n tehnologiile Java.
13
Studiu bibliografic
Articolul
http://www.eweek.com/c/a/Application-Development/OpenSourceFramework-Means-Happy-Trails-for-Java-Developers[20] descrie framework-ul Trails i
avantajele acestuia.
14
Studiu bibliografic
Pentru familiarizarea cu domeniul temei abordate au fost identificate o serie de
instrumente i aplicaii similare existente pe pia i au fost studiate. Au fost instalate i
analizate sub aspectul funcionalitii oferite ct i a raportului pre performan, criteriu
necesar pentru centrele de date de dimensiuni medii. Cele mai reprzentative solutii dintre cele
identificate vor fi descrise succint in continuare.
2.3.1
Cacti
Cacti reprezint un frontend pentru RRDtool, prima versiune a fost lansat n anul
2001, urmnd ca pe parcursul anilor s fie mbuntit, adus la zi cu noutile i s se adauge
capabiliti noi. Este scris n PHP, cu ajutorul lui se pot crea, menine i actualiza grafice i
baze de date de tip RRA(Round Robin Archive).
Se pot seta ci ctre scripturi externe pentru colectarea datelor, sau se pot folosi
scripturi interne. Se pot crea grafice fr a fi nevoie s se cunoasc sintaxa comenzilor pentru
RRDTool acestea putnd fi afiate n mai multe moduri. Deasemenea se pot crea template-uri
pentru sursele de date i grafice, acestea putnd fi aplicate pentru mainile nou adugate n
sistem.
Avantajele sistemului sunt interfaa intuitiv, uor de folosit, posibilitatea aplicrii de
template-uri i metode diferite de afiare a graficelor. Echipamentele sunt aezate structurat i
exist posibilitatea de cutare dup nume.
Studiu bibliografic
2.3.2
Nagios
16
Studiu bibliografic
experienta in utilizarea sa urmarea acestor pasi consumand mult timp) precum si lipsa partii
de management sau pretul in cazul variantelor enterprise.
2.3.3
OpManager
17
Studiu bibliografic
Alertele se pot trimite prin SMS sau email. Se pot seta valori minime sau maxime ale
diferitelor variabile care atunci cnd sunt atinse sau depite se genereaz alertele[15]. Odat
cu trimiterea alertelor, se pot lansa automat scripturi pentru remedierea problemei
semnalate(dac exist aceast posibilitate).
Soluia este cea mai complet, partea de management a clienilor este oferit ca un
plugin, singura problem o reprezint preul pachetului care n funcie de numrul serverelor
monitorizate poate ajunge la zeci de mii de dolari americani.
2.3.4
Analiza comparativa
n tabelul de mai jos sunt prezentate prin comparaie principalele caracterisitci ale
celor trei aplicaii. Au fost stabilite un set de caracteristici necesare realizrii comparaiei i
anume: monitorizarea echipamentelor(a traficului realizat, a strii serverelor sau a serviciilor
ce ruleaz pe servere) i crearea de grafice, trimiterea de alerte sub orice form (email, sms,
internet messenger), managementul echipamentelor i al bazei de date cu clienilor.
Comparaia este generic ntru identificarea unor aspecte importante i necesare a fi incluse
intr-un produs de monitorizare si management util unui centru de date.
Caracteristici
Cacti
Nagios
OpManager
Creare grafice
DA
DA
DA
Monitorizare
echipamente
NU
DA
DA
Trimitere
Alerte
NU
DA
DA
Management
echipamente
NU
Partial
DA
Management clienti
NU
NU
DA
Pret
gratuit
gratuit/mediu
mare
Cacti este doar o interfa pentru rrdtool, dar este gratuit i foarte uor de instalat,
configurat i folosit este o soluie parial fiind utilizat doar n combinaie cu alte aplicaii.
Nagios, dei are mai multe faciliti dect Cacti, este destul de greu de configurat, dar poate fi
o soluie pentru un administrator experimentat. OpManager este de departe cea mai complet
aplicaie, dar preul este foarte mare i n licen sunt incluse unele faciliti care nu sunt
ntotdeauna necesare.
n urma analizei aplicaiilor prezentate anterior, a facilitilor puse la dispoziie de
acestea i a funcionalitilor folosite de un administrator n majoritatea interveniilor sale, am
putut identifica un set minimal de elemente necesare unei aplicaii de management i
18
Studiu bibliografic
monitorizare a unui centru de date de dimensiuni medii. Setul cuprinde n mod obligatoriu
crearea de grafice pentru traficul realizat de echipamente, monitorizarea cel puin a existenei
conexiunii pe porturile echipamentelor, trimiterea de alerte n cazul apariiei anumitor
evenimente precum i managementul echipamentelor pentru identificarea i localizarea
rapid a acestora i managementul bazei de date cu clieni.
19
Fundamentare teoretica
3. FUNDAMENTARE TEORETIC
3.1 Gestionarea centrelor de date
Gestionarea centrelor de date este o component foarte important pentru buna
funcionare a sa. Aceasta trebuie bine indeplinit att la nivel fizic ct i virtual. Odat cu
creterea numrului echipamentelor, ele trebuie bine organizate i etichetate, deasemenea
trebuie inut o eviden clar a tuturor componentelor rezervate schimburilor(n cazul
defectrii) sau mbuntirilor sistemelor.
La nivel fizic aceasta se realizeaz n prima faz prin aezarea echipamentelor n
rack-uri, organizate pe rnduri i numerotarea sau atribuirea de nume pentru fiecare rnd i
coloan. Echipamentele se eticheteaz ct mai sugestiv pentru a ajuta la localizarea i
identificarea ct mai rapid a acestora. Deasemenea cablurile de reea sunt organizate i
aezate n paturi speciale, avnd la rndul lor etichete cu numrul porturilor n care sunt
introduse celelalte capete. De exemplu, o etichet a unui server poate conine urmtoarele
elemente:
Fundamentare teoretica
Problemele hardware intervin datorit uzurii i a defectelor de fabricaie a
componentelor, fiind nevoie s se intervin pentru nlocuirea acestora. Un HDD defect poate
duce la pierderi de date, pe cnd alte componente precum memoria sau plcile de reea pot
provoca perioade de downtime neprogramat. Problemele software, aprute de multe ori n
urma configurrii defectuoase sau a update-urilor automate pot provoca la rndul lor
ntreruperi ale serviciilor, sau, mai rar pierderi de date. O problem detectat la timp i
rezolvat ct mai eficient minimizeaz pagubele ce pot fi cauzate clienilor.
Serverele compromise sunt deasemenea un risc deoarece de cele mai multe ori de pe
acestea se iniiaz activiti ilegale de tip DOS, flood, port scaning sau spam, care pot afecta
buna funcionare a celorlalte servere sau pot incomoda utilizatorii acestora.
n al doilea rnd, monitorizarea traficului este important deoarece limea de band
este limitat i taxat. Astfel, pentru acoperirea cheltuielilor centrului de date, exist pachete
oferite spre vnzare clienilor, pachete ce au cantiti de trafic exacte, incluse n abonament.
Deasemenea, n cazul mainilor virtuale, care de cele mai multe ori mpart o singur plac de
reea, monitorizarea i limitarea traficului duce la buna funcionare a tuturor serverelor de pe
un nod.
3.3 Tehnologii, standarde, protocoale si unelte utilizate in centre de date
Au fost identificate mai multe standarde, tehnologii i protocoale utilizate ntr-un
centru de date de dimensiuni mici i medii, printre acestea amintim standardul IEEE 802.3,
standard ce definete Ethernet-ul, TIA-942, satandard care descrie infrastructura unui centru
de date i protocolul SNMP, utilizat n comunicarea cu echipamentele de reea n scopul
monitorizrii acestora. Pentru dezvoltarea aplicaiei am folosit un set de tehnologii i tool-uri
care cuprinde Java Enterprise Edition mpreun cu framework-ul JSF, utilizate n dezvoltarea
aplicaiilor web, MySQL, un sistem de gestiune a bazelor de date foarte cunoscut i des
utilizat i RRDTool, o unealt folosit pentru a stoca date i a genera grafice folosind aceste
date stocate.
3.3.1
21
Fundamentare teoretica
3.3.2
Standardul TIA-942
Protocolul SNMP
22
Fundamentare teoretica
Java si JSF
Fundamentare teoretica
urilor software moderne. Unele organizaii au construit propriile framework-uri care satisfac
cerinele specifice domeniului n care lucreaz, dar au aprut i framework-uri open source
precum Struts, Spring, JSF, Tapestry, Makumba, Seam sau Trails, care a fost numit de ctre
fondatorul su, Chris Nelson, un metaframework sau framework de framework-uri (utilizeaz
Hibernate pentru persistena, Tapestry pentru componente web, Spring pentru rezolvarea
dependinelor i Acegi pentru securitate)[20].
JSF este un framework dezvoltat folosind Java Community Process, un mecanism de
dezvoltare a specificaiilor standard tehnice pentru Java.[19] Pentru a introduce o specificaie
nou se folosesc documente formale care descriu specificaiile i tehnologiile respective.
Aceste documente se numesc Java Specification Requests (JRSs). De exemplu JSF versiunile
1.0 i 1.1 sunt descrise n JSR 127, versiunea 1.2 n JSR 252 iar versiunea 2.0 n JSR 314.
Printre avantajele oferite de JSF se numra: uurina n a crea interfaa cu utilizatorul,
separarea clar ntre nivelul de logic i cel de prezentare al aplicaiei, arhitectura
extensibil(componentele i funcionalitile se pot customiza), cicluri de dezvoltare mai
scurte datorit separrii ntre logic i prezentare, suport pentru limbaje internationale i
existena aplicaiilor care ofer unelte pentru a crea interfaa cu utilizatorul[1]. Aceste
avantaje au condus la alegerea tehnologiei pentru implementarea aplicaiei.
3.3.5
MySQL
3.3.6
RRDtool
RRDtool a fost scris de ctre Tobi Oetiker ca un nlocuitor pentru Multi Router Traffic
Grapher (MRTG o aplicaie monitorizare a traficului scris n perl), software-ul este liber i
disponibil n termenii licenei GNU General Public License. Numele este un acronim pentru
Round Robin Database Tool.
Round robin este o tehnic ce lucreaz cu cantiti fixe de date i un pointer le
elementul curent. Pentru ilustrare se poate considera c datele sunt aranjate ntr-un cerc iar o
sgeat ndreptat dinspre centru spre margine este pointerul. Cnd o dat este citit sau scris
se trece la urmtorul element. Datele fiind aezate sub forma unui cerc nu exist nceput sau
sfrit, astfel pointerul se poate deplasa ctre urmtorul element la infinit, refolosind locaia
24
Fundamentare teoretica
cea mai veche. n acest fel dimensiunea bazei de date va rmne constant evident n
detrimentul pierderii datelor vechi. ntr-o baza de date round robin se pot stoca date de orice
fel, cu condiia ca acestea s fie numerice i s fie msurabile n timp, adic s reprezinte serii
de timp[17].
RRDtool are funcii cu ajutorul crora se pot crea, modifica, actualiza, exporta baze de
date de tip round robin, funcii de preluare a anumitor informaii legate de acestea sau de
datele stocate. Programul mai are si o alt facilitate prin care recupereaz datele stocate i le
afieaz sub form de grafice.[17]
Cele mai importante funcii sunt:
create creaz o nou baz de date de tip round robin
update reine o nou valoare n baza de date, aceasta fiind scris n locaia valorii
celei mai vechi
graph creeaz un grafic pornind de la datele uneia sau a mai multor baze de date
transmise ca parametri
dump export datele din baza de date n format ASCII.
restore reface o baz de date dintr-un fiier n format XML, mpreun cu dump,
ajut la migrarea unor baze de date de pe o arhitectur pe alta.
fetch returneaz datele dintr-o anumit perioad de timp
Funciile utilizate n cadrul aplicaiei sunt create, update i graph
3.4 Arhitecturi software multinivel
Exist trei modele de dezvoltare a unei aplicaii de tip client-server:
25
Fundamentare teoretica
Arhitectura pe un nivel (one tier architecture) apare cnd serverul i clientul sunt una
i aceeai aplicaie. Acest model descrie aplicaii relativ simple dezvoltate n ntregime ntr-un
singur mediu de programare. Datele, formularele folosite pentru introducerea lor (interfaa
grafic) i regulile care guverneaz controlul corectitudinii datelor sunt scrise toate ntr-un
singur loc.
Arhitectura pe dou nivele (two layer architecture) apare cnd datele se gsesc ntr-un
alt mediu i sunt accesate prin intermediul primului nivel. Aceast arhitectur descrie unele
aplicaiile client-server. Datele sunt stocate ntr-un server de baze de date primul nivel fiind
responsabil pentru interfaa utilizator i logica programului.
Arhitectura pe trei nivele (three tier architecture) regulile de validare sunt stocate
ntr-un mediu propriu (de multe ori pe echipamente dedicate), astfel nct aplicaiile client le
pot folosi independent una de alta i independent de datele existente. n acest fel, aplicaia
client ofer interfaa, serverul de baze de date ofer datele, iar al doilea nivel se ocup de
validarea datelor[9]. Acest lucru nseamn c exist dou comunicaii client-server: una ntre
aplicaiile client i nivelul al doilea, iar cealalt intre nivelul al doilea i serverul de baze de
date. Aplicaiile client nu comunic niciodat direct cu serverul de baze de date.
Aplicaia prezentat n lucrare este dezvoltat pe trei nivele astfel: nivelul nti
reprezentat de interfaa aplicaiei web accesat prin intermediul unui browser, nivelul doi
compus din agentul snmp, logica de control i validare a datelor i nivelul trei reprezentat de
serverul de baze de date(MySQL) i bazele de date de tip round robin.
26
27
Accesibilitate
Sistemul va fi disponibil att din punct de vedere al locaiei utilizatorilor, fiind o
aplicaie web acetia vor avea nevoie doar de conectivitate la internet i un browser, ct i din
puctul de vedere al cunotinelor necesare, interfaa fiind intuitiv, prietenoas i uor de
utilizat.
Scalabilitate
Administratorul va putea aduga noi echipamente fr a se face vreo modificare
asupra aplicaiei, acestea, odat introduse n baza de date vor fi monitorizate automat de ctre
sistem. Scalabilitatea este necesar deoarece centrul de date este ntr-o continu dezvoltare i
extindere.
28
Disponibilitate
29
Utilizator:
o Editarea datelor echipamentelor proprii
o Vizualizarea graficelor echipamentelor proprii
30
31
33
Flexibilitate se pot modifica sau nlocui oricare dintre cele trei nivele fr a le
afecta pe celelalte.
35
36