Program Master SEM,An 1 [629205]

Universitatea POLITEHNICA Bucure ști
Facultatea Automatică și Calculatoare
Departamentul Automatică și Informatică Industrială
Program Master SEM,An 1

LUCRARE DE CERCETARE

Accesul si Manipularea Informației dintr -o Bază
de Date prin intermediul unei Aplicații Web

Coordonator Student: [anonimizat].Dr.Ing. Răileanu Silviu Ionescu Marius Florian

2

Cuprins
1.Introducere ………………………….. ………………………….. ………………………….. …………………….. 3
2. Componentele Principale ale unei Aplicații Web ………………………….. ………………………… 3
2.1 Server -ul Web ………………………….. ………………………….. ………………………….. ………….. 4
2.2 Clientul Web ………………………….. ………………………….. ………………………….. ……………. 4
2.3 Object Relational Mapping ………………………….. ………………………….. …………………….. 5
3. Concluzii ………………………….. ………………………….. ………………………….. ………………………. 9
4. Bibliografie ………………………….. ………………………….. ………………………….. …………………. 10

3

1.Introducere

În zilele noastre, aplicatiile we b au devenit foarte populare în rândul clienților
răspândiți pe diferitele sisteme de operare(Windows,Linux,Android, Mac) mai ales datorită
asemănarii lor cu aplicațiile desktop, de cele mai multe ori, fiind mult mai atractive din
punct de vedere al design -ului, și nu în ultimul rând sunt independente de platforma din
punct de vedere al utilizării lor de către clienți.
Funcționalitatea aplicațiilor web este oferită de către server, dezvoltându -se astfel
o serie de tehnologii Web atât pentru clienți cât si pentru server.
Aplicațiile Web sunt independente de platf ormă/sistem de operare, întrucât
utilizatorii le accesează prin intermediul unui browser(Mozzila,Chrome,Safari etc.).
Practic, dispozitivul utilizatorului, nu necesită prea multe resurse, față de o aplicație
desktop care de celele mai multe ori necesită m ult mai multe resurse pentru a o rula.
Astfel, aplicațiile sunt împărțite in 2 categorii din punct de vedere al resurselor utilizate:
 Aplicațiile web folosesc un client ce nu necesită performanțe ridicate( thin client )
 Aplicațiile desktop sunt rulate pe un Sistem de Operare, ce necesită practic
performanțe ridicate( thick client sau fat client) care oferă în proporții ridicate cea
mai mare funcționalitate a acesteia.
O aplicație web , de celele mai multe ori se află într -o strânsă legătură cu
informația, care este stocată pe o baza de date.
Așadar, aplicația web culege informații dintr -o bază de date, practic aplicația web
fiind într -o relație cu baza de date(directă sau indirectă(prin intermediul unui obiect)).
Pentru a se ușura munca dezvoltatorului de aplic ații web, a apărut tehnica de programare
ORM(Object – Relational -Mapping).

2. Componentele Principale ale unei Aplicații Web

4 2.1 Server -ul Web
Rolul principal al unui Web Server este de a rula aplicația Web. Practic, aplicația
web este găzduită de un server, și nu este rulată de vreun Sistem de Operare al
utilizatorului în cazul aplicațiilor desktop.
Web -ul utilizează un număr diferit de servere pentru deservirea conținutului, ce
sunt structurate în funcție de tehnologia software de dezvoltare a aplic ațiilor web(limbaje
de programare).
Cele mai cunoscute sunt ordonate în funcție de popularitatea lor de utilizare,
conform statisticilor date de Netcraft INC:
 Apache
 Microsoft IIS(Internet Information Server) Server
 Google Server
 Zeus
 nGinx
 Sun One Web Se rver

Conform acestor date, în anul 2015, Apache era utilizat în propoții de 53%, urmat
de Microsoft IIS cu 25% si de celelalte amintite mai sunt în propoții de 22%(Google
Server,Zeus,nGinx,Sun One Web Server).
Serverul Web asigură:
 Suportul pentru conexiuni securizate prin criptarea fluxului de date
 Gestionarea simultana a mai multor aplicații Web asigurând așa numita
găzduire virtuală(mai multe aplicații Web pot să împartă aceiași adresă IP)
 Configurarea Serverului se poate realiza prin fișiere txt (ex:fișierul Config )
care la IIS Server se poate configura cu IIS Management Studio
 Suportul pentru aplicația Server ce poate fi scrisă în diverse Tehnologii
WEB și Limbaje de Programare( Java(Java Servlet),C#(ASP.NET API),
C++ etc .)
2.2 Clientul Web

Clientul unei aplicații web este Web Browser -ul, ce rulează pe dispozitivul
utilizatorului , și este cel prin intermediul căruia este accesată aplicația Web, practic
interfața aplicației web are la bază cel puțin o pagina HTML dinamică(i nformația provenită

5 de la server este afișată utilizatorului prin intermediul paginii HTML ,prin diversele
tehnologii software web ).
Există un număr mare de browsere ce rulează pe diferitele sisteme de operare ale
utilizatorilor:
 Internet Explorer
 Google Chrome
 Mozzila Firefox
 Safari
 Opera

Browser -ele oferă suport pentru:
 Limbajele de marcare( HTMLxHTML)
 Limbajele de scripting ( Javascript,Jquery,VBScript etc) ce ajuta la realizarea unei
pagini web dinamice. )
 Stiluri și design -uri(CSS și biblioteci ce se bazează pe CSS: Bootstrap e tc)

2.3 Object Relational Mapping
Object -Relational -Mapping (ORM) reprezintă o tehnică de pro gramare facilitând
accesarea și manipularea informației fără ca dezvoltatorii să fie interesați de sursa de da te
de unde provine informația.
Din dorința de a se depăși problema de corelare dintre modelul orientat pe obiecte
(utilizat de limbajele de p rogramare orientate obiect ) și modelul relațional (susținut de
sistemul de gestiune a bazelor de date) a apărut această tehnică.
Limbajele de Pro gramare Orientat Obiect utilizează clasele ca mod de reprezentare
a informației(datele sunt dispuse sub forma unui graf interconectat de obiecte), iar bazele
de date relationale folosesc modul tabelar ca reprezentare a datelor.
Principalul scop al unui ORM este de a creea o relație transparentă, naturală și
corectă între câmpurile tabelelor din baza de date și clasele limbajului de programare.
Practic efortul unui ORM nu este de neglijat, întrucât tip urile de date și costrâ ngerile
asupra câmpurilor tabelei unei baze de date, plus relațiile dintre tabelele bazei de date,
trebuie să fie identice în clasele limbajului de programare. Cu alte cuvinte schema dintre
tabelele bazei de date, trebuie sa coincidă cu schema dintre clasele persistente limbajului
de progr amare.

6

Fig.2.3.1 -Asocierea dintre Tabele -Clase Persistente realizare de ORM

7 Practic procesul de stocare a informației transpusă sub forma unor obiecte într -o
baza de date utilizând un framework ORM, constă în maparea obiectelor din limbajul de
programare la tabela corespunzătoare bazei de date.
Un framework ORM include urmatoarele funcționalități:
 Un API pentru operațiile de READ,WRITE,UPDATE,DELETE aferente claselor
persistente
 Un limbaj de interogare adresat claselor persistente și atributelo r sale
 Un mod de definire directă între mapare și tabela corespunzătoare
 Tehnici de optimizare
 Menține consi stența tranzacțiilor, modurilor stocare a datelor( caching ) și a
asocierilor dintre clase

Fig.2.3.2 -Componentele implicate în mecanismul ORM

Maparea dintre entitățile(obiectele) claselor consistente și tabelele corespunzătoare
bazei de date influențează atât productivitatea aplicației dar mai ales performanța
mecanismului ORM. Riscurile unei mapări greșite presupune :

 generarea interogărilor neperformante;
 supraîncărcarea memoriei cu obiecte care nu sunt necesare în urma execuției
interogărilor;
 productivitate sub așteptări a programatorului din pricina scenariilor complexe
determinate de mapări.
Pentru o utilizare eficientă a mecanismului ORM, trebuie să se cunoască un
minim al modului în care se poate implementa respectiva fncție "în interior" aplicației, în

8 scopul de a se evita risucurile expuse mai sus . Următoarele cazuri pot influența decisiv
mecanismul ORM:

 anumite tipuri de date avaînd constrângeri de tipul ( Not NULL ) pe care ORM -ul nu
le coreleaza corect c u entitățile claselor consistente ;
 relații de asociere între tabele: 1-n, m-n sau n -1 între entități;
 cascadare pe mai mult de un nivel;
 un mod de optimizare incorect al obținerii dat elor("fetching")

Cele mai utilizare ORM -uri în funcție de limbajele de programare utilizate în
dezvoltarea aplicațiilor Web:
 JDBC Hibernate( Java )
 NHibernate (C#)
 ADO.NET Entity Framework (C#)
 Propel( PHP )
 AXON ORM( PHP)

În dezvoltarea unei aplicații Web , f olosirea unui framework ORM și alegere a lui
sunt decizii care trebuiec luate în cunoștință de cauză în funcție de tipul proiectului și
tehnologiile utilizate . Tabelul următor descrie pe scurt avantajele și dezavantajele folosirii
unui astfel de framework.

9 3. Concluzii

În dezvoltarea a plicației web, se are în vedere alegerea ORM -ului în funcție de
limbajul de programare utilizat, urmat de performanțele ORM -urilor implemetate pentru
limbajul de programare ales.
Aplicația Web în curs de dezvoltare , utilizează tehnologii și concepte dezvoltate de
Microsoft. Am ales aceste tehnologii, întrucât Microsoft oferă un mediu de programare
integral:
 SQL Server(pentru dezvoltarea bazei de date)
 ASP.NET API(pentru dezvoltarea aplicației Web:C#(limbaj de
programare,Design Pattern: Model -View -Controller, ca mod de organizare
a aplicație i, ADO.NET Entity Framework ca ORM,Microsoft IIS Server
utilizat ca Server Web).
 Visual Studio ca IDE.

Am ales utilizarea ORM -ului ADO.NET Entity Framework , în defavoarea
Nhibernate, datori tă performanțelor mult mai bune oferite la nivelul oper ațiilor executate
asupra bazei de date conform unor BenchMark -uri oferite de site -ul StackOverflow:
 Insert(20% mai rapid)
 Update(2% mai rapid )
 Delete(5% mai rapid)
 Execuția Query -urilor(35% mai rapid)
și nu în ultimul rând, simplitatea de utilizare a acestui framework.

10
4. Bibliografie

1. „Learning Web App Development ”, By Semmy Purewal,Publisher: O'Reilly
Media,Final Release Date: February 2014
2. „Fast ASP.NET Websites 1st Edition ”, By Dean Alan Hume
3. „ORM – Object Relational Mapping ” Author: Arvo Lipitsäinen ,2015
4. Curs aplicații Web, http://www.runceanu.ro/adrian/wp -content/cursuri/tw2013/C5 –
Web.pdf
5. Articol , http://www.todaysoftmag.ro/article/73/analiza -mecanismului -object –
relational -mapping -orm-cu-exemplificari -hibernate

Similar Posts