Cap 1. Modele de arhitecturi utilizate in aplicatii web … … 2 [608533]

Cuprins

Cap 1. Modele de arhitecturi utilizate in aplicatii web ………………………….. …………….. 2
1.1 Arhitectura cloud ………………………….. ………………………….. …………………………. 3
1.2 Arhitect ura client -server ………………………….. ………………………….. ……………….. 3
1.3 Arhitectura distribuită ………………………….. ………………………….. …………………… 4
1.4 Arhitectura multi -strat ………………………….. ………………………….. …………………… 5
Cap 2. Tehnologii de dezvoltare a unei aplicații web ………………………….. ……………… 7
2.1 Serverul Web ………………………….. ………………………….. ………………………….. …. 7
2.2 Programarea la nivelul server ………………………….. ………………………….. ……….. 7
2.3 Gestionarea bazei de date ………………………….. ………………………….. ……………. 9
+

Cap 1. Modele de arhitecturi utilizate in aplicatii web

Aplicația web este un program ce utilizează un browser web cu scopul de a
efectua anumite funcții. Acesta este livrat cu middleware și UI -uri ce conectează atât
utilizatorul,server -ul cât si baza de date.
Scriptul de tip back -end este definit ca fiind o parte a unui program nevăzut de
utilizator,acesta fiind accesat doar cu ajutorul unei linii de comandă . Tehnologiil e
utilizate î n backend constau în limbaje de scriptare precum PHP,Ruby,Python,MySql.
Scriptul de tip front -end reprezintă partea vizibilă a unui site web. Tehnologiile
utilizate în front -end constau in limbaje de programare precum HTML, CSS,
JavaScript dar și a bibliotecilor auxiliare Sass si JQuery.
Arhitectura aplicațiilor web reprezintă metoda în care sistemul funcționează în
timpul navi gării de zi cu zi , de la introducerea adresei web la vizualizarea și
interacțiunea cu acesta în timp ce browser -ul trimite date spre server.
Modele de componente pentru aplicații web:
 Un singur server web cu o bază de date – acest model este
caracterizat ca fiind cel mai simplu,fiind folosit in testarea proiectelor
sau mentinerea unor practici private.
 Două sau mai multe servere web cu o singură bază de date – acest
tip de model previne funcționarea defectuoasă simultană a tuturor
componentelor.Astfel dacă un server întâmpină dificultăți cel de -al
doilea server va prelua controlul asupra tuturor comenzilor. Chiar
dacă acest model este caracterizat ca fiind mai sigur,tot nu
garantează o întererupere a sistemului.
 Două sau mai multe servere web cu o două sau mai multe baze de
date – acest model distribuie datele în mod egal între bazele de
date. Acest model se considera ca fiind cel mai de încredere,
deoarece nu au un singur punct de eșec. Cu toate acestea este
esențială instalarea unei balanțe de încărcare d acă există mai mult
de cinci servere si baze de date.

1.1 Arhitectura cloud

Practicarea acestui tip de arhitectură presupune stratificarea unor componente
ale aplicațiilor web. Stocarea datelor ,rezultate din tranzacțiile implicate în straturile
anteri oare locului de depozitare din cloud,este asigurată de acesta din urmă.
Nivelurile de bază pe care le are o aplicație web sunt nivelul serverului web, nivelul
aplicației și nivelul bazei de date.
Principalul avanta j oferit de această arhitectură este repr ezentat de costul
redus în comparative cu un server fizic, deoarece acesta necesită investiții în
aparatură, întreținere si implementare. Alte avantaje ale acestei arhitecturi sunt date
de securitatea, mobilitatea cât și accesul rapid al datelor, deoarece sunt situate în
același loc, dar si datorită protecției mărite în cazul unor potențiale pierderi,
recuperarea datelor fiind foarte rapidă.
Dezavantajul acestei arhitecturi este dat de prezența îndoielii în ceea ce
privește expunerea tuturor componentelor în cloud,adică pe internet. Un al doilea
dezavantaj al acestei arhitecturi este oferit de întreruperea sau chiar nefuncționarea
serviciului de cloud, această întrerupere având ca și cauză activități de întreținere
sau chiar o pană de sistem.

1.2 Arhitectu ra client -server

Acest tip de arhitectura ne ilustrează relația dintre două programe ce
partajează sarcini uneia sau mai multor aplicații. Din această relație rezultă un
program ce poartă de numirea de client, acesta execută o cerere informațioală către
cel de -al doilea program, denumit server, ce este avizat printr -un pachet software să
ofere răspuns la cererea clientului.
Prin implementarea acestei arhitecturi client -server se urmărește o conectare
a tuturor aplicațiilor client -server la un singură ba ză de date cu scopul de a obține un
sistem integrat și ușor accesibil la partajarea informațiilor.
Acest model arhitectural poate avea următoarele forme :
 Un nivel: unde toate componentele sunt grupate pe un singur
nivel(baza de date, aplicația și interfa ța sunt oferite de același nivel);

 Două nivele: acest tip reprezintă împărțirea funcțiilor între cei doi
actori(client -server), clientul va încorpora nivelul de
prezentare(interfața) , serverul va încorpora baza de date, iar logica
datelor va fi preluată de una dintre aceste funcții;
Trei nivele: acest tip este format din nivelul de prezentare, intermediar,
și al bazei de date. Principalul avantaj al acestui tip architectural este
faptul că acesta permite înlocuirea unui nivel fără a afecta unul din
celelalt e nivele.

Acest tip de arhitectură client -server prezintă un beneficiu foarte mare pe
planul securității, deoarece serverele sunt mult mai ușor de controlat șsi de
actualizat, iar prin intermediul acestora se accesul la date doar clienților autorizați.
Un alt beneficiu al acestei arhitecturi este dat de faptul că utilizatorii au acces la
informații fără a fi necesară deținerea de echipamente hardware sau instalarea unor
sissteme de operare.
Utilizarea unui sistem centralizat, poate produce probleme grav e în cazul
apariției unei probleme critice, clienții neputând accesa informațiile dorite de aceștia.
Pe de altă parte, dacă există utilizatori ce veni cu cereri repetate, există ri scul de a
supraîncălzi sistemul, astfel traficul de date va fi încetinit.

1.3 Arhitectura distribuită

Acest tip de arhitectură presupune existent mai multor baze de date multiple
ce se regăsesc pe mai mult calculatoare distincte și a unor calculatoare ce preiau
informațiile de la mai multe spații de lucru locale cu ajutorul unor sisteme ce
gestionează baza de date. Această tehnologie acceptă mai multe arhitecturi
distribuite, precum .NET, J2EE, COBRA și AXIS Java Web services. Middleware
reprezintă o arhitectură ce ajută la sprijinirea dezvoltării și executării aplicațiilor
distribuite, oferind un tampon între aplicație și rețea.
Modul în care se realizează acest tip de comunicare este reprezentat astfe l:

Avantajele oferite de acest tip de arhitectură sunt aduse de către distribuirea
responsabilităților și a intormațiilor între servere și client cu scopul de a oferi o
performanță sporită, cât și o creștere a capacității de lucru din partea ap licației,
deoarece echipamentele utilizate nu sunt condiționate să aparțtină aceluiași furnizor,
având posibiltatea de a fi procurate în funcție de nevoile serverului. În cazul unei
defectări a serverului activitatea poate continua fără a mai fi necesară s toparea
acesteia.
Securitatea oferită de acest model de arhitectură este considerate ca fiind
precară, deoarece este extrem de sensibilă la atacuri fiincă prezintă mai multe
puncte considerate vulnerabile prin care rețeaua poate fi atacată cu ușurința.
Com plexitatea acestuia constituie un dezavantaj deoarece sunt mult mai complexe
decât cele centralizate, necesitând o atenție și un efort sporit în gestionarea
sistemului.
1.4 Arhitectura multi -strat
În ingineria software , arhitectura multistratificată este o arhitectură client –
server ce prelucrează aplicațiile si gestionează datele separat. Cea mai răspândită
arhitectură multistrat este cea pe trei niveluri.
Arhitectura pe N nivele oferă un model de lucru prin care dezvoltatorii pot
creea aplicații ce sunt flexibileși pot fi reutilizate în proiecte viitoare. Prin repararea
unei aplicații în mai multe niveluri, dezolvoltatorii au posibilitatea de a modifica sau

Server 1 Client
Server 2 Server n Client Client Client Client Client

de a agăuga un nou strat fără a mai fi nevoiți sa rescrie întreaga aplicație. Acest tip
de arhitec tură structurată pe trei niveluri este compusă dintr -un nivel de prezentare,
un nivel logic de domeniu si un nivel de stocare al datelor.
Deși conceptele de strat și nivel sunt considerate asemănatoare, între acestea
există o diferența , stratul fiind un m ecanism logic dezvoltat pentru elementele ce
formează soluția software iar n ivelul fiind un mec anism fizic dezvoltat pentru
infrastructura sistemului.
Acest tip de arhitectură este reprezentat de securitatea sporită, deoarece în
cazul unui atac, atacatoru l este nevoit să spargă mai multe nivele pentru a ajunge la
nivelul cu adevarat import ant. De asemenea prin utilizarea acestui tip de arhitectură
se conferă un anumit tip de coeziune între angajații ce vor avea responsabilități clar
definite.
Dezavantajel e sunt legate de infrastructură și de costurile cu acestea,
deoarece necesită investiții mari pentru echipamente hardware si software, pentru
implementarea și întreținerea acestora. De asemenea această arhitectură necesită o
performanța a echipamentelor ridicată, deoarece este vorba de o rețea ce necesită o
comunicare continua ce depinde de o funcționare cât mai bună a echipamentului.

Cap 2. Tehnolo gii de dezvoltare a unei aplicaț ii web
Indiferent de modelul architectural adoptat de proiecta nt, aplica ția necesită
utilizarea unor instrumente diferite pentru satisfacerea responsabilităților fiecare strat
( prezentare, aplicație, bază de date) sau în cazul celor multi -strat și a nivelelor
divizate. De aceea în continuare vor fi prezentate cele mai utiliza te tehnologii cu
ajutorul cărora sunt dezvoltate website -urile, și care le conferă acestora un plus de
interacțiune, interfață și alte particularități pentru un plus de originalitate.

2.1 Serverul Web
Este un software sau un hardware ce folosește Hyperte xt Transfer Protocol și
alte protocoale ce sunt folosite pentru a răspunde solicitărilor venite din partea
clienților făcute pe world wide web. Software -ul controlează modul în care clientul
accesează fișierele găzduite. Acesta fiind accesat cu ajutorul nu melor de domenii ale
site-urilor web și asigură livrarea conținutului către utilizatorul solicitant. Pe partea de
hardware, un server web este un computer ce deține software -ul server -ului web și
alte fișiere legate de un site web, precum documente HTML, i magini și fișiere
JavaScript. Hardware -ul serverului web este conectat la internet și permite schimbul
de date cu alte dispositive conectate.
Procesul de server web este un exemplu de model client/server. Toate
computerele care găzduiesc site -urile web tr ebuie să aibă un software de server
web. Serverele web de top includ Apache, Microsoft Internet Information Server.
Serverele web fac parte dintr -un pachet mai mare de programe legate de
internet ce sunt utilizate pentru trimiterea ș i primirea de email -uri, descărcarea de
fișiere cât și construirea si publicarea paginilor web.

2.2 Programarea la nivelul server

În ceea ce priveste programarea la nivel de server, cele mai utilizate tehnologii
la nivel Mondial sunt framework -ul de la Microsoft ASP.NET cat si limbajul de
programare PHP, ambele fiind foarte apreciate cat si de incredere in fata utilizatorilor,
cu ajutorul acestora s -au dezvoltat o multime de site -uri web de -a lungul anilor.

Desi un framework este diferit de un limbaj de programare, acestea au
concurat inca de la lansare, deoarece ambele ofera acelasi spirjin in dezvoltarea unei
aplicatii web, ambele reprezentand tehnologii de tipul server -side, departajarea dintre
cele doua se realizeaza in general pe baza motivelor subiective.
ASP.NET este o platforma open -source, de dezvoltare web, alcatuit din
tehnologii server -side ce oferta fiecare serviciu necesar pentru a construe aplicatii
web pentru desktop cat si pentru dispozitivele mobile. Deoarece este un limbaj
server -side codul sursa este salv at intr -un fisier de tip ASP sau ASP.NET, acesta se
va executa in cadrul fisierului iar mai apoi vor fi afisate rezultatele cautarii in cadrul
browser -ului utilizatorului.
Limbajul in care se programeaza aplicatiile sta la alegerea dezvoltatorului,
deoare ce platforma poate sustine mai multe limbaje prin care se pot dezvolta aplicatii
web, precum: Cs, C, C++, Jscript.Net, VB.Net.
Pricipalul dezavantaj al a cestei platforme este reprezentat de complexitatea
de implementare, ce pot influenta decizia de utiliz are, mai ales in cazul in care exista
variante gratuite.
PHP este cel mai utilizat limbaj server -side folosit in programarea aplicatiilor
web, deoarece este orientat catre obiect venind in sprijinul programatorilor,
incurajândui sa devina cat mai creativi . Acest limbaj de programare este foarte usor
de inteles intrucat si cei ce nu l -au mai folosit se vor obisnui foarte rapid cu sintaxa si
cu modul de programare. Codul PHPnu trebuie scris intr -un fisier separat,acesta
poate fi scris intr -o pagina de tip H TML, permitand dezolvotatorului sa creeze o
pagina web cat mai dinamica.
Dezvoltarea aplicatiilor web in acest limbaj de programare nu sunt limitate de
catre serverele web, aceste suportand majoritatea serverelor existente pe piata.
Totodata nici gestionarea bazelor de date nu reprezinta un obstacol , deoarece exista
o varietate de optiuni precum: MySQL, Oracle, Sybase, Informix si chiar Microsoft
SQL.
Principalele probleme ce pot aparea in cazul utilizarii PHP sunt cele
reprezentate de Securitate, fiind una precara, iar pentru a fi cu adevarat siguri va fi
necesara utilizarea diferitelor plugi -uri. Desi putem realiza aplciatii de tip desktop,
utilizand PHP, acest lucru nu este foarte recomandat, deoarece este mult mai
optimizat pentru dezvoltarea a plicatiilor web.

PHP ASP.NET
Limbak de programare server -side Framewor k de dezvoltare aplicatii web
Intreprinderi mici si medii Intreprinderi medii si mari
Costuri reduse Costuri mai mari
Securitate precara Securitate ridicata
Nerecomandat pentru apl icatii desktop Aplicatii desktop bine realizate
Comunitate mare de ultizatori Comunitate restransa
Axat pe interfata utilizatorului Axat pe functionalitati

Analiza comparative intre PHP si ASP.NET

În tabelul de mai sus se poate observa o comparatie dintre cele doua
tehnologii de dezvoltare web. Dezvoltatorul trebuie sa aiba in vedere care dintre cele
doua tehnologii se pliaza mai bine pentru nevoile sale de dezvoltare.

2.3 Gestionarea bazei de dat e

Termenul “baza de date” este definit ca si o col ectie de inregistrari electronice
ce pot fi procesate pentru obtinerea de informatii utile. Datele pot fi accesate,
modificate, gestionate, controlate si organizate pentru a efectua diverse operatiuni si
prelucrare a datelor. Datele sunt indexate intre r anduri, coloane sit abele, acestea
facand mult mai eficienta procesarea volumului de lucru cat si interogarea datelor .
Sistemul de management al bazelor de date face referire la solutia
tehnologica utilizata pentru optimizarea si gestionarea stocarii si r egasirii datelor din
baza de date. Aceasta ofera o abordare cat mai sistematica pentru gestionarea
bazelor de date prin intermediul aplicatiilor. Responsabilitatile de gestionare al
bazelor de date, precum accesul si modificarea, cat si structura logica a bazei de
date.
Sistemul de management al bazelor de date faciliteaza operatiuni de
administrare suplimentare precum: gestionarea schimbarilor, recuperarea datelor cat
si monitorizarea performantelor.
Pentru a facilita aceste functii, sistemul de manageme nt al bazelor de date are
urmatoarele componente cheie:

 Software – Acesta reprezinta setul de programare utilizate pentru controlul si
gestionarea bazei de date generale. Aceasta include software -ul bazei de date,
sistemul de operare, software -ul de retea utilizat pentru a partaja datele intre
utilizatori si programele de aplicatii utilizate pentru a accesa date in sistemul de
management al bazei de date.
 Hardware – Format dintr -unset de dispositive electronice fizice, precum computer,
dispositive I/O sau dispositive de stocare. Acestea ofera interfata dintre computer
si sistemele din lumea reala.
 Data – contine date operationale, acces la inregistrarile bazei de date cat si
metadate ca sursa pentru a efectua functionalitatea necesara. Datele includ
fisiere index, informatii administrative cat si dictionare de date ce sunt utilizate
pentru a reprezenta fluxurile de date, proprietatea, structura si relatiile cu alte
inregistrari sau obiecte.
 Procedurile – Acestea sunt instructiunile si regulile care ajuta la modul de utilizare
al gestionarii bazei de date, la proiectarea si executarea bazei de date utilizand
procedure documentate, cu scopul de a ghida utilizatorii ce opereaza si
gestioneaza baza de date.
 Limbajul – Acestea sunt componente ale bazelor de date u tilizate pentru
accesarea, modificarea, stocarea si regasirea elementelor din baza de date.
Tipurile de limbaje includ Data Definition, data Manipulation Language, Database
Acces Language si data Control Language.
 Procesor de interogare – Acest a transformă interogările de utilizator într -o serie
de instrucțiuni de nivel scăzut. Aceasta citește interogarea utilizatorului online și o
traduce într -o serie eficientă de operații într -o formă care poate fi trimisă
managerului de date de timp de execuție pentru ex ecuție.
 Executarea time database manager – Aceasta este componenta software centrală
a sistemului de gestionare al bazei de date care se interconectează cu
programele și interogările de aplicații trimise de utilizator și gestionează accesul la
baza de dat e la momentul rulării. Funcția sa este de a converti operațiunile în
interogările utilizatorului. Acesta oferă control pentru a menține coerența,
integritatea și securitatea datelor.
 Data manager – Numit, de asemenea, cache, acest lucru este responsabil pe ntru
manipularea datelor în baza de date, oferind o recuperare a sistemului care îi
permite să recupereze datele după o eroare.

 Motor – Reprezinta un serviciu de baza, ce tine de prelucrarea

Similar Posts