Sunteți pe pagina 1din 93

Lector univ. dr.

Adrian Runceanu
Tehnologii Web
T
e
h
n
o
l
o
g
i
i

W
E
B

1
Universitatea Constantin Brncui Trgu-Jiu
Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu
Curs 5
Mediul de lucru n Web
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

2
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

3
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

4
Internet-ul ofera utilizatorilor o serie de
servicii, dintre care amintim:

posta electronica (e-mail)
transferul de fisiere (FTP File Transfer
Protocol )
conectarea la distanta (telnet)
World Wide Web-ul (cunoscut si sub numele
de WWW sau WEB)
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

5
1. Introducere in Web
Fara indoiala, cel mai dinamic si mai de success
dintre serviciile Internet este World Wide Web-ul.
In acest curs prezint o scurta introducere in Web:
definitii ale serviciului
ale aplicatiilor si site-urilor Web
prezentarea componentelor mediului de lucru
care ofera posibilitatea dezvoltarii si utilizarii
acestora
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

6
Serviciul World Wide Web
Web-ul reprezinta un spatiu
informational alcatuit din resurse situate in
locatii cunoscute sub numele de noduri,
utilizate prin intermediul unui sistem
hypertext, folosind modul de identificare
denumit URI (Uniform Resource Identifier). T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

7
Resursele Web-ului sunt organizate
in pagini Web si livrate
utilizatorilor de catre un program
denumit server Web.
Utilizatorii folosesc pentru
vizualizarea paginilor Web un
program-client cunoscut sub
numele de browser sau navigator
Web.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

8
Tim Bernes-Lee a scris primul browser
(cunoscut sub numele de
WorldWideWeb) si primul server Web
(denumit httpd, fiind acronimul pentru
Hyper Text Transfer Protocol Daemon),
elaborand totodata si specificatiile
initiale pentru URL-uri, HTTP si HTML.
Primul sit Web a fost realizat la CERN si
plasat online in data de 6 august 1991.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

9
Situri si aplicatii Web
O colecie de pagini Web nrudite i
interconectate aflate n proprietatea unui
instituii, organizaii, companii sau persoane
gzduite pe unul sau mai multe calculatoare
pe care ruleaz un server web, avnd asociat
o adres vizibil utilizatorilor din Internet, se
numete sit (site sau website, n limba
englez).
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

10
Un site web poate fi disponibil si in
cadrul unui intranet, adica intr-o
retea privata a unei organizatii, care
utilizeaza tehnologiile Internet.
De asemenea, un site Web poate fi
disponibil si intr-un extranet, acesta
reprezentand o retea privat folosita
in scopul partajarii informatiilor sau
operatiunilor unei organizatii cu
parteneri de afaceri.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

11
Aplicaie Web = O colectie
interconectata de pagini Web avand un
continut generat dinamic (determinat
partial de optiunile utilizatorului), creat
cu scopul de a oferi o functionalitate
specifica:
magazin virtual
motor de cautare
client de e-mail
client pentru accesarea bazelor de date
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

12
Una dintre explicatiile, succesului inregistrat
astazi de serviciul World Wide Web, consta
fara indoiala in posibilitatea personalizarii
interactiunii utilizatorului cu aplicatie Web,
care inseamna generarea unui anumit
continut, in functie de datele de
intrare/optiunile furnizate de acesta.
Tipul de interactiune amintit nu ar fi putut fi
implementat fara folosirea tehnologiilor
Web pentru server.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

13
O aplicatie Web rezidenta pe un server,
fiind accesata prin intermediul unei retele
(Internet sau intranet) de catre utilizatori,
care folosesc un client Web (browser),
functioneaza in mod obisnuit pe trei niveluri:
1. Nivelul I - browserul Web
2. Nivelul II (sau nivelul intermediar)
tehnologia utilizata pentru generarea
dinamica a continutului(server de aplicatii)
3. Nivelul III surse de date, reprezentate de
baze de date (BD) si/sau fisiere XML

T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

14
Figura 1. Arhitectura generala a unei aplicatii Web
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

15
Surse de
date
BD, XML
Scripturi
CGL, PHP, ASP,
JSP
Java Script
plugin-uri


Server Web


Server Web

continut
static

continut
static

continut
dinamic

continut
dinamic
Server
Client
Aplicatiile Web au devenit deosebit de populare, odata cu
raspandirea clientilor pentru accesarea acestora, instalati
pe diverse platforme (Windows, UNIX/Linux, Mac OS).
Odata cu dezvoltarea WWW, a aparut necesitatea ca
aplicatiile Web sa prezinte, macar partial, caracteristicile
aplicatiilor desktop.
In acest scop, au fost dezvoltate tehnologii Web, atat
pentru client (in special), cat si pentru server.
Functionalitatile aplicatiilor Web sunt oferite, in cea mai
mare parte, de server, fiind livrate utilizatorilor prin
intermediul unei retele (Internet sau intranet).
Din acest motiv, utilizatorii folosesc un client care nu
necesita performante deosebite, numit thin client (adica
browserul Web).
In schimb, aplicatiile desktop sunt bazate pe un client cu
performante deosebite, numit thick client (sau fat client),
care ofera cea mai mare parte a functionalitatilor acestora.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

16
Componentele mediului de lucru
Pentru a implementa, depana si extinde
aplicatiile Web este necesar un ansamblu
de instrumente software, cunoscut sub
numele de mediu de lucru.
Excluzand software-ul de sistem (sistemul
de operare), mediul de lucru utilizat pentru
crearea si utilizarea aplicatiilor Web are
urmatoarele componente:
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

17
Componentele mediului de lucru
1. un browser Web folosit pentru afisarea interfetei
cu utilizatorul a aplicatiei
2. un server Web livreaza continutul (static sau
dinamic) browserului
3. un server de aplicatii utilizat (printre altele)
pentru generarea dinamica a continutului si pentru
interactiunea cu sursele de date
4. un server de baze de date folosit pentru stocarea
si gestionarea unor date folosite de aplicatie
5. un instrument software utilizat pentru facilitarea
dezvoltarii aplicatiei
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

18
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

19
2. Browser-ul Web
Browser-ul (sau navigator-ul) Web este un program care
ruleaza pe calculatorul clientului, fiind utilizat in principal
pentru afisarea interfetei cu utilizatorul a aplicatiei Web.
Exista un numar mare de navigatoare, ruland pe diverse
platforme (Windows, UNIX/Linux, Mac OS).
Alaturi de:
Internet Explorer
Firefox
Safari
Netscape Communicator
Opera Mozilla
Google Chrome
mai sunt utilizate si alte navigatoare dintre care enumeram:
Maxthon
Konqueror
Amaya
SeaMonkey
Lynx (ruleaza in mod text)

T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

20
Caracteristici
Navigatoarele Web actuale:
asigura support:
pentru limbajele de marcare (HTML, XHTML)
pentru unele limbaje de programare utilizate in paginile
Web (JavaScript, VBScript)
si pentru foi de stiluri folosite in scopul obtinerii, unor
modalitati de afisare a continutului unitare (CSS, XSLT)
ofera posibilitatea realizarii listelor de adrese ale
siturilor favorite (numite in functie de browser,
Bookmarks sau Favorites), precum si accesul la
istoricul navigarii (History)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

21
asigura suport pentru aplicatii care extind
functionalitatile principale.
O astfel de aplicatie este cunoscuta sub numele
de plugin, fiind utilizata in scopul accesarii unor
tipuri speciale de date (continut graphic vectorial
in cunoscutele formate Flash si SVG)
asigura securitatea transmiterii datelor
confidentiale
ofera utilizatorului posibilitatea de a configura si
controla unele caracteristici ale modului de afisare
si navigare
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

22
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

23
3. Serverul Web
In Web sunt utilizate un numar mai mare de servere pentru
servirea continutului.
Cele mai cunoscute sunt (in ordinea descrescatoare a
popularitatii), conform statisticilor oferite de Netcraft Inc.
(http://www.netcraft.com/):
Apache
Microsoft IIS (Internet Information Server)
nginx
Google
Zeus
Sun ONE Web Server
Conform acelorasi date, in februarie 2011, Apache este
utilizat de circa 60.10% din totalul siturilor, urmat, la
distanta, de Microsoft IIS (20,04%).
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

24
Continutul servit browserului de catre serverul
Web poate fi:

1. static - stocat in fisiere de pe calculatorul -
server
2. dinamic - generat de programe/scripturi sau
API-uri apelate de serverul Web

Este de remarcat ca livrarea continutului static este
mai rapida decat cea a continutului dinamic, mai
ales in situatia in care in cazul ultimului tip date
sunt extrase din baze de date.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

25
3.1. Caracteristicile serverelor Web
Principalele caracteristici ale server-elor
Web:
1. utilizarea modulelor (legate sau ncrcate
dinamic) care ofera posibilitatea extinderii
capabilitatilor de baza oferite
2. asigurarea suportului pentru conexiuni
securizate prin criptarea fluxului de date
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

26
3. gestionarea simultana a mai multor site-uri Web,
asigurand asa-numita gazduire virtuala (virtual
hosting), folosind aceeasi adresa IP (modalitate
utilizata de toti furnizorii de servicii Internet
Internet Service Provider)
4. asigurarea compresiei continutului (folosind
codificarea gzip), pentru reducerea marimii
raspunsului
5. posibilitatea de a fi codificate prin intermediul
unui fisier text sau al unei interfete grafice
(serverul Web Apache poate fi configurat prin
intermediul fisierului text denumit httpd.conf)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

27
3.2. Serverul Web Apache
Cel mai popular (incepand cu aprilie
1996) si unul dintre cele mai rapide,
eficiente si functionale servere Web
este Apache.
Acesta este dezvoltat de Apache
Software Foundation
(http://www.apache.org/), in regim
open source.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

28
Serverul isi are originea intr-o serie de
corectii (patch-uri) create de NCSA Web
Server, iar denumirea sa provine de la
APAtCHy server.

Apache a fost dezvoltat initial pentru
platformele UNIX, Linux si BSD, fiind
modificat si utilizat ulterior si pe
platforma Windows.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

29
Serverul Web Apache este alcatuit dintr-un
nucleu relativ mic, impreuna cu o serie de
module.
Acestea din urma pot fi compilate static in
server sau de cele mai multe ori
incarcate dinamic la executie (runtime).
Adresa Web a proiectului Apache HTTP Server
este http://httpd.apache.org/.
Documentatia referitoare la instalarea,
structura si utilizarea Apache poate fi gasita
la adresa http://httpd.apache.org/docs/2.2.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

30
Dupa descarcarea si instalarea serverului
Apache se instaleaza si programul Apache
Monitor, care poate fi accesat din bara de
task-uri (taskbar).
Acesta poate fi utilizat pentru:
oprirea (optiunea Stop)
pornirea (optiunea Start)
sau restartarea serviciului Apache
(optiunea Restart)
precum si pentru deschiderea ferestrei
Services
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

31
Pentru ca modificarile efectuate in fisierul de
configurare al serverului Web Apache sa devina
actuale, este necesara restartarea serviciului
corespunzator dupa fiecare astfel de setare
(operatiunea este echivalenta cu oprirea acestuia,
urmata de repornirea sa).
Radacina sitului Web (DocumentRoot) va fi situata
implicit in folderul
C:\Program Files\Apache Group\Apache2\htdocs.
In htdocs, se va crea folderul programareweb in
care vor fi salvate aplicatiile/scripturile prezentate
in cursuri.
Puteti obtine informatii detaliate despre instalarea
serverului Web Apache pe platforma Windows de la
adresa
http://httpd.apache.org/docs/2.2/platform/windows
.html
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

32
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

33
4. Serverul de aplicatii
Exista tehnologii care permit serverului Web sa
realizeze mult mai mult decat trimiterea fisierelor
(X)HTML cerute de client.
Acestea (numite tehnologii Web pentru server
server-side Web tehnologies) ofera posibilitatea
generarii dinamice a continutului Web oferit
utilizatorului folosind diverse surse de date
(baze de date, fisiere text, documente XML,
stream-uri multimedia) - dar si efectuarea unor
calcule si procesari complexe.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

34
Unul dintre motivele succesului inregistrat
astazi de serviciul World Wide Web, consta
in posibilitatea personalizarii interactiunii
utilizatorului cu aplicatiile Web, care
inseamna generarea unui anumit continut,
in functie de datele de intrare/optiunile
furnizate de acesta.
Tipul de interactiune amintit nu ar fi putut
fi implementat fara folosirea tehnologiilor
Web pentru server.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

35
4.1.Generarea dinamica a continutului
Web
Din punct de vedere istoric, prima metoda de
generare dinamica pe server a continutului
Web este reprezentata de standardul de facto
CGI(Common Gateway Interface).
Metoda permite serverului Web sa transfere
unei aplicatii externe (numit script CGI) o cerere
venita de la un client Web (browser) si sa ii
trimita acestuia continutul generat in urma
executiei aplicatiei.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

36
Aplicatiile externe utilizate prin intermediul
interfetei CGI sunt numite si programe
gateway, deoarece se comporta ca o poarta
intre serverul Web si sursele de date
existente pe server.
Din punct de vedere cronologic, etapa
urmatoare in evolutia metodelor de generare
dinamica a continutului Web a fost utilizarea
interfetelor de programare NSAPI(Netscape
Server API) si ISAPI (Microsoft Internet
Services API), acestea functionand conform
modelului CGI.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

37
Astazi, cel mai des utilizate sunt
limbajele/platformele de programare pentru
server denumite servere de aplicatii,
functionand de obicei ca extensii ale
serverului Web.
In raport cu CGI, serverele de aplicatii
prezinta o serie de dezavantaje dintre care le
mentionam pe urmatoarele:
suportul pentru sesiuni
utilizarea unor conexiuni persistente cu
bazele de date
asigurarea load-balancing-ului
cresterea securitatii aplicatiilor create
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

38
4.2 Limbaje si platforme de programare
pentru server
Cele mai utilizate limbaje/platforme de
programare pentru server sunt:
1. PHP (initial, acronimul pentru Personal
Home Page, ulterior pentru PHP:
Hypertext Preprocessor) este un limbaj
(combinatie de C, Perl si Java) ale carui
baze au fost puse de Rasmus Lerdorf in
1994.
PHP este utilizat de cele mai multe ori
impreuna cu serverul Web Apache
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

39
2. Perl (Practical Extraction and Report
Language) este un limbaj de programare
creat de Larry Wall, care se bazeaza pe C,
precum si pe cateva utilitare UNIX.
Perl este cea mai populara alternativa la
PHP
Are avantajul de a fi foarte flexibil, in plus
existand numeroase module/scripturi
(biblioteci) scrise pentru/in Perl (e.g.,
CPAN Comprehensive Perl Archive
Nertwork, http://www.cpan.org/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

40
3. JSP (Java Script Pages) este o
platforma de programare Web
creata la inceputul anului 1998 de
Sun Microsystems, Inc., care face
parte din specificatia J2EE (Java 2
Enterprise Edition).
Platforma JSP utilizeaza sintaxa XML si o
serie de clase si functii Java
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

41
4. ASP (Active Server Pages) este o platforma de
programare Web creata de Microsoft, permitrand
utilizarea unor scripturi scrise in limbajele VBScript
(Microsoft Visual Basic Script), JScript si PerlScript,
fiind utilizata curent cu serverul Web Microsoft IIS
5. ColdFusion este un cadru de lucru utilizat pentru
dezvoltarea software-ului, in general, si a site-urilor
dinamice, in particular.
Cea mai importanta caracteristica a ColdFusion
consta in utilizarea limbajului de scripting: CFML
(ColdFusion Markup Language).
Desi ColdFusion este considerat adesea, sinonim cu
CFML, acesta suporta pe langa CFML si alte
limbaje de scripting
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

42
Mediile si cadrele de lucru enumerate
anterior pot fi utilizate in diverse scopuri,
dintre care le mentionam pe urmatoarele:
1. generarea dinamica si afisarea
continuturilor site-urilor WEB
2. utilizarea postei electronice (webmail si
trimiterea de mesaje din aplicatiile Web)
3. asigurarea suportului tehnic online pentru
diverse produse (hardware sau software)
4. realizarea unor clasamente si sondaje
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

43
5. completarea si trimiterea online a
formularelor
6. crearea de aplicatii pentru comunitate
(forumuri, newslettere, jocuri)
7. realizarea unor cataloage, brosuri si site-
uri de informatii publicitare
8. crearea unor aplicatii care necesita
conectarea serverului Web la alt server,
numit backend server (server de baze de
date)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

44
9. realizarea aplicatiilor client si server
pentru serviciile Web
10. crearea unor aplicatii personalizate

In urma interpretarii script-urilor,
serverul de aplicatii genereaza date la
iesirea standard.
Serverul Web intercepteaza aceasta
iesire si trimite datele browserului.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

45
Serverul de aplicatii PHP

Situl Web oficial al PHP este
http://www.php.net.
Pentru a instala si configura PHP pe
platforma Windows este necesar sa se
descarce de la adresa
http://www.php.net/downloads.php, din
sectiunea Windows Binaires, cel mai recent
PHP 5 arhivat.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

46
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

47
5. Serverul de baze de date
Baza de date reprezinta una sau mai multe
colectii de date aflate in interdependenta,
impreuna cu descrierea datelor si a relatiilor
dintre ele.
Colectia de date reprezinta un ansamblu de date
organizat dupa anumite criterii.
Descrierea datelor se intalneste sub denumirile
de catalog de sistem, dictionar de date sau
metadata (adica date despre date).
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

48
5.1 Notiuni generale despre baze de
date
Sistemul de programare care permite
construirea bazelor de date,
introducerea informatiilor in bazele de
date si dezvoltarea unor aplicatii care le
exploateaza se numeste sistem de
gestiune a bazelor de date (SGBD).
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

49
Un SGBD ofera posibilitatea
utilizatorului de a avea acces la date
folosind un limbaj de nivel inalt,
apropiat de cel natural, pentru a obtine
informatii, utilizatorul facand abstractie
de algoritmii aplicati privind
selectionarea datelor implicate si a
modului de memorare a lor.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

50
5.1.1 Functiile sistemelor de gestiune a bazelor de
date
Principalele functii SGBD sunt:
functia de descriere - folosind un model de structura a unei
baze de date, SGBD-ul realizeaza definirea entitatilor, a
caracteristicilor si legaturilor dintre acestea, prin intermediul
unui limbaj de descriere a bazelor de date
functia de manipulare - introducerea datelor in baza de date
se realizeaza prin intermediul unui limbaj de manipulare
care dispune de anumite instructiuni.
De asemenea, limbajul de manipulare permite
consultarea si actualizarea bazei de date
functia de utilizare - este realizata, in general, in cadrul
limbajului de manipulare, care permite scrierea unor
algoritmi de prelucrare a datelor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

51
5.1.2 Organizarea si implementarea bazelor de
date
Pentru organizarea bazelor de date
sunt utilizate o serie de modele
conceptuale (sau structurale), cele mai
cunoscute fiind cele numite:
retea
ierarhic
relational
obiectual
si modele hibride (obiectual-relational)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

52
Pentru implementarea sistemelor de
gestiune a bazelor de date sunt utilizate
urmatoarele modele arhitecturale:

mainframe
integrat
file-server
client-server
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

53
Cel mai des utilizat model conceptual este cel
relational.
Sistemul software care implementeaza modelul
rational se numeste SGBDR (sistem de gestiune
a bazelor de date relationale).
Pentru implementarea SGBDR-urilor este
utilizata arhitectura client-server.
Utilizarea majoritatii serviciilor internetului se
desfasoara in regim client/server, astfel ca
devine naturala folosirea SGBD-urilor in
aplicatii Internet (e-business, e-commerce).
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

54
In ceea ce priveste costurile,
SGBD-urile se pot clasifica in doua
categorii:
1. comerciale (proprietare)
2. open source (gratuite)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

55
Sistemele comerciale - dintre care amintim:
Oracle
SQL SERVER (Microsoft)
DB2(IBM)
- sunt scumpe, motiv pentru care sunt
practic inaccesibile unor
companii/organizatii mici, institutii de
invatamant sau personae particulare.
In schimb, MySQL, de exemplu, este
gratuit.
Cele mai multe sisteme incluse in ultima
categorie sunt folosite ca backend
pentru aplicatiile Web dinamice.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

56
5.1.3 Tipuri de utilizatori ai bazelor de date
Procesul de creare si exploatare a bazelor de
date necesita existenta unor utilizatori avand diverse
functii.
Principalele tipuri de utilizatori ai bazelor de
date sunt:
administratorul bazei de date persoana care
stabileste si descrie modelul bazei de date, dupa ce,
in prealabil, realizeaza o analiza detaliata a
sistemului informatic caruia ii este destinata.
Acesta va descrie toate entitatile, structura lor si legaturile
dinte ele.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

57
administratorul aplicatiei persoana care, pe modelul
bazei de dtae si a structurii acesteia, analizeaza cerintele
concrete ale unei aplicatii, stabilind un submodel al bazei
de date care va fi utilizat ( include o parte a bazei de date,
vazuta din punctual de vedere al aplicatiei ) de catre toti
programatorii de aplicatii
programatorii de aplicatii persoanele care scriu
programe pentru exploatarea bazei de date, folosind
descrierea data de administratorul aplicatiei.
In acest scop, vor folosi limbajul de manipulare al
sistemului de gestiune a bazei de date
utilizatorii bazei de date persoane care utilizeaza baza de
date prin intermediul aplicatiilor realizate de programatorii
de aplicatii.

T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

58
5.2 Sistemul de gestiune a bazelor de date
relationale MySQL
MySQL dezvoltat de MySQL AB,
este cel mai popular sistem de
gestiune a bazelor de date relationale
open source utilizat in Internet, avand
versiuni pentru majoritatea
platfomelor.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

59
Serverul MySQL este multifir si
multiutilizator.

Dintre caracteristicile sale, pot fi mentionate
stabilitatea si rapiditatea.
Adresa MySQL este http://www.mysql.com/.
La data scrierii acestui curs, cea mai recenta
versiune stabila este 5.5.10
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

60
Distributii MySQL
O distributie MySQL contine numai o parte sau
toate componentele urmatoare:
serverul mysqld (sau diverse variante; distributia
standard client-server pentru Windows ofera
urmatoarele servere: mysqld, mysqld-opt,
mysqald-nt) indeplineste urmatoarele functii
principale:
gestioneaza bazele de date si conturile de acces
primeste cererile clientilor
obtine accesul de date
furnizeaza clientilor informatiile solicitate
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

61
programe-client (mysql) sunt
utilizate in principal pentru
conectarea la server, transmiterea
comenzilor si afisarea rezultatelor
primate
programe utilitare (mysqladmin,
mysqldump, myiscamchk) sunt
folosite pentru administrarea
sistemului MySQL
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

62
fisiere de tip antet si fisiere de tip
biblioteca
documentatie sub forma unui manual
MySQL
baza de date mysql contine, printre
altele, tabelele de acordare a
privilegiilor pentru utilizatori
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

63
Clientul Mysql lucreaza in modul text, fara
interfata grafica.
Daca se doreste utilizarea unor clienti cu
interfata grafica, ei trebuie procurati separat.
Dintre acestia amintim SQL-Front.
Distributiile MySQL sunt de doua tipuri:
distributii client nu contin nici un server, dar
contin programele de tip client necesare pentru
transmiterea comenzilor catre un server MySQL
instalat pe un alt calculator
distributii server contin atat programele-server,
cat si programele-client si utilitare
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

64
Curs 5
1. Introducere n Web
2. Browserul Web
3. Serverul Web
4. Serverul de aplicaii
5. Serverul de baze de date
6. Instrumente pentru dezvoltarea aplicaiilor
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

65
6. Instrumente pentru dezvoltarea
aplicatiilor
Pentru dezvoltarea aplicatiilor Web sunt puse la
dispozitia programatorilor un numar foarte mare
de instrumente, atat in regim open source, cat si
comercial.
Aceste instrumente sunt:
1. editoare de text
2. sisteme de management al continutului
3. cadre de lucru
4. medii de dezvoltare integrate
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

66
6.1. Editoare de text
Editoarele sunt instrumente utilizate pentru
editarea codului-sursa.
Pentru scrierea/editarea scripturilor PHP pot fi
utilizate un numar mare de editoare, incepand cu
cel mai simplu, si anume banalul Notepad.
Alte editoare au facilitate suplimentare, dintre
care cea mai importanta este asa-numita syntax
highlighting, care consta in colorarea cuvintelor
rezervate ale limbajului de marcare/programare
utilizat in scrierea scriptului.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

67
Din multitudinea de programe care
pot fi utilizate pentru editarea
scripturilor PHP mentionam cateva:

EditPlus este un editor comecial
pentru HTML, CSS, PHP, ASP, Perl, C/C++,
Java, JavaScript si VBScript
(http://www.editplus.com/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

68
jEdit este un editor gratuit, scris in
Java, avand versiuni pentru cele mai
multe platforme.
Suporta evidentierea sintaxei pentru circa
130 de tipuri de fisiere (e.g. JavaScript, Perl,
PHP, HTML, XML, XSL)
Necesita pentru rulare o masina virtuala
Java (http://www.jedit.org/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

69
Maguma Studio Light for PHP este
un editor open source, care suporta:
evidentierea sintaxei HTML si PHP
operatii nelimitate copy-paste-undoredo
autocompletare pentru numele functiilor
si parametrilor
suport FTP
macro-uri, etc.(http://www.maguma.com)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

70
Notepad++ - este un editor gratuit, care suporta
evidentierea sintaxei pentru un numar mare de limbaje.
Alte facilitate oferite de Notepad++ sunt:
stiluri personalizate
editarea simultana a mai multor fisiere
autocompletare
suport pentru editarea simultana a mai multor
documente
cautarea si inlocuirea sirurilor folosind expresii
regulate
drag & drop
zoom in si zoom out
((http://notepad-plus.sourceforge.net/uk/site.htm/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

71
PSPad este un editor gratuit, suportand
evidentierea sintaxei pentru un numar de
peste 120 de tipuri de fisiere (CSS, HTML,
XHTML, Java, etc).
Editorul incorporeaza diverse tipuri de
instrumente, dintre care mentionam un
editor hexazecimal si un client FTP
(http://www.pspad.com)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

72
6.2. Sisteme de management al
continutului
Un CMS (CONTENT MANAGEMENT SYSTEM)
reprezinta un sistem software folosit pentru
asistenta utilizatorilor in administrarea
continutului unui site Web.
Un Web CMS este folosit pentru stocarea,
modificarea si publicarea unor documente
specifice, articolele noi, manualele tehnice,
ofertele de munca, informatiile despre angajati,
imaginile cu produse, etc.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

73
Dintre CMS-urile cele mai cunoscute
amintim:

Drupal un CMS open source care
poate sustine o varietate de site-uri
Web, de la bloguri, brosuri colective,
pana la site-uri ale unor comunitati
largi (http://drupal.org)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

74
eZ Publish un CMS si un mediu de
dezvoltare, avand ca functionalitate
dezvoltarea siturilor de comert
electronic.
Poate fi utilizat sub licenta
profesionala (eZ Publish Pro sau
Enterprise sau in regim open source
GPL (http://ez.no//expublish)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

75
Joomla folosind acest cadru de lcuru
open source, pot fi dezvoltate solutii
integrale de comert electronic,
sisteme de control al inventarului,
instrumente de raportare a datelor,
cataloage personalizate cu produse,
sisteme de rezervari, etc.
(http://www/joomla.org)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

76
Mambo este un CMS open source foarte popular,
bazat pe PHP si MySQL, folosit pentru a crea si
administra stiluri printr-o interfata grafica simpla,
oferind o multime de facilitati dintre care amintim:
salvarea paginilor in cache (pentru a imbunatati
performantele site-urilor cu trafic ridicat)
tehnici avansate de realizare a sabloanelor
(templates)
versiuni pentru tiparire ale paginilor
forumuri
stiri
calendare
feed-uri RSS (http://www.mamboserver.com/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

77
osCommerce este cea mai des utilizata
solutie open source pentru dezvoltarea
siturilor de comert electronic, fiind bazata
pe PHP si MySQL si avand versiuni pentru
un numar mare de platforme: Windows,
Linux, Solaris, BSD, Mac OS
(http://www.oscommerce.com/).
Dintre solutiile CMS open source pentru comertul
electronic, bazate pe PHP si MySQL, mai amintim
Zend Cart (http://zen-cart.com/)
phpShop (http://www.phpshop.org/)
OpenCart (http://www.opencart.com/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

78
PHP - Fusion este un CMS open source de
categorie usoara. Foloseste o singura baza
de date pentru stocarea intregului continut
al sitului (http://phpfusion.co.uk/news.php)
PHP Nuke este un CMS si un portal open
source. Este flexibil in exploatare, dispune
de instrumente de actualizare a
continutului, fiind una dintre cele mai
accesibile solutii de tip portal gasite pe
Internet (http://phpnuke.org/ )
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

79
Plone este unul dintre cele mai avansate
CMS-uri, identificat de CMSReport si
eWeek drept una dintre cele trei variante
open source din gama sistemelor CMS
enterprise (http://plone.org/)

PostNuke este un CMS open source,
reprezentand un sistem de administrare
colaborativ, pentru comunitati si
continuturi (http://www.postnuke.com/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

80
WordPress desi nu este un CMS open
source, poate reprezenta baza pentru site-
uri mari si complexe, indeosebi bloguri
(http://wordpress.org/)

XOOPS este un CMS open source, in
intregime orient-obiect, scris in PHP, fiind
un instrument potrivit pentru a crea site-
uri si portaluri Web
(http://www.xoops.org/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

81
6.3. Cadre de lucru. Modelul MVC
Un cadru de lucru software (software
framework) este un proiect reutilizabil
pentru dezvoltarea aplicatiilor si poate
include programe, biblioteci, un limbaj de
scripting, precum si un alt software menit
sa ajute la dezvoltarea si conectarea
diverselor componente ale unui proiect
software.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

82
Diversele parti ale unui cadru de lucru pot fi
expuse (si accesate) prin intermediul unor
API-uri (Application Programming Interface).
Majoritatea cadrelor de lucru utilizeaza
arhitectura MVC (Model-View-Controller),
scopul acesteia fiind de a separa modulul de
date de interfata cu utilizatorul (view), astfel
incat schimbarile de interfata sa nu afecteze
datele, iar acestea sa poata fii reorganizate
fara schimbari de interfata.
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

83
Arhitectura MVC rezolva aceasta problema
prin decuplarea accesului la date si a logicii
aplicatiei de prezentarea datelor si
interactiunea cu utilizatorul, introducand o
componenta intermediara, numita Controller.
Astfel, arhitectura MVC este constituita din trei
componente principale:
componenta Model constituie o reprezentare
specifica (sub forma de date) a informatiilor cu
care opereaza aplicatia
Mai multe aplicatii utilizeaza stocarea
permanenta a datelor (baze de date)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

84
componenta View (vedere) interpreteaza
modelul intr-o forma potrivita pentru
interactiune (in mod obisnuit intr-un
element de interfata). Pentru un singur
model, pot fi dezvoltate mai multe vederi, in
diverse scopuri
componenta Controller (controlor)
reprezinta clasele care realizeaza
comunicarea intre cele doua componente
anterioare
proceseaza evenimentele din interfata (in
mod obisnuit, actiunile utilizatorilor) si
raspunde la acestea
poate invoca schimbari in model
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

85
Dintre numeroasele cadre de lucru
open source avand PHP ca limbaj de
scripting, se remarca urmatoarele:

Prado este un cadru de lucru bazat pe
componente sip e programarea condusa pe
evenimente, reprezentand acronimul
penru PHP Rapid Application Development
Object-oriented (http://pradosoft.com/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

86
Smarty este unul dintre primele cadre de
lucru (din punct de vedere cronologic) care
au implementat modelul MVC, fiind preferat
de un numar mare de programatori
(http://smarty.php.net/)
Symfony este un cadru de lucru pentru
proiectele PHP 5.
Invatarea acestuia este relativ simpla
pentru programatorii PHP care cunosc
sabloanele de proiectare ale aplicatiilor
Web (http://www.symfony-project.org/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

87
Zend Framework este un cadru de lucru
pentru PHP 5, dezvoltata de firma Zend
software din Israel.
Acesta a fost proiectat cu scopul de a
elimina detaliile plictisitoare legate de
scrierea efectiva a codului, lasand
programatorul sa-si concentreze atentia
asupra intregului proiect pe care il
dezvolta (http://framework.zend.com/)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

88
6.4 Medii integrate de dezvoltare
Un IDE (Integrated Development
Environment), adica un mediu integrat de
dezvoltare este un software complex, care
ofera posibilitatea dezvoltarii altor
programe conducand programatorul prin
toate etapele necesare (editarea codului-
sursa, compilarea, depanarea, testarea,
generarea documentatiei).
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

89
De obicei, un mediu de dezvoltare este
specific unui limbaj de programare, dar
exista si medii care suporta mai multe
limbaje.
Dintre IDE-urile care folosesc limbajul
PHP mentionam:
Dreamweaver este un IDE commercial
larg raspandit, produs de Macromedia,
acum in proprietatea Adobe Systems.
Produsul poate fi rulat pe programe
software variate (Mac OS, Windows)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

90
PhpEd este un IDE/editor commercial
complet personalizabil, care stie HTML,
PHP, Perl, Python, oferit de NuSphere
(http://www.nusphere.com/)
PHPEdit este un IDE PHP commercial
pentru profesionisti, incluzand o serie de
instrumente puternice, ca de exemplu un
debugger depanator
(http://www.waterproof.fr)
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

91
Quanta Plus este un IDE (pentru platforma
Linux) stabil, foarte bogat in facilitati eficient
si extensibil (http://quanta.kdewbdev.org/)
Zend Studio este un IDE commercial,
produs de Zend Software. Pe langa o
multime de alte functionalitati (profiler,
analizator de cod, suport CVS, inspectoare,
suport FTP), ofera si un debugger
Depanarea codului se poate face inclusive
de la distanta, in acest caz folosindu-se
componenta Zend Studio Server, inclusa in
pachet (http://www.zend.com )
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

92
ntrebri?
T
e
h
n
o
l
o
g
i
i

W
E
B

-

c
u
r
s

93