Program Master SEM,An 1 [629207]
Universitatea POLITEHNICA Bucure ști
Facultatea Automatică și Calculatoare
Departamentul Automatică și Informatică Industrială
Program Master SEM,An 1
LUCRARE DE CERCETARE
Accesul si Manipularea I nforma ției dintr -o Bază
de Da te prin intermediul unei Aplicaț ii We b
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 de venit foarte populare în rândul c lienț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ționalit atea 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 platformă/sistem de o perare, î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ă mult 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 celel e mai multe ori se află într -o strânsă legătură cu
informația, care este stocată pe o baza de date.
Așada r, 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 intermedi ul unui obiect) ).
Pentru a se ușura munca dezvoltato rului de aplicații web, a apărut tehnica de programare
ORM(Object – Relational -Mapping).
2. Componentele P rincipale 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 apl icaț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 aplica ț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) Serve r
Google Server
Zeus
nGinx
Sun One Web Server
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 T ehnologii
WEB și Limbaje de Programare( Java(Java Servlet) ,C#(ASP.NET API),
C++ etc .)
2.2 Clientul Web
Clientu l unei aplicații w eb este Web Browser -ul, ce rulează pe dispozitivul
utilizatorului , și este cel prin intermediul căr uia este accesată aplicația Web, practic
interfața aplicației web are la bază cel puțin o pagina HTML dinamică(i nformația proven ită
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,J query, VBScript etc) ce ajuta la realizarea unei
pagini web dinamice. )
Stiluri și design -uri(CSS și biblioteci ce se ba zează pe CSS: Bootstrap etc )
2.3 Object Rela tional 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 .
Tehnica a apărut din nevoia de a depăși diferențele de paradigmă dintre modelul
orientat pe obiecte (utilizat de limbajele de p rogramare de nivel înalt ) și modelul re lațional
(susținut de cele mai populare sisteme de gestiune a bazelor de date).
Limbajele de P rogramare 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 co strângerile
asupra câmpurilor tabelei unei baze de date, plu s relațiile dintre tabelele bazei de date,
trebuie să f ie 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 programare.
6
Fig.2. 3.1-Asocierea dintre Tabele -Clase Persistent e 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 atributelor sale
Un mod de definire directă între mapare și tabela corespunzătoare
Tehnici de optimizare
O abordare consistentă a tran zacțiilor , a metodelor de stocare a datelor (caching ) și
a asocierilor dintre clase
Fig.2.3.2-Componentele implicate în mecanismul ORM
Performanța unui mecanism ORM și productivitatea programatorului depind mult
de o bună mapare a entităților la tabelele bazei de date. Printre riscurile unei mapări greșite
se numără:
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.
Folosirea eficientă a unei implementări ORM presupune o cunoaștere minimă a
modului în care implementarea respectivă funcționează "în interior" pentru a evita riscurile
8 descrise mai sus. Un scenariu obișnuit cu risc ridicat constă din însumarea următoarelor
condiții:
cuplare strânsă între entități și existența atributelor de tip colecție de entități;
relații de 1 -n, m-n sau n -1 între entități;
cascadare pe mai mult de un nivel;
lipsa unei optimizări din punct de vedere a obținerii datelor ("fetching")
Cele mai utilizare ORM -uri în funcție de limbajele de pro gramare 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 , folosirea 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 dezvoltare a aplicaț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 organizar e
a aplicației, 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ă perfo rmanțelor mult ma i bune oferite la nivelul operațiilor executate
asupra bazei de date conform unor Benc hMark -uri oferit e 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/cursur i/tw2013/C5 –
Web.pdf
5. Articol , http://www.todaysoftmag.ro/article/73/analiza -mecanismului -object –
relational -mapping -orm-cu-exemplificari -hibernate
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Program Master SEM,An 1 [629207] (ID: 629207)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
