-
1. Verteilte Datenbanken - Eigenschaften
BDD = colectie de BD legate intre ele intr-o retea de
calculatoare.
Datele sunt impartite fizic pe m.m calculatoare, dar aplicatiile
nu cunosc aceasta
impartire vad doar o BD = principiul transparentei.
SDBD = sistem distribuit de BDate = sistem prin care se pot
dezvolta aplicatii cu
cerinte mari dpdv al prelucrarii datelor.
Face posibila folosire in acelasi timp a puterii de procesare a
m.multor calculatoare
Alcatuit din BDDistribuite + sistem distribuit de management al
bazelor de date
(SMBD)
Face impartirea sa fie transparenta
Avantaje:
1. Independenta datelor fata de suportul fizic de memorare
2. Transparenta distributiei in retea u.nu stie detalii distr.
date in retea: localizare,
nume E
3. Transparenta privind replicarea + fragmentarea datelor
4. Volum de stocare a datelor crescut
5. Siguranta de functionare, siguranta de disponibilitate
6. Date+sistem de gestiune: distribuite in m.multe site-uri
=> caz defectare un site:
alte site-uri pot sa continue sa functioneze + u. pot sa
acceseze cel putin o parte din
date
Dezavantaje;
1. Complexitate mai ridicata privind: proiectarea,
administrarea, intretinerea
2. Dificultati: necesitate de
a. prelucrare distribuita a interogarilor +
b. control al tranzactiilor distribuite
3. Securitatea necesita mecanisme speciale de protective:
autentificare + criptare date
datorita comunicatiilor prin retea
4. Dificultati de mentinere a integritatii datelor:
a. Necesita operatii in retea,
b. Pot incarca mult capacitatea retelei
-
2. Verteiltes Datenbanksystem - Schema / Lokale Schema
BDD = multime de BD stocate pe multiple servere
O aplicatie:
o vede o singura BD
o poate modifica simultan diferite BD in retea
Fiecare BD din sistem:
o e controlata de pe un server
o coopereaza si cu alte BD pentru a mentine consistenta BD
Globala
server de BD = soft pentru administrarea unei BD
client = aplicatie care da un request pentru informatii de pe
server
Fiecare computer dintr-un sistem (SBDD) este un NOD
o se comporta precum:
un client
un server
sau amandoua, in functie de situatie.
Schema locala:
- fiecare statie poate sa :
o lucreze cu datele autonomy
o comunice global cu alte calculatoare
- schema locala:
o nu e integral adusa in schema globala, iar autonomia locala e
data
doar partial
o contine informatii despre:
nodurile fragmentelor stocate
alocarea + replicarea fragmentelor relationale
Transparenta Schemei Locale dicteaza ca toate calculatoarele
folosesc acelasi model
de date si acelasi sistem de gestiune problema: acest lucru nu e
posibil cand se leaga
diferite SMBD-uri.
-
3. Fragmentierung einer Relation, Fragmentierung:
Korrektheits-Anforderungen
Fragmentare = partitionarea unei relatii globale.
3 tipuri de F: Orizontala, Verticala, Mixta.
Fragmentarea Orizontala = F.O presupune multimi de date
disjuncte.
Fragmentarea Verticala = F.V coordoneaza punerea impreuna a A2
cu acelasi mod
de accesare.
Fragmentarea Mixta = F.M combina F.O si F.V
Cerinte de corectitudine: fragmentarea trebuie sa respecte
anumite cerinte.
Reconstructia
o Este posibila reconstructia relatiei fragmentate, bazandu-ne
pe fragmentele
acesteia.
Integritatea
o Fiecare fisier trebuie sa corespunda unui fragment.
Disjunctivitatea
o F2 nu se suprapun = un fisier nu poate sa apartina mai multor
fragmente.
-
4. Horizontale Fragmentierung + Abgeleitete H.
Fragmentierung
F.O = tip de fragmentare
o Presupune impartirea multimii de date pe m.multe tabele
o Se mai numeste si regionalizare
o Exemplu: corporatie cu reprezentante in SUA si Europa. Putem
fragmenta
datele prin: memorare date aferente reprezentantelor
din SUA intr-un server din SUA,
din Europa pe un server din Franta.
F.O Derivata
o este definita pe relatia membru a unei legaturi dupa o
operatie de selectie
specificata de proprietarul legaturii.
o legatura dintre relatiile proprietar si membru e definite ca
un equi-join. Un
equi-join poate fi implementat cu ajutorul semi-join-urilor.
Vertikale Fragmentierung = F.V
F.V = tip de fragmentare consta in separarea dupa coloana
Fiecare tabel rezultat dintr-o F.V contine o parte din A2 care
nu sunt Chei + toate
A2 Cheie, care sunt repetate in fiecare tabel nou.
Kombinierte Fragmentierung = F.M
F.M = tip de fragmentare
o combina F.O si F.V.
o consta in aplicarea F.V la un F.O sau invers
o in practica este bine sa existe cel mult 2 divele de
fragmentare
exemplu: tabelul cu studentii universitatii:
o dpdv vertical: fragmentarea va imparti datele dpdv al
functionalitatii =>
tabelul cu datele personale StudPers (CNP, nume..)
tabelul cu datele specifice facultatii StudFac (nr grupa,
specializare..)
apartinand celor 2 tabel e: Cheia Primara = numarMatricol
o dpdv al F.O - putem s fragmentm datele studenilor din tabelul
StudFac,
pentru a memora studenii de la faculti diferite n locaii
diferite.
Astfel am avea o fragmentare mixta.
-
5. Baumdarstellung der Fragmentierung
exemplu: tabelul cu studentii universitatii:
a. dpdv vertical: fragmentarea va imparti datele dpdv al
functionalitatii =>
1.tabelul cu datele personale StudPers (CNP, nume..)
2.tabelul cu datele specifice facultatii StudFac (nr grupa,
specializare..)
3.apartinand celor 2 tabel e: Cheia Primara = numarMatricol
b. dpdv al F.Orizontale - putem s fragmentm datele studenilor
din tabelul
StudFac, pentru a memora studenii de la faculti diferite n
locaii diferite.
Astfel am avea o fragmentare mixta.
Fragmentarea efectuat mai sus poate fi reprezentat astfel:
-
6. Allokation einer Relation
Alocarea intr-o baza de date distribuita arata unde sunt salvate
datele. Fiind cunoscuta
alocarea, se pot efectua operatii impotriva redundantei, sau a
incorectidudinii datelor,
deoarece stim unde se afla fizic datele.
Proiectarea BDDistribuite implica doua activitati specifice,
care iau in considerare
natura distribuita a datelor: fragmentarea si alocarea
datelor.
Problema alocarii resurselor in sistemele distribuite poate fi
definita astfel:
Fiind date un set de Fragmente F= {F1, F2, .., Fn} si o retea
formata din mai multe
Noduri N ={N1, N2, .., Nn}, in care ruleaza un set de Aplicatii
A= {A1, A2, .., An}
Trebuie gasita o solutie optima de distribuire a fragmentelor F
pe nodurile N.
Solutia optima de distribuire poate fi definita prin intermediul
a 2 obiective:
Minimizarea costurilor. Cost total = costuri de comunicatie +
costuri de prelucrare a
operatiilor de interogare si actualizare a fiecarui fragment de
pe fiecare nod + costuri
de stocare a fiecarui F pe fiecare N.
Maximizarea performantelor. Performante apreciate prin timpii de
raspuns aferenti
operatiunilor de accesare si prelucrare a datelor. Timp de
raspuns al unei T = timp de
transmisie prin retea + timp de accesare locala a datelor +
timpul de prelucrare locala a
datelor.
Alocare in 2 etape: definirea strategiei de alocare + alegerea
metodei de alocare ce va fi
utilizata.
Concluzie: alocarea datelor are ca obiectiv gasirea solutiei
optime de plasare a fragmentelor
in conditiile minimizarii costurilor si maximizarii
performantelor.
Atingerea acestui obiectiv impune
1. Definirea atenta a strategiei de alocare, in functie de
care
2. Se va alege apoi metoda de lucru adecvata.
Definirea strategiei de alocare implica analiza atenta a
cerintelor privind:
consistenta datelor, ponderea operatiunilor de actualizare in
raport cu cele de
interogare, timpii de raspuns planificati, etc
in functie de care se poate opta pentru distribuire sau
replicare.
-
7. Transparenz in verteilten Datenbanken
Un sistem distribuit de gestiune a bazelor de date (SGBDD) este
un sistem de
programe care permite gestionarea bazei de date distribuite i
face distribuirea
transparent pentru utilizatori.
Obiectivul transparenei este de a face ca un sistem distribuit s
apar ca unul
centralizat. Acesta fiind denumit uneori principiul fundamental
al SGBDD.
Exist trei tipuri de transparen:
- de fragmentare
o presupune c utilizatorul vede doar schema global, fr s vad
fragmentarea
sau alocarea.
- de alocare
o utilizatorul vede fragmentarea bazei de date, dar nu si
alocarea ei.
- de schema locala
o utilizatorul vede i fragmentarea i alocarea, vede doar un
model de date,
nefiind vizibil cuplarea mai multor SGBD-uri.
-
8. Anfragebersetzung und Anfrageoptimierung.
Algebraische Optimierung, Optimierung bei vertikaler
Fragmentierung
Prelucrarea cererilor = interpretarea i optimizarea cererilor la
F.O si F.V
Interpretarea cererilor = pp. generarea unui plan de evaluare pe
fragmente
Optimizarea cererilor = are rolul de a genera un plan ct mai
eficient pe ct posibil.
Plan eficient ia in calcul:
o alocarea datelor
o costurile de tranfer
o puterea de prelucrare a unitatilor
n cazul prelucrarii cerinelor, trebuie ct mai multe operaiuni s
fie prelucrate local.
F.Orizontala pp. efort mare de unificare a datelor, de aceea pe
ct posibil trebuie evitat o
reconstrucie global a tabelului.
n cazul fragmentrii verticale, trebuie nti stabilit ce date sunt
necesare pentru ca cererea
s fie efectuat. Pentru ca algoritmul s fie optim, trebuie
selectate cu cat mai puine
fragmente
-
9. Join-Auswertung Moeglichkeiten in VDBMS, Join-Auswertung mit
Filterung,
Alternative Auswertungungsplne - Parameter fr die Kosten
eines
Auswertungsplan
Problema procesrii cererilor este mult mai complex n mediile
distribuite. n sistemele
cu mai multe staii, timpul de raspuns va crete considerabil dac
cererea implic operaii de
tip JOIN pe tabelele de dimensiuni mari. Unul dintre cei mai
costisitori costisitori operatori
relaionali este operatorul join ( compunere ).
Pentru a optimiza eficient o comanda SQL care utilizeaz
operatori join, trebuie s se in
cont de ordinea de execuie a join-urilor, astfel nct la fiecare
pas s fie obinute ct mai pune
nregistrri ce vor fi utilizate n urmtoarea operaie join. De
asemenea, este important i
alegerea metodei de procesare a join-ului, astfel nct aceasta s
fie adecvat numrului de
tupluri care intr in join.
Cele mai multe sisteme de baze de date utilizeaz pentru
implementarea join-ului diverse
forme ale algoritmilor Nested Loops, Sort Merge i Hash-Join.
Procesarea de instruciuni join cu filtrare presupune folosirea
operatorului de semijoin
pentru filtrare. Ideea de baz este trasferul (...) tuplurilor
care au un partener-join asociat.
Problema optimizrii execuiei interogrilor distribuite are scopul
de a obine un timp de
rspuns al sistemului ct mai mic posibil n condiiile minimizrii
costului total de execuie.
Costul total de execuie al unei interogri const n costul de
prelucrare (CCPU) + costurile de
accesare a discurilor (CI/O) + costul comunicaiei ntre
noduri.
-
10. Transaktionskontrolle in VDBMS
o tranzacie se poate ntinde pe mai multe maini fizice conectate
ntre ele => controlul
tranzaciilor este foarte dificil, pentru a reconstrui datele
unei operaiuni care a fost
ntrerupt.
Pentru recuperare ( recovery ) exist operaiunile UNDO i
REDO.
Dupa cum spune i numele,
o UNDO anuleaz schimbrile efectuate, iar
o REDO repet schimbrile de la capt atunci cnd o tranzacie a fost
ntrerupt.
tranzaciile trebuie sa nu fie executate incomplet => exist
operaiuni de tip end-of-
transaction, precum COMMIT i ABORT.
o COMMIT presupune ncheierea complet a unei tranzacii, iar
o ABORT este apelat atunci cnd o tranzacie global este ntrerupt,
astfel toate
prile locale sunt aduse n starea de dinaintea tranzaciei.
-
11. Zweiphasen-Commit-Protokoll
protocol care asigur integritatea datelor cu privire la operaia
end-of-transaction.
n acest protocol se presupune c exist un coordonator C i mai
muli ageni ( A1, A2,
... An) care iau parte la o tranzacie.
Interaciunea ntre coordonator i ageni se poate urmri n schema
urmtoare:
- C trimite tuturor mesajul PREPARE;
- agenii primesc acest mesaj i ori trimit napoi READY sau
FAILED, dac nu pot face
COMMIT-ul mai departe.
- Dac toi agenii trimit rspunsul READY, C trimite comanda COMMIT
i asteapt
confirmarea ACK.
- Dac nu sunt toate READY sau nu rspund n timpul stabilit, C
trimite comanda de
ABORT i ateapt ACK c au anulat tranzacia.
-
12. Fehlersituationen des 2PC-Protokolls
Situatii de erori in 2PC:
ntreruperea coordonatorului
- nainte de o comanda tip COMMIT => se trimite un ABORT
- nainte de trimiterea unei comenzi de tip READY => se
blocheaz agenii
ntreruperea unui agent
- cnd un agent la o comand de tip PREPARE nu rspunde n timpul
stabilit
nseamn c agentul este deranjat temporar => coordonatorul vede
i trimite
ABORT
- fiierul log al agentului:
o nu conine READY => trimite FAILED napoi
o conine READY dar nu COMMIT => agentul ntreab coordonatorul
i
ateapt comanda COMMIT sau ABORT
o conine COMMIT => agentul tie c o comunicare este necesar,
nu poate
primi doar aceast comand
Pierderea unui mesaj
o Se pierde un mesaj de tip PREPARE sau READY/FAILED. Dup
impulsul de
timeout C trimite ABORT
o De data asta nu se pierde un PREPARE ci un aget rspunde i nu
primete
niciun rspuns de COMMIT/ABORT => agentul trimite lui C un
reminder
-
13. Mehrbenutzersynchronisation in VDBMS
Deoarece datele trebuie s fie accesate de mai muli utilizatori n
acelai timp, se creeaz
anumite probleme cu privire la accesul simultan asupra
datelor.
Acest lucru este posibil prin serializare, ns nu ar putea
funciona rapid o serializare pe
fiecare dintre calculatoare, de aceea sincronizarea mai multor
utilizatori trebuie s se bazeze
pe serializarea global.
Protocolul de blocare n dou faze ( 2 phase locking protocol
)
local
- pe fiecare calculator tranzaciile locale trebuie s comunice cu
propriul administrator
- tranzaciile locale sunt favorizate, ns recunoaterea
aa-numitelor deadlocks este
mult m??
global
- exist un coordonator de blocare central
- acest coordonator respect autonomia calculatoarelor, ns pentru
a avea drepturi de
blocare, fiecare computer trebuie s le cear coordonatorului
central
-
14. Deadlocks in VDBMS, Zentralisierte Deadlock-Erkennung,
Deadlock-Vermeidung
Deadlocks in SGBDD
Deadlock - descrie o stare n care unul sau mai multe procese
ateap eliberarea unor resurse
care deja sunt ocupate de unul sau mai multe dintre ele.
Identificarea centralizat a Deadlock-urilor
Un Deadlock este mai uor de identificat i procesele s fie
restartate, dect de prevenit,
deoarece trebuie doar inute minte alocrile de resurse. ( Astfel
cnd se identific un
Deadlock, procesele sunt restartate pentru a nceta Deadlock-ul.
Recunoaterea Deadlock-
urilor se poate folosi de un graf de ateptate, fie global sau
local. ntr-un graf local, se
consider un nod Extern, n care se duc toate arcele de ateptare
ctre alte maini fizice. )
n acest tip de identificare, se numete un nod de control. Acesta
servete ca un hub central
pentru activitile de detecie a activitilor Deadlock. Activitatea
primar a acestui nod de
control este de a nregistra grafurile de ateptare i de a cuta
cicluri tip Deadlock. Restartarea
proceselor i eliberarea resurselor se poate face doar pe acest
nod.
Transmiterea continu de mesaje pentru meninerea actualitii
grafului de ateptare
presupune un efort de transmisie. O mbunatire la acest algoritm
ar fi dac fiecare nod i-ar
executa propriul graf de ateptare, care doar periodic ar fi
trimis nodului de control.
Evitarea Deadlock-urilor
Exist algoritmi care se folosesc de date de tip timestamp.
Astfel se cunoate care process
ruleaz de mai mult timp i se poate prioritiza care proces
primete acces la resurse i care
proces ateapt sau este nchis.
Exist dou tipuri de algoritmi de evitare a unui Deadlock:
Wait/Die i Wound/Wait. Dac
V ar fi procesul vechi i T cel tnr, sistemul s-ar comporta
astfel:
Wait/Die Wound/Wait
V are nevoie de o resurs de la N V ateapt ( wait ) N - moare
N are nevoie de o resurs de la V N moare ( die ) N ateapt
-
15. Synchronisation bei replizierten Daten
Exist cazuri n care o informaie este repetat n SGBDD.
O tranzacie de citire necesit doar o copie, ns atunci cnd
schimbm ceva, trebuie
actualizate toate copiile.
De aici rezult un timp ndelungat de execuie.
Exist dou tipuri de replicare: activ i pasiv.
Replicarea activ = procesm aceeai tranzacie la fiecare copie,
iar
cea pasiv presupune c fiecare tranzacie este executat doar pe o
singur copie, dup
care informaia este trasferat celorlalte replici.
Dac n cazul replicrii pasive se alege o copie central pentru a
fi procesat de toate
tranzaciile, vorbim de o schem primary-backup sau
master-slave.
n cazul opus, cnd orice copie poate procesa cererile, atunci
schema este multi-
primary sau multi-master.
De obicei ntr-o BDD se folosete relaia de tip master-slave.
n cazul n care se folosete relaia de multi-master, exist
conflicte atunci cnd mai
multe copii sunt schimbate aproximativ simultan, iar acestea
sunt tratate prin dou
moduri.
Un sistem ce dorete s previn astfel de conflicturi nu execut
commit-uri pn la
capt i ar renuna la una dintre tranzacii. Un astfel de sistem ar
atepta pn la
resincronizare pentru a actualiza datele i ar alege copia cu
timestamp-ul cel mai nou.
-
16. Phasen des Data Warehouse
1. Monitorizarea: Aceasta faza presupune tinerea sub observatie
a surselor, descoperirea
schimbarilor de date, care sunt relevante pentru Data
Warehouse
2. Extragerea: Se extrag date din surse diferite. Aceasta
selectie de surse de date depinde
de relevanta acestor date pentru evaluarea planificata, precum
si de calitatea datelor.
3. Transformarea: Este faza in care se integreaza datele, pentru
a forma un stoc unitar de
date, pentru Data Warehouse.
4. Incarcarea: Exista doua faze de incarcare: initializarea, si
actualizarea datelor. Cea
dintai vizeaza toate datele din Data Warehouse iar actualizarea
priveste numai acele
date din Data Warehouse care au fost schimbate.
5. Analizarea: Aceasta faza poate fi impartita in Data Access,
OLAP si Data Mining
Un depozit de date furnizeaz o surs integrat i centralizat de
date, aparte fa de sistemul
tranzacional, care conine datele eseniale despre activitatea
companiei din multitudinea de
surse de date existente. Rapoartele obinute pe baza acestor date
sunt utilizate ca un
instrument de analiz strategic i competitiv. Analizele rapide i
corecte pot influena deciziile
privind evoluia organizaiei pe termen mediu i lung.
un depozit de date este o colecie de date orientate pe subiecte,
integrate, istorice i nevolatile
destinat sprijinirii procesului de luare a deciziilor
manageriale William Inmon
Caracteristici:
Depozitul de date asigura accsul la datele organizatiei. Acces:
imediat, la cerere,
performant.
Datele dintr-un depozit trebuie sa fie consistente. Consistenta:
atunci cnd dou
persoane solicit acelai set de informaii s primeasc aceleai
date, chiar dac ele au
fost cerute la momente de timp diferite
Datele ntr-un depozit de date pot fi separate i combinate pentru
a oferi un acces ct
mai rapid i un timp de rspuns ct mai mic sistemului
Depozitele de date nu reprezint doar datele, ci i un set de
utilitare pentru a interoga,
analiza, prezenta informaiile
Datele din depozite sunt utilizate direct n analize, fr alte
prelucrri suplimentare.
Datele nu sunt doar acumulate la un loc i pstrate ci sunt
asamblate dintr-o varietate
de surse, sunt corectate de erori, li se asigur calitatea
necesar i abia apoi devin
utilizabile
Calitatea datelor din depozitele de date este un factor
determinant pentru procesul de
reculegere a datelor.
-
17. SQL
-
18. Maven
Produs Apache
Instrument de gestiune a unui proiect software
Prin gestiune se intelege construirea, raportarea si
documentarea proiectului bazata pe
conceptul de POM (Project Object Management)
POM unitate fundamentala de lucru in Maven, fisier XML contine
informatii
despre proiect + detalii de configurare.
Unul dintre cele mai cunoscute builder-e. Capabilitati:
o Procesare, compilare, impachetare, testare, distributie
o Ruleaza/ genereaza rapoarte
o Faciliteaza comunicarea intre membrii unei echipe de lucru
Un fiier XML descrie proiectul care urmeaz s fie build-uit,
dependenele acestuia
sau alte module i componente de care depinde, ordinea n care se
execut build-ul,
directoarele i plug-in-urile necesare.
Maven descarc dinamic bibliotecile Java i plug-in-uri necesare,
din unul sau mai
multe repository-uri.
-
19. Jboss
JBoss Enterprise Application Platform - o platforma de baza
pentru aplicatiile Java.
face deosebit de facila dezvoltarea, implementarea si
administrarea aplicatiilor Java.
Contine tehnologii de varf open source pentru crearea si
gazduirea de aplicatii Java si
servicii in Service Oriented Architecture.
face enterprise Java simpla, deschisa si accesibila.
realizeaza un echilibru intre inovatie si stabilitate. JBoss EAP
imbunatateste
productivitatea dezvoltatorilor, elimina complexitatea
dezvoltarii in Java si simplifica
dezvoltarea aplicatiilor critice.
Application Platform contine JBoss Application Server, serverul
de aplicatii Java si servicii
web si integreaza: Jboss Hibernate si JBoss Seam.
Beneficii
Foloseste standarde open
Imbunatateste productivitatea utilizatorului
Inovatie cu stabilitate
Performanta de nivel enterprise
JBoss Aplication Server: cel mai folosit server de aplicatii de
pe piata.
O platforma Java certificata pentru dezvoltarea si implementarea
de aplicatii
enterprise.
Suporta API-urile traditionale cat si Java EE API si contine
performanta si
scalabilitate imbunatatita.
Contine suport extins pentru facilitate Java EE 5 cum ar fi:
EJB, Java Persistence API,
Servlet, JSP JSP/EL, JSTL, JSF, Java mail, JAF, SAAJ, JTA.
Sisteme de operare suportate.
JBoss Rules este 100% Java => interopereaza cu majoritatea
sistemelor de operare
capabile sa ruleze Java Virtual Machine (JVM):
o Windows, UNIX, Red Hat Enterprise Linux, alte distributii
Linux.
Baze de date suportate.
JBoss EAP lucreaza cu orice baza de date conforma JDBC:
o IBM DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL,
Sybase.
-
20. EJB + Hibernate
Hibernate
Lucrul cu software orientat obiect si baze de date relationale
poate fi time-consuming si poate
cauza diverse erori datorita diferentelor dintre reprezentarea
datele in baza de date si
modelarea lor in obiecte.
- Este un framework free si open-source pentru limbajul Java,
util pentru maparea
modelului orientat pe obiecte peste bazele de date
relationale.
- ofera o solutie rapida, de inalta performanta, independenta de
tipul bazei de date
folosite pentru modelarea obiectelor unei baze relationale.
- principala caracteristica: maparea intre clasele Java si
tabelele bazelor de date precum
si intre tipurile de date Java si SQL
- pune la dispozitie posibilitatea redactarii de query-uri si
data-retrieval
- permite concentrarea asupra obiectelor si particularitatilor
(features) aplicatiei, fara a fi
preocupat de modul in care sunt salvate/ memorate si cum pot fi
gasite mai tarziu
- de ce Hibernate:
o cost effective
o se invata f. usor in comparatie cu EJB
o nu mai este nevoie de JDBC API pentru prelucrarea setului de
rezultate
o migrarea unei aplicatii Java care foloseste Hibernate pentru
lucrul cu baze
relationale la un alt timp de baza(eg. Oracle Postgresql),
presupune putine
schimbari in fisierul de configurare pentru lucrul cu
Hibernate.
- avantaje: aplicatie independenta de BD, este evitat complet
JDBC API, generare de
chei automata, dezvoltare aplicatii in timp scurt.
- suporta diferite Baze de Date: DB2, MySQL, PostgreSQL, Oracle,
SAP DB si altele
- arhitectura: 3 componente majore Connection Management,
Transaction
Management, Object Relational Mapping (ORM)
- furnizeaza 3 facilitari de query:
o Hibernate Query Language
o Hibernate Criteria Query API
o Hibernate Native
- implementare:
o configurare Hibernate,
o setare referinte intre BD si clasele Java,
o build: fisiere xml si java,
o mapare Obiecte la tabelele din DB,
o configurare/ setare tranzactie.
-
EJB = Enterprise Java Beans
Platforma Java EE are o serie de interfete de programare (API)
specifice: RMI, JDBC, JNDI,
Servlets si JSP, JMS (Java Messaging Service), EJB.
EJB
- defineste un model bazat pe componente reutilizabile pentru
partea de server (business
logic) a aplicatiilor,
- implementand automat o serie de servicii si
- asigurand portabilitatea intre diverse servere de
aplicatii.
Exista EJB sesiune, EJB bazate pe mesaje si entitati de
persistenta.
Arhitectura EJB
- permite realizarea unor aplicaii distribuite prin combinarea
de componente dezvoltate
independent, de diferii programatori.
- Componentele se dezvolt o singur dat i pot fi utilizate
(instalate) de cte ori e
necesar.
n cadrul oferit de EJB se deosebesc 7 roluri pe parcursul
ciclului de via al unei aplicaii:
1. Furnizorul de EJB.
2. Asamblorul de aplicaii
3. Instalatorul (Deployer)
4. Furnizorul serverului EJB
5. Furnizorul containerului
6. Furnizorul de persisten
7. Administratorul de sistem
Deadlocks in SGBDDIdentificarea centralizat a
Deadlock-urilorEvitarea Deadlock-urilor