Sunteți pe pagina 1din 13

ACADEMIA DE STUDII ECONOMICE din BUCURETI

FACULTATEA DE CIBERNETIC, STATISTIC


I INFORMATIC ECONOMIC
Integrarea sistemelor inormati!e
"NET #s $A%A

Masterat de Cercetare Informatic Economic
Grupa 1069
Ilie Mihai-Gabriel
BUCURETI
&'()
Contents
Contents......................................................................................................................................2
...................................................................................................................................2
1.Introducere.........................................................................................3
2.Platforele !a"a si .#et...........................................................................................................$
2.1 %icenta...............................................................................................................................6
2.2 &plicatii des'top ..............................................................................................................6
2.3 &plicatii (eb.....................................................................................................................)
2.$ &plicatii obile.................................................................................................................)
3.Maparea relational-obiectuala...............................................................................................*
3.1+ibernate............................................................................................................................*
3.2 ,ntit- .rae(or'.............................................................................................................9
3.3 #+ibernate ....................................................................................................................12
$.Conclu/ii................................................................................................................................12
0iblio1rafie ..............................................................................................................................13

2
1.Introducere
2e/baterea pri"ind de/"oltarea aplicatiilor pe platfora !a"a sau pe platfora .#et
este una ce se desfasoara fara oprire intre sustinatorii celor doua platfore3 fiecare dintre
acestia "orbind despre declinul celeilalte.
!a"a este predecesorul tuturor celorlalte liba4e de pro1raare este open source iar
aplicatiile reali/ate in 4a"a sunt independente de platfora pe care rulea/a3 aspecte ce au facut
ca !a"a sa fie preferat de aatori si profesionisti deopotri"a.In acelasi tip platfora .#et
perite reali/area3 foarte usoar3 a schibuli de date intre di"erse aplicatii soft(are printr-un
set coun de asa nuitele 5e6chan1e forats73
!a"a si .#et sunt platforele doinante in ceea ce pri"este de/"oltarea de aplicatii
soft(are si totodata cele ai raspandite3 iar suprapunerea dintre cele doua este
considerabila.In 2009 $68 din intreprinderi folosesc abele platfore crescand de la 2*8 in
200).&doptia platforei .#et este ai are decat cea a !a"a la copaniile cu ai putin de
9000 de an1a4ati3 in tip ce utili/area !a"a este ai are la copaniile care au ai ult de
20 000 de an1a4ati.Pe se1entul 9000-20 000 de an1a4ati !a"a este in od traditional cea ai
utili/ata insa .#et pare ca "ine din ura In 2010 )18 din aceste copanii foarte ari folosesc
!a"a in tip ce 6*8 folosesc .#et.

3
.i11.1 &doptia platforelor soft(are in perioada 200)-2009 sursa:.orrester ;esearch3 Inc.

.i11.2 Penetrarea se1entelor de piata
2.Platformele Java si .Net
Platfora !a"a consta intr-un liba4 denuit !a"a3 un set de asini "irtuale cu ar fi
!<M3 =<M sau C<M pentru a e6ecuta b-te code-urile interediare pe PC sau sistee
incorporate3 la care se adau1a un set de &PI-uri si biblioteci.<i/iunea !a"a propunea un sin1ur
liba4 pentru toate sisteele de operare si de aceea foloseste protocolul ;eote Methode
In"ocation>;MI?.@un3 de/"oltatorul !a"a3 sustinea ca platfora sa este sin1ura de tipul 5Arite
once run an-(here73 dar dupa introducerea !2,, si a !2M, a adis ca aceasta tipolo1ie nu
functionea/a.
@pre deosebire de platfora !a"a3 .#et consta intr-un set de liba4e de pro1raare
printre care se afla CBB3 <0.#,C><0 ).6? si CD.%a acestea se adau1a un ediu runtie
siilar cu !a"a <irtual Machine si un set de &PI-uri ce inclina puternic in fa"oarea arhiteturii
Aindo(s.;untie-ul este 1a/duit intr-un container ce poate fi un bro(ser3 un ser"er (eb3 sau
un Eperatin1 @-ste @hell si in "iitor poate chair de un ser"er @F%.
In ultiii ani se poate obser"a ca platforele !a"a si .#et continua sa de"ina
con"er1ente si diferenta dintre ele in ceea ce pri"este caracteristicile3 bibliotecile si liba4ele
continua sa se icsore/e.Pe lan1a aceste aspecte abele platfore au fost3 pana intr-un
anuit punct3 portate de pe "ersiunea oficiala si rulea/a acu pe sistee ce nu au fost 1andite
$
de desi1ne-ul ori1inal.&plicatii reali/ate in &@P.#et pot rula prin interediul Mono si a sa
asina "irtuala Coon %an1ua1e ;untie>C%;?3 pe aproape tot atatea platfore ca si
aplicatiile !a"a.

.i1.2.1 &rhitectura C%;
In acelasi tip aplicatiile !a"a pot rula pe platfora .#et cu a4utorul I=<M.#,C un
soft(are 1ratuit ce include uratoarele coponente:
E ipleentare a !a"a <irtual Machine in .#etG
E ipleentare a bibliotecilor de clase !a"a in .#etG
Hn instruent ce traduce b-tecode-ul !a"a>fisiere 4ar? in .#et I%>fisiere
2%%s sau ,I,?G
Instruente pentru interoperabilitate intre !a"a si .#et.
9
.
.i1 2.2 &rhitectura !<M
Cu toate acestea3 in pofida tuturor eleentelor de con"er1enta dintre cele doua
platfore3 e6ista in continuare a"anta4e si de/a"anta4e in ceea ce pri"este ale1erea uneia sau a
alteia pentru aplicatia enterprise3 des'top3 (eb sau obile.
2.1 Licenta
Principala ipleentare a platforei !a"a este disponibila ca o ipleentare de tipul
open source si poarta denuirea de Epen!2=.2esi 5!a"a7 este o arca inre1istrata Eracle3
dupa achi/itionarea @un Micros-stes3 e6ista nueroase proiecte de sof(are 1ratuit
copatibile cu Eracle !a"a3 cele ai notabile fiind G#H Classpath si GC! oferind o
biblioteca de clase si un copilator partial copatibile cu actuala "ersiune de Eracle !a"a.
In ceea ce pri"este .#et3 C%I e6ecutable en"ironent si cate"a biblioteci de clas
aferente au fost standardi/ate si pot fi ipleentate 1ratuit fara licenta.Ca si in ca/ul !a"a au
fost inpleentate cate"a solutii soft(are 1ratuite si copatibile printre care Mono Pro4ect si
2otG#H.
2.2 Aplicatii desktop
2esi bibliotecile &AC>&bstract Aindo( Cool'it? si @(in1 nu duc lipsa de
caracteristici3 !a"a s-a chinut sa se stabili/e/e pe piata aplicatiilor des'top.Hnele opinii spun
ca @un Micros-stes nu a proo"at corespun/ator !a"a de/"oltatorilor si utili/atorilor ca o
solutie "iabila pentru aplicatiile des'top.%ansarea "ersiunii 6.0 in 2ecebrie 2006 a reinnoit
6
atentia pentru aplicatiile des'top introducand un nou set de instruente pentru inte1rare pe
des'top.
.#et este ai populara in /ona aplicatiilor des'top oferind Aindo(s .ors3 Aindo(s
Presentation .oundation si @il"erli1ht.&plicatiile .#et sunt de pri ran1 in ediul Aindo(s
oferind o sen/atie de apartenenta coparati" cu !a"a @(in1.
2.3 Aplicatii web
&cest tip de aplicatii repre/inta /ona cu cea ai are concurenta intre cele doua
platfore. !a"a prin interediul !a"a ,, si .#et prin &@P.#et concurea/a in a oferi continut
dinaic (eb si aplicatii.&bele platfore sunt utili/ate si sunt bine repre/entate in piata prin
seturi ari de instruente si produse adiacente.Cu toate acestea solutiile soft(are la scara
lar1a de tipul 5hi1h-end7 tind sa opte/e pentru platfora !a"a datorita unei stabilitati crescute3
caracteristici cu ar fi !M@3 !C&3 dar si abilitatea de a rula pe orice siste de operare sau
platfora hard(are.
2.4 Aplicatii mobile
In acest doeniu este cunoscut faptul ca platfora &ndroid pentru aplicatii obile
apartinand Goo1le se ba/ea/a pe platfora !a"a3 Goo1le creind o noua asina "irtuala
personali/ata denuita 2al"i' pentru a optii/a e6ecutia codului !a"a pe dispo/it"ele
obile.
Eracle pune la dispo/itie !a"a M, o ipleentare de referinta pentru distribuitorii de
telefoane obile.!a"a M, este alcatuita din di"erse profile ce sunt subseturi ale ediului de
de/"oltare !a"a des'top la care se adau1a biblioteci aditionale ce "i/ea/a dispo/iti"ele obile
si o de/"oltare de aplicatii de tipul set-top-bo6.Chiar daca ulte telefoane inclu o asina
"irtuala !a"a aceasta nu este ereu folosita de utili/atori.Initial aplicatiile !a"a pe cele ai
ulte telefoane constau in niuri3 ici 4ocuri sa soft(are pentru d(nload-ul de rin1tone-uri3
la acestea se adau1a aplicatii preincarcate pe telefon cu ar fi dictionare3 ora pe 1lob sau
calculatoare.
Microsoft ofera in acest doeniu .#et Copact .rae(or' ce rulea/a pe Aindo(s
C, si dispo/iti"e obile dar si pe I0EI 3603 dar si .#et Micro .rae(or' folosita pentru
de/"oltarea cu resurse liitate.
)
3.aparea relational!obiectuala
Maparea relational-obiectuala sau obiectual relationala sau EJ;M este o tehnica de
pro1raare care lea1a ba/ele de date de liba4ele de pro1raare orientate-obiect3 creand o
ba/a "irtuala de obiecte. ,6ista pachete coerciale Ki 1ratuite disponibile pe piata care
efectuea/a aparea intre obiect Ki relational3 desi unii pro1raatori prefera sa-si reali/e/e si
utili/e/e propriul cod pentru apare.
3.1"ibernate
+ibernate este o biblioteca de apare relational-obiectuala3 pentru liba4ul !a"a
oferind un frae(or' pentru aparea unui odel orientat obiect peste o ba/a de date
relationala.+ibernate re/ol"a problea 5ob4ect-relational ipedance isatch73 problea ce
apare atunci cand un siste de 1estiune al ba/elor de date relationale este folosit de un
pro1ra scris intr-un liba4 de pro1raare orientat obiect.
&ceasta tehnolo1ie este 1ratuita si open source3 distribuita sub licenta G#H %esser
General Public %icense.& fost lansat in 2001 ca alternati"a la !20,-st-le entit- beans si in
pre/ent se afla la "ersiunea $.1.93 incepandu-se de/"olatrea pentru "ersiunea 9.

.i1.3.1 &rhitectura +ibernate
Principala caracteristica a +ibernate este aparea intre clasele !a"a si tabelele ba/elor
de date precu si intre tipurile de date !a"a si @F%. +ibernate pune la dispo/itie posibilitatea
redactarii de Luer--uri si data-retrie"al. @al"area datelor >repre/entate prin clase? intr-un
spatiu de storare se nueste persistenta.
*
Maparea claselor !a"a la tabelele ba/ei de date este reali/ata prin confi1urarea unui
fisier IM% sau folosind !a"a &nnotations.Cand se foloseste un fisier IM%3 +ibernate poate
1enera cod sursa pentru clasele persistente.&cest lucru nu este necesar cand sunt folosite
adnotari.+ibernate poate folosi fisierul IM% pentru a entine schea ba/ei de date.@unt
asi1urate facilitati de reali/are a asocierilor intre clase de tipul unu-la- ulti sau ulti-la-
ulti3 dar si asocieri refle6i"e cand un obiect are o relatie de tipul unu-la-ulti cu o instanta
de acelasi tip.
+ibernate asi1ura persistenta transparenta pentru Plain Eld !a"a Eb4ects3 denuire
folosita pentru a arata ca un obiect nu este un obiect special ci un obiect !a"a noral.@in1ura
cerinta pentru clasa persistenta este un constructor fara ar1uente dar care nu este necesar sa
fie public.Coportaent corespun/ator in anuite aplicatii necesita de aseenea atentie
sporita la etodele equals() si hashCode().
Colectiile de date sunt de obicei stocate in obiecte cu ar fi @et si %ist.Ebiectele
siilare pot fi confi1urate astfel incat sa transita operatiile de la unul catre celalalt.2e
e6eplu un obiect parinte denuit album poate fi confi1urat sa transita operatiile de sal"are
siJsau ster1ere obiectelor copil melodie, operatie ce reduce tipul de de/"oltare.E functie de
tipul dirty checking asi1ura e"itarea actiunilor de scriere in ba/a de date efectuandupdate-uri
sLl doar asupra capurilor odificate sau obiectelor persistente.+ibernate asi1ura un liba4
inspirat din @F% denuit +ibernate Fuer- %an1ua1e.
+ibernate poate fi folosit atat in aplicatiile !a"a standalone dar si in aplicatii !a"a ,,
folosind ser"let-uri si coponente de ser"icii !0I.2e aseenea poate fi introdus ca o
coponenta in alte liba4e de pro1raare3 de e6eplu &dobe inte1rea/a +ibernate in
"ersiunea 9 a Cold.usion ce rulea/a pe ser"ere de aplicatii !2,,.
3.2 #ntit$ %ramework
,ntit- .rae(or' este un frae(or' open source de apare relational obiectuala
pentru platfora .#et.Per ansablu este un set de tehnolo1ii in &2E.#et ce sustine
de/"oltarea de aplicatii soft(are orientate pe date.&rhitectii si de/"oltatorii de aplicatii
orientate pe date s-au straduit sa atin1a doua obiecti"e foarte diferite:
Crebuie sa odele/e entitatile3relatiile si lo1ica de bussiness a probleei pe
care o re/ol"aG
Crebuie sa lucre/e cu otorul de date folosit pentru a stoca si re1asi dateleG
&cest frae(or' le perite sa lucre/e cu date sub fora unor obiecte si proprietati
specifice doeniului3 cu ar fi clientul3 sau adresa clientului fara sa fie preocupati de tabelele
9
care stau la ba/a ba/ei de data sau coloanele unde "or fi stocate acestste date.&stfel
de/"oltatorii pot lucra la un ni"el superior de abstracti/are a datelor si pot crea si intretine
aplicatii orientate pe date cu ai putine linii de cod decat aplicatiile traditionale.
Pria "ersiune3 ,."1 a fost inclusa in .#et .rae(or' 3.9 @er"ice Pac' 1 si <isual
@tudio 200* @er"ice Pac' 1 si lansata in &u1ust 200*.Hltia "ersiune este 9.0.0 si are ca tinta
.#et .rae(or' $.9.
&rhitectura ,ntit- .rae(or' contine uratoarele eleente:
Pro"ider specific de surse de dateG
Map pro"ider un pro"ider specific ba/ei de date ce traduce coand
tree-ul ,ntit-@F% intr-o intero1are nati"a a ba/ei de dateG
<ie( appin1 din schea relationala crea/a "ie(-uri ale datelor
corespondente odelului conceptualG
Fuer- and update pipeline procesea/a intero1ari3 filtrea/a si face update
cererilorG
Metadata ser"ices 1estionea/a etadatele le1ate de entitati3 relatii si
apariG
CransactionsG
Conceptual la-er &PI runtie-ul ce e6pune odelul de pro1raareG
,bedded database include o ba/a de date incorporata pentru intero1area
datelor relationaleG
2esin1 tools siplifica tas'-ul de apare a scheei conceptuale la
schea relationalaG
Pro1rain1 la-er e6pune ,2M-ul>,ntit- 2ata Model? ca unitati ce pot
fi utili/ate de liba4ul de pro1raareG
Eb4ect ser"ices cod 1enerat autoat pentru clasele C%; ce detin aceleasi
proprietati ca o entitate3 dand astfel posibilitatea instantierii entitatilor ce
obiecte .#etG
Aeb ser"ices e6pun entitatile ca ser"icii (ebG
10

.i1. 3.2 &rhitectura ,ntit- .rae(or'
,ntit- 2ata Model>,2M? specifica odelul conceptual al datelor prin interediul
Entity-Relationship model3 ce se ocupa in principal de entitati si asocierile din care acestea fac
parte.In <isual @tudio ,2M Ai/ard initial 1enerea/a o apare 1:1 a scheei ba/ei de date la
schea conceptuala.In schea relationala eleentele sunt copuse din tabele3 in care cheile
priare si cheile e6terne tin tabelele corelate in stransa le1atura.In contrast Entity ypes
defineste schea conceptuala a datelor.Cipurile de entitati sunt o a1re1are a unor tipuri de
capuri ultiple3 fiecare cap apand o coloana din ba/a de date3 capuri ce pot contine
inforatii din ai ulte tabele fi/ice.Cipurile de entitati pot fi corelate unele cu altele3
independent de relatiile din schea fi/ica.,ntitatile corelate sunt e6puse siilar prin
interediul unui cap al carui nue denota relatia in care acestea se afla.@cea lo1ica si
aparea ei pe schea fi/ica este repre/entata ca un ,2M si specificata ca un fisier IM%.
,ntitatile sunt instante al tipurilor de entitati3 repre/entand instante indi"iduale ale
obiectelor >de e6eplu client sau coanda? la care se refera inforatia.Cipul de entitate
defineste clasa de care apartine o entitate dar si proprietatile pe care o entitate le
are.Proprietatile descriu anuite aspecte ale entitatii dandu-i acesteia un nue si un
tip.Ericare doua tipuri entitati pot a"ea o le1atura fie printr-o relatie de tipul !ssociation fie
printr-una de tipul Contaninment, tipul de relatie este specificat printr-un Relationship ype ce
este caracteri/at de nuarul de tipuri de entitate pe care le lea1a dar si de ultiplicitatea
11
acestora>repre/entand nuarul de entitati ce pot fi le1ate?.0a/andu-ne pe ultiplicitate
relatiile pot fi de unu-la-unu3 unu-la-ulti sau ulti-la-ulti.Hn tip de relatie poate a"ea
atasata o !ctiune sau o "peratie#Hnei relatii i se poate specifica sa efectue/e o actiune atunci
cand o operatie este e6ecutata asupra unei entitati cu care are le1atura.
&2E.#et ,ntit- .rae(or' foloseste o "arianta de liba4 structurat de intero1are
denuit ,ntit- @F% ce a fost creat pentru a scrie intero1ari si update-uri asupra entitatilor si
relatiilor la ni"el conceptual.
3.3 N"ibernate
#hibernate este o solutie de apare relational-obiectuala pentru platfora .#et ce
asi1ura un frae(or' pentru aparea unui odel orientat obiect pe o ba/a de date
relationala.,ste un soft(are 1ratuit distribuit de G#H %esser General Public %icense si
repre/inta o portare pe platfora .#et a solutiei !a"a +ibernate.In pre/ent aceasta se afla la
"ersiunea 3.31 lansata in Iunie 2012.
4.&onclu'ii
Platforele !a"a si .#et isi disputa de ani supreatia in doeniul de/"oltarii
aplicatiilor soft(are fie ca este "orba de aplicatii des'top3 (eb sau obile abele ofera solutii
"iabile de/"oltatorilor aatori sau profesionisti.
Cehnolo1iile de apare relational obiectuala e6ista de ulti ani3 +ibernate fiind
printre priele poate chiar pria biblioteca E;M3 reali/ata pentru platfora !a"a.Insa asta/i
e6ista atat #+ibernate3 repre/entand o portare a +ibernate pe platfora .#et3 dar si ,ntit-
.rae(or'. @-a do"edit in nenuarate randuri ca ata +ibernate cat si ,ntit- .rae(or' detin
capacitatile necesare ipleentarii tehnicii E;M atat in abordarea $odel %irst cat si in
abordarea &atabase %irst#,ntit- .rae(or' crea/a clasele definite in odelul de date
autoat3 +ibernate nu.Insa pe de alta parte din punct de "edere al de/"oltatorului crearea
anuala a entitatilor si a relatiilor dintre ele a4uta ai ult la intele1erea detaliilor unui
pro1ra.Codul sursa 1enerat dinaic de catre ,. poate a"ea diensiuni ari iar anuite
atribute si etode pot sa nu fie folositoare3 in tip ce scriere de ana conduce la obtinerea
unui cod sursa ce contine doar ce este necesar.
12
@e poate obser"a ca pentru fiecare dintre cele doua solutii e6ista a"anta4e si
de/a"anta4e3 insa ceea ce este ai iportant este faptul ca e6ista solutii ultiple capabile sa
ofere toate facilitatile necesare de/"oltarii aplicatiilor.&stfel de/"oltatorilor nu le raane
decat sa se decida care este "arianta ce li se potri"este cel ai bine.
(iblio)rafie
M1N - http:JJen.(i'ipedia.or1J(i'iJCoparisonOofOtheO!a"aOandO.#,COplatfors
M2N - http:JJen.(i'ipedia.or1J(i'iJ,ntit-O.rae(or'
M3N - http:JJen.(i'ipedia.or1J(i'iJ+ibernateO>!a"a?
M$N - http:JJ(eblo1s.asp.netJricardoperesJarchi"eJ2012J06J0)Jdifferences-bet(een-nhibernate-
and-entit--frae(or'.asp6
M9N - ;e"ista Inforatica ,conoica3 nr. 3>2)?J2003
M6N - http:JJblo1s.forrester.coJapplicationOde"elopentJ2010J02Jforrester-datab-te-
application-platfor-adoption-trends.htl
13

S-ar putea să vă placă și