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
&'()
0
Contents
1.Introducere...............................................................................................................................2
2.Platformele a!a si ."et...........................................................................................................#
2.1 $icenta...............................................................................................................................%
2.2 &plicatii des'top...............................................................................................................%
2.# &plicatii (eb.....................................................................................................................%
2.) &plicatii mobile.................................................................................................................6
#.Maparea relational-obiectuala..................................................................................................6
#.1*ibernate............................................................................................................................6
#.2 +ntit, -rame(or'..............................................................................................................
#.# "*ibernate......................................................................................................................10
).Conclu/ii................................................................................................................................11
0iblio1rafie...............................................................................................................................12

1
1.Introducere
2e/baterea pri!ind de/!oltarea aplicatiilor pe platforma a!a sau pe platforma ."et
este una ce se desfasoara fara oprire intre sustinatorii celor doua platforme3 fiecare dintre
acestia !orbind despre declinul celeilalte.
a!a este predecesorul tuturor celorlalte limba4e de pro1ramare este open source iar
aplicatiile reali/ate in 4a!a sunt independente de platforma pe care rulea/a3 aspecte ce au facut
ca a!a sa fie preferat de amatori si profesionisti deopotri!a.In acelasi timp platforma ."et
permite reali/area3 foarte usoar3 a schimbuli de date intre di!erse aplicatii soft(are printr-un
set comun de asa numitele 5e6chan1e formats73
a!a si ."et sunt platformele dominante in ceea ce pri!este de/!oltarea de aplicatii
soft(are si totodata cele mai raspandite3 iar suprapunerea dintre cele doua este
considerabila.In 2009 )68 din intreprinderi folosesc ambele platforme crescand de la 2.8 in
2009.&doptia platformei ."et este mai mare decat cea a a!a la companiile cu mai putin de
%000 de an1a4ati3 in timp ce utili/area a!a este mai mare la companiile care au mai mult de
20 000 de an1a4ati.Pe se1mentul %000-20 000 de an1a4ati a!a este in mod traditional cea mai
utili/ata insa ."et pare ca !ine din urma In 2010 918 din aceste companii foarte mari folosesc
a!a in timp ce 6.8 folosesc ."et.

-i11.1 &doptia platformelor soft(are in perioada 2009-2009 sursa:-orrester ;esearch3 Inc.
2

-i11.2 Penetrarea se1mentelor de piata
2.Platformele Java si .Net
Platforma a!a consta intr-un limba4 denumit a!a3 un set de masini !irtuale cum ar fi
<M3 =<M sau C<M pentru a e6ecuta b,te code-urile intermediare pe PC sau sisteme
incorporate3 la care se adau1a un set de &PI-uri si biblioteci.<i/iunea a!a propunea un sin1ur
limba4 pentru toate sistemele de operare si de aceea foloseste protocolul ;emote Methode
In!ocation>;MI?.@un3 de/!oltatorul a!a3 sustinea ca platforma sa este sin1ura de tipul 5Arite
once run an,(here73 dar dupa introducerea 2++ si a 2M+ a admis ca aceasta tipolo1ie nu
functionea/a.
@pre deosebire de platforma a!a3 ."et consta intr-un set de limba4e de pro1ramare
printre care se afla CBB3 <0."+C><0 9.6? si CD.$a acestea se adau1a un mediu runtime
similar cu a!a <irtual Machine si un set de &PI-uri ce inclina puternic in fa!oarea arhiteturii
Aindo(s.;untime-ul este 1a/duit intr-un container ce poate fi un bro(ser3 un ser!er (eb3 sau
un Eperatin1 @,stem @hell si in !iitor poate chair de un ser!er @F$.
In ultimii ani se poate obser!a ca platformele a!a si ."et continua sa de!ina
con!er1ente si diferenta dintre ele in ceea ce pri!este caracteristicile3 bibliotecile si limba4ele
continua sa se micsore/e.Pe lan1a aceste aspecte ambele platforme au fost3 pana intr-un
anumit punct3 portate de pe !ersiunea oficiala si rulea/a acum pe sisteme ce nu au fost 1andite
de desi1ne-ul ori1inal.&plicatii reali/ate in &@P."et pot rula prin intermediul Mono si a sa
#
masina !irtuala Common $an1ua1e ;untime>C$;?3 pe aproape tot atatea platforme ca si
aplicatiile a!a.

-i1.2.1 &rhitectura C$;
In acelasi timp aplicatiile a!a pot rula pe platforma ."et cu a4utorul I=<M."+C un
soft(are 1ratuit ce include urmatoarele componente:
E implementare a a!a <irtual Machine in ."etG
E implementare a bibliotecilor de clase a!a in ."etG
Hn instrument ce traduce b,tecode-ul a!a>fisiere 4ar? in ."et I$>fisiere
2$$s sau +I+?G
Instrumente pentru interoperabilitate intre a!a si ."et.
.
)
-i1 2.2 &rhitectura <M
Cu toate acestea3 in pofida tuturor elementelor de con!er1enta dintre cele doua
platforme3 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 mobile.
2.1 Licenta
Principala implementare a platformei a!a este disponibila ca o implementare de tipul
open source si poarta denumirea de Epen2=.2esi 5a!a7 este o marca inre1istrata Eracle3
dupa achi/itionarea @un Micros,stems3 e6ista numeroase proiecte de sof(are 1ratuit
compatibile cu Eracle a!a3 cele mai notabile fiind G"H Classpath si GC oferind o
biblioteca de clase si un compilator partial compatibile cu actuala !ersiune de Eracle a!a.
In ceea ce pri!este ."et3 C$I e6ecutable en!ironment si cate!a biblioteci de clas
aferente au fost standardi/ate si pot fi implementate 1ratuit fara licenta.Ca si in ca/ul a!a au
fost inplementate cate!a solutii soft(are 1ratuite si compatibile 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,stems nu a promo!at corespun/ator a!a de/!oltatorilor si utili/atorilor ca o
solutie !iabila pentru aplicatiile des'top.$ansarea !ersiunii 6.0 in 2ecembrie 2006 a reinnoit
atentia pentru aplicatiile des'top introducand un nou set de instrumente pentru inte1rare pe
des'top.
."et este mai populara in /ona aplicatiilor des'top oferind Aindo(s -orms3 Aindo(s
Presentation -oundation si @il!erli1ht.&plicatiile ."et sunt de prim ran1 in mediul Aindo(s
oferind o sen/atie de apartenenta comparati! cu a!a @(in1.
2.3 Aplicatii web
&cest tip de aplicatii repre/inta /ona cu cea mai mare concurenta intre cele doua
platforme. a!a prin intermediul a!a ++ si ."et prin &@P."et concurea/a in a oferi continut
dinamic (eb si aplicatii.&mbele platforme sunt utili/ate si sunt bine repre/entate in piata prin
seturi mari de instrumente si produse adiacente.Cu toate acestea solutiile soft(are la scara
lar1a de tipul 5hi1h-end7 tind sa opte/e pentru platforma a!a datorita unei stabilitati crescute3
%
caracteristici cum ar fi M@3 C&3 dar si abilitatea de a rula pe orice sistem de operare sau
platforma hard(are.
2.4 Aplicatii mobile
In acest domeniu este cunoscut faptul ca platforma &ndroid pentru aplicatii mobile
apartinand Goo1le se ba/ea/a pe platforma a!a3 Goo1le creind o noua masina !irtuala
personali/ata denumita 2al!i' pentru a optimi/a e6ecutia codului a!a pe dispo/it!ele
mobile.
Eracle pune la dispo/itie a!a M+ o implementare de referinta pentru distribuitorii de
telefoane mobile.a!a M+ este alcatuita din di!erse profile ce sunt subseturi ale mediului de
de/!oltare a!a des'top la care se adau1a biblioteci aditionale ce !i/ea/a dispo/iti!ele mobile
si o de/!oltare de aplicatii de tipul set-top-bo6.Chiar daca multe telefoane inclu o masina
!irtuala a!a aceasta nu este mereu folosita de utili/atori.Initial aplicatiile a!a pe cele mai
multe telefoane constau in mniuri3 mici 4ocuri sa soft(are pentru d(nload-ul de rin1tone-uri3
la acestea se adau1a aplicatii preincarcate pe telefon cum ar fi dictionare3 ora pe 1lob sau
calculatoare.
Microsoft ofera in acest domeniu ."et Compact -rame(or' ce rulea/a pe Aindo(s
C+ si dispo/iti!e mobile dar si pe I0EI #603 dar si ."et Micro -rame(or' folosita pentru
de/!oltarea cu resurse limitate.
3.aparea relational!obiectuala
Maparea relational-obiectuala sau obiectual relationala sau EJ;M este o tehnica de
pro1ramare care lea1a ba/ele de date de limba4ele de pro1ramare orientate-obiect3 creand o
ba/a !irtuala de obiecte. +6ista pachete comerciale Ki 1ratuite disponibile pe piata care
efectuea/a maparea intre obiect Ki relational3 desi unii pro1ramatori prefera sa-si reali/e/e si
utili/e/e propriul cod pentru mapare.
3.1"ibernate
*ibernate este o biblioteca de mapare relational-obiectuala3 pentru limba4ul a!a
oferind un frame(or' pentru maparea unui model orientat obiect peste o ba/a de date
relationala.*ibernate re/ol!a problema 5ob4ect-relational impedance mismatch73 problema ce
6
apare atunci cand un sistem de 1estiune al ba/elor de date relationale este folosit de un
pro1ram scris intr-un limba4 de pro1ramare 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 %.

-i1.#.1 &rhitectura *ibernate
Principala caracteristica a *ibernate este maparea intre clasele a!a si tabelele ba/elor
de date precum 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 numeste 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 mentine schema ba/ei de date.@unt
asi1urate facilitati de reali/are a asocierilor intre clase de tipul unu-la- multi sau multi-la-
multi3 dar si asocieri refle6i!e cand un obiect are o relatie de tipul unu-la-multi cu o instanta
de acelasi tip.
*ibernate asi1ura persistenta transparenta pentru Plain Eld a!a Eb4ects3 denumire
folosita pentru a arata ca un obiect nu este un obiect special ci un obiect a!a normal.@in1ura
cerinta pentru clasa persistenta este un constructor fara ar1umente dar care nu este necesar sa
fie public.Comportament corespun/ator in anumite aplicatii necesita de asemenea atentie
sporita la metodele equals() si hashCode().
9
Colectiile de date sunt de obicei stocate in obiecte cum ar fi @et si $ist.Ebiectele
similare pot fi confi1urate astfel incat sa transmita operatiile de la unul catre celalalt.2e
e6emplu un obiect parinte denumit album poate fi confi1urat sa transimta operatiile de sal!are
siJsau ster1ere obiectelor copil melodie, operatie ce reduce timpul 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 campurilor modificate sau obiectelor persistente.*ibernate asi1ura un limba4
inspirat din @F$ denumit *ibernate Fuer, $an1ua1e.
*ibernate poate fi folosit atat in aplicatiile a!a standalone dar si in aplicatii a!a ++
folosind ser!let-uri si componente de ser!icii 0I.2e asemenea poate fi introdus ca o
componenta in alte limba4e de pro1ramare3 de e6emplu &dobe inte1rea/a *ibernate in
!ersiunea 9 a Cold-usion ce rulea/a pe ser!ere de aplicatii 2++.
3.2 #ntit$ %ramework
+ntit, -rame(or' este un frame(or' open source de mapare relational obiectuala
pentru platforma ."et.Per ansamblu 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 modele/e entitatile3relatiile si lo1ica de bussiness a problemei pe
care o re/ol!aG
Crebuie sa lucre/e cu motorul de date folosit pentru a stoca si re1asi dateleG
A!est rame*or+ le ,ermite sa l-!re.e !- date s-/ orma -nor o/ie!te si
,ro,rietati s,e!ii!e domeni-l-i, !-m ar i !lient-l, sa- adresa !lient-l-i ara sa ie
,reo!-,ati de ta/elele !are sta- la /a.a /a.ei de data sa- !oloanele -nde #or i sto!ate
a!estste date" Astel de.#oltatorii ,ot l-!ra la -n ni#el s-,erior de a/stra!ti.are a datelor
si ,ot !rea si intretine a,li!atii orientate ,e date !- mai ,-tine linii de !od de!at
a,li!atiile traditionale"
Prima !ersiune3 +-!1 a fost inclusa in ."et -rame(or' #.% @er!ice Pac' 1 si <isual
@tudio 200. @er!ice Pac' 1 si lansata in &u1ust 200..Hltima !ersiune este %.0.0 si are ca tinta
."et -rame(or' ).%.
&rhitectura +ntit, -rame(or' contine urmatoarele elemente:
Pro!ider specific de surse de dateG
Map pro!ider un pro!ider specific ba/ei de date ce traduce command
tree-ul +ntit,@F$ intr-o intero1are nati!a a ba/ei de dateG
.
<ie( mappin1 din schema relationala crea/a !ie(-uri ale datelor
corespondente modelului conceptualG
Fuer, and update pipeline procesea/a intero1ari3 filtrea/a si face update
cererilorG
Metadata ser!ices 1estionea/a metadatele le1ate de entitati3 relatii si
mapariG
CransactionsG
Conceptual la,er &PI runtime-ul ce e6pune modelul de pro1ramareG
+mbedded database include o ba/a de date incorporata pentru intero1area
datelor relationaleG
2esin1 tools simplifica tas'-ul de mapare a schemei conceptuale la
schema relationalaG
Pro1rammin1 la,er e6pune +2M-ul>+ntit, 2ata Model? ca unitati ce pot
fi utili/ate de limba4ul de pro1ramareG
Eb4ect ser!ices cod 1enerat automat 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
9

-i1. #.2 &rhitectura +ntit, -rame(or'
+ntit, 2ata Model>+2M? specifica modelul conceptual al datelor prin intermediul
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 mapare 1:1 a schemei ba/ei de date la
schema conceptuala.In schema relationala elementele sunt compuse din tabele3 in care cheile
primare si cheile e6terne tin tabelele corelate in stransa le1atura.In contrast Entity ypes
defineste schema conceptuala a datelor. Cipurile de entitati sunt o a1re1are a unor tipuri de
campuri multiple3 fiecare camp mapand o coloana din ba/a de date3 campuri ce pot contine
informatii din mai multe tabele fi/ice. Cipurile de entitati pot fi corelate unele cu altele3
independent de relatiile din schema fi/ica. +ntitatile corelate sunt e6puse similar prin
intermediul unui camp al carui nume denota relatia in care acestea se afla.@cema lo1ica si
maparea ei pe schema 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 e6emplu client sau comanda? la care se refera informatia. Cipul de entitate
defineste clasa de care apartine o entitate dar si proprietatile pe care o entitate le are.
Proprietatile descriu anumite aspecte ale entitatii dandu-i acesteia un nume 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 numarul de tipuri de entitate pe care le lea1a dar si de multiplicitatea
10
acestora>repre/entand numarul de entitati ce pot fi le1ate?. 0a/andu-ne pe multiplicitate
relatiile pot fi de unu-la-unu3 unu-la-multi sau multi-la-multi. 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, -rame(or' foloseste o !arianta de limba4 structurat de intero1are
denumit +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 mapare relational-obiectuala pentru platforma ."et ce
asi1ura un frame(or' pentru maparea unui model 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 platforma ."et a solutiei a!a *ibernate.In pre/ent aceasta se afla la
!ersiunea #.#1 lansata in Iunie 2012.
4.&onclu'ii
Platformele a!a si ."et isi disputa de ani suprematia in domeniul de/!oltarii
aplicatiilor soft(are fie ca este !orba de aplicatii des'top3 (eb sau mobile ambele ofera solutii
!iabile de/!oltatorilor amatori sau profesionisti.
Cehnolo1iile de mapare relational obiectuala e6ista de multi ani3 *ibernate fiind
printre primele poate chiar prima biblioteca E;M3 reali/ata pentru platforma a!a.Insa asta/i
e6ista atat "*ibernate3 repre/entand o portare a *ibernate pe platforma ."et3 dar si +ntit,
-rame(or'. @-a do!edit in nenumarate randuri ca ata *ibernate cat si +ntit, -rame(or' detin
capacitatile necesare implementarii tehnicii E;M atat in abordarea $odel %irst cat si in
abordarea &atabase %irst#+ntit, -rame(or' crea/a clasele definite in modelul de date
automat3 *ibernate nu.Insa pe de alta parte din punct de !edere al de/!oltatorului crearea
manuala a entitatilor si a relatiilor dintre ele a4uta mai mult la intele1erea detaliilor unui
pro1ram.Codul sursa 1enerat dinamic de catre +- poate a!ea dimensiuni mari iar anumite
atribute si metode pot sa nu fie folositoare3 in timp ce scriere de mana conduce la obtinerea
unui cod sursa ce contine doar ce este necesar.
11
@e poate obser!a ca pentru fiecare dintre cele doua solutii e6ista a!anta4e si
de/a!anta4e3 insa ceea ce este mai important este faptul ca e6ista solutii multiple capabile sa
ofere toate facilitatile necesare de/!oltarii aplicatiilor.&stfel de/!oltatorilor nu le ramane
decat sa se decida care este !arianta ce li se potri!este cel mai bine.
(iblio)ra*e
M1N - http:JJen.(i'ipedia.or1J(i'iJComparisonOofOtheOa!aOandO."+COplatforms
M2N - http:JJen.(i'ipedia.or1J(i'iJ+ntit,O-rame(or'
M#N - http:JJen.(i'ipedia.or1J(i'iJ*ibernateO>a!a?
M)N - http:JJ(eblo1s.asp.netJricardoperesJarchi!eJ2012J06J09Jdifferences-bet(een-nhibernate-
and-entit,-frame(or'.asp6
M%N - ;e!ista Informatica +conomica3 nr. #>29?J200#
M6N - http:JJblo1s.forrester.comJapplicationOde!elopmentJ2010J02Jforrester-datab,te-
application-platform-adoption-trends.html
12

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