Sunteți pe pagina 1din 93

Universitatea Constantin Brncui din Trgu-Jiu

TEHNOLOGII WEB
Lect.dr. Adrian Runceanu

copyright@www.adrian.runceanu.ro

Curs 5
Mediul de lucru n Web

15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

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)

15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

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 Web
ale aplicatiilor si site-urilor Web
prezentarea componentelor mediului de lucru care
ofera posibilitatea dezvoltarii si utilizarii acestora
15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

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).

15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

Serviciul World Wide Web


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.

15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

Serviciul World Wide Web


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, HTTP si HTML.
Primul site Web a fost realizat la CERN si plasat online in
data de 6 august 1991:
http://info.cern.ch/hypertext/WWW/TheProject.html (nu mai este activ)
O copie din 1992 se gaseste aici:
https://www.w3.org/History/19921103hypertext/hypertext/WWW/TheProject.html
15.03.2016

Tehnologii Web

copyright@www.adrian.runceanu.ro

Site-uri 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).

15.03.2016

Tehnologii Web

10

copyright@www.adrian.runceanu.ro

Site-uri si aplicatii Web


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.

15.03.2016

Tehnologii Web

11

copyright@www.adrian.runceanu.ro

Site-uri si aplicatii Web


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

15.03.2016

Tehnologii Web

12

copyright@www.adrian.runceanu.ro

Site-uri si aplicatii Web


Una dintre explicatiile, succesului inregistrat astazi
de serviciul World Wide Web, consta fara
indoiala in posibilitatea personalizarii
interactiunii utilizatorului cu aplicatia 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.
15.03.2016

Tehnologii Web

13

copyright@www.adrian.runceanu.ro

Site-uri si aplicatii Web


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
15.03.2016

Tehnologii Web

14

copyright@www.adrian.runceanu.ro

Server

Surse de
date
BD, XML

Client

Scripturi
CGL, PHP, ASP,
JSP

continut
static

continut
dinamic

Java Script
plugin-uri

continut
static

Server Web

15.03.2016

continut
dinamic

Server Web

Arhitectura generala a unei aplicatii Web


Tehnologii Web

15

copyright@www.adrian.runceanu.ro

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 aTehnologii
functionalitatilor
acestora.
15.03.2016
Web
16

copyright@www.adrian.runceanu.ro

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:

15.03.2016

Tehnologii Web

17

copyright@www.adrian.runceanu.ro

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
15.03.2016

Tehnologii Web

18

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

19

copyright@www.adrian.runceanu.ro

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).

15.03.2016

Tehnologii Web

Internet Explorer
Firefox
Safari
Netscape Communicator
Opera
Google Chrome
mai sunt utilizate si alte
navigatoare dintre care
enumeram:
Maxthon
Konqueror
Amaya
SeaMonkey
Lynx (ruleaza in mod text)

20

copyright@www.adrian.runceanu.ro

Caracteristici ale browser-elor


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 siteurilor favorite (numite in functie de browser,
Bookmarks sau Favorites), precum si accesul la
istoricul navigarii (History)
15.03.2016

Tehnologii Web

21

copyright@www.adrian.runceanu.ro

Caracteristici ale browser-elor


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
15.03.2016

Tehnologii Web

22

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

23

copyright@www.adrian.runceanu.ro

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/) date din 2014!:
Apache
Microsoft IIS (Internet Information Server)
nginx
Google
Zeus
Sun ONE Web Server

15.03.2016

Tehnologii Web

24

copyright@www.adrian.runceanu.ro

3. Serverul Web

Conform acelorasi
date, in februarie
2015, Apache este
utilizat de circa 39%
din totalul siturilor,
urmat, la distanta,
de Microsoft IIS
(29%).

15.03.2016

Tehnologii Web

25

copyright@www.adrian.runceanu.ro

3. Serverul Web

Conform acelorasi
date, in februarie
2016, Apache este
utilizat de circa 33%
din totalul siturilor,
urmat, la distanta,
de Microsoft IIS
(30%).

15.03.2016

Tehnologii Web

26

copyright@www.adrian.runceanu.ro

3. Serverul Web
Continutul servit browser-ului de catre server-ul
Web poate fi:
1. static - stocat in fisiere de pe calculatorul server
2. dinamic - generat de programe/script-uri 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.
15.03.2016

Tehnologii Web

27

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

28

copyright@www.adrian.runceanu.ro

3.1. Caracteristicile serverelor Web


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)
15.03.2016
Tehnologii Web
29

copyright@www.adrian.runceanu.ro

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.

15.03.2016

Tehnologii Web

30

copyright@www.adrian.runceanu.ro

3.2. Serverul Web Apache


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.

15.03.2016

Tehnologii Web

31

copyright@www.adrian.runceanu.ro

3.2. Serverul Web Apache


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.4/ .
15.03.2016

Tehnologii Web

32

copyright@www.adrian.runceanu.ro

3.2. Serverul Web Apache


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

15.03.2016

Tehnologii Web

33

copyright@www.adrian.runceanu.ro

3.2. Serverul Web Apache


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.4/platform/windows.html
15.03.2016

Tehnologii Web

34

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

35

copyright@www.adrian.runceanu.ro

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.
15.03.2016

Tehnologii Web

36

copyright@www.adrian.runceanu.ro

4. Serverul de aplicatii
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.
15.03.2016

Tehnologii Web

37

copyright@www.adrian.runceanu.ro

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.
15.03.2016

Tehnologii Web

38

copyright@www.adrian.runceanu.ro

4.1.Generarea dinamica a continutului Web


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.
15.03.2016

Tehnologii Web

39

copyright@www.adrian.runceanu.ro

4.1.Generarea dinamica a continutului Web


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
15.03.2016

Tehnologii Web

40

copyright@www.adrian.runceanu.ro

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
15.03.2016

Tehnologii Web

41

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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/)
15.03.2016

Tehnologii Web

42

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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

15.03.2016

Tehnologii Web

43

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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

15.03.2016

Tehnologii Web

44

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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

15.03.2016

Tehnologii Web

45

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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
15.03.2016

Tehnologii Web

46

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
5. completarea si trimiterea online a formularelor
6. crearea de aplicatii pentru
(forumuri, newslettere, jocuri)

comunitate

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)
15.03.2016

Tehnologii Web

47

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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.

15.03.2016

Tehnologii Web

48

copyright@www.adrian.runceanu.ro

4.2 Limbaje si platforme de programare


pentru server
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://windows.php.net/download/ , din sectiunea
Windows Binaires, cel mai recent PHP PHP 5.6.19.

15.03.2016

Tehnologii Web

49

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

50

copyright@www.adrian.runceanu.ro

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)
15.03.2016

Tehnologii Web

51

copyright@www.adrian.runceanu.ro

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).
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.
15.03.2016

Tehnologii Web

52

copyright@www.adrian.runceanu.ro

5.1.1 Functiile sistemelor de gestiune a bazelor de


date
Principalele functii SGBD sunt:
1. 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
2. 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
3. functia de utilizare - este realizata, in general, in cadrul
limbajului de manipulare, care permite scrierea unor algoritmi
de prelucrare a datelor
15.03.2016

Tehnologii Web

53

copyright@www.adrian.runceanu.ro

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:
1. retea
2. ierarhic
3. relational
4. obiectual
5. si modele hibride (obiectual-relational)
15.03.2016

Tehnologii Web

54

copyright@www.adrian.runceanu.ro

5.1.2 Organizarea si implementarea bazelor de date


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

1.
2.
3.
4.

15.03.2016

mainframe
integrat
file-server
client-server

Tehnologii Web

55

copyright@www.adrian.runceanu.ro

5.1.2 Organizarea si implementarea bazelor de date


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 (ebusiness, e-commerce).
15.03.2016

Tehnologii Web

56

copyright@www.adrian.runceanu.ro

Clasificari ale SGBD-urilor

In ceea ce priveste costurile, SGBD-urile se


pot clasifica in doua categorii:
1. comerciale (proprietare)
2. open source (gratuite)

15.03.2016

Tehnologii Web

57

copyright@www.adrian.runceanu.ro

Clasificari ale SGBD-urilor


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 persoane particulare.
In schimb, MySQL, de exemplu, este gratuit.
Cele mai multe sisteme incluse in ultima categorie
sunt folosite ca backend pentru aplicatiile Web
dinamice.
15.03.2016

Tehnologii Web

58

copyright@www.adrian.runceanu.ro

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:
1. 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.
15.03.2016

Tehnologii Web

59

copyright@www.adrian.runceanu.ro

5.1.3 Tipuri de utilizatori ai bazelor de date


2. administratorul aplicatiei persoana care, pe modelul bazei
de date 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
3. 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
4. utilizatorii bazei de date persoane care utilizeaza baza de
date prin intermediul aplicatiilor realizate de programatorii de
aplicatii.

15.03.2016

Tehnologii Web

60

copyright@www.adrian.runceanu.ro

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.

15.03.2016

Tehnologii Web

61

copyright@www.adrian.runceanu.ro

5.2 Sistemul de gestiune a bazelor de date


relationale MySQL
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.7

15.03.2016

Tehnologii Web

62

copyright@www.adrian.runceanu.ro

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:

15.03.2016

gestioneaza bazele de date si conturile de acces


primeste cererile clientilor
obtine accesul de date
furnizeaza clientilor informatiile solicitate
Tehnologii Web

63

copyright@www.adrian.runceanu.ro

Distributii MySQL
programe-client (mysql) sunt utilizate in principal
pentru conectarea la server, transmiterea comenzilor
si afisarea rezultatelor primare
programe utilitare (mysqladmin, mysqldump,
myiscamchk) sunt folosite pentru administrarea
sistemului MySQL
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
15.03.2016

Tehnologii Web

64

copyright@www.adrian.runceanu.ro

Distributii MySQL
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

15.03.2016

Tehnologii Web

65

copyright@www.adrian.runceanu.ro

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

15.03.2016

Tehnologii Web

66

copyright@www.adrian.runceanu.ro

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
comerciale.
Aceste instrumente sunt:
1. editoare de text
2. sisteme de management al continutului (CMS-uri)
3. cadre de lucru (framework-uri)
4. medii de dezvoltare integrate (IDE-uri)
15.03.2016

Tehnologii Web

67

copyright@www.adrian.runceanu.ro

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.
15.03.2016

Tehnologii Web

68

copyright@www.adrian.runceanu.ro

6.1. Editoare de text


Cateva programe care pot fi utilizate pentru editarea
scripturilor PHP:
1. EditPlus este un editor comercial pentru HTML, CSS,
PHP, ASP, Perl, C/C++, Java, JavaScript si VBScript
(http://www.editplus.com/)
2. 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/ )
15.03.2016

Tehnologii Web

69

copyright@www.adrian.runceanu.ro

6.1. Editoare de text


3. 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)

15.03.2016

Tehnologii Web

70

copyright@www.adrian.runceanu.ro

6.1. Editoare de text


4. Notepad++ - este un editor gratuit, care suporta
evidentierea sintaxei pentru un numar mare de
limbaje. Alte facilitati 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/)
15.03.2016

Tehnologii Web

71

copyright@www.adrian.runceanu.ro

6.1. Editoare de text


4. 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)

15.03.2016

Tehnologii Web

72

copyright@www.adrian.runceanu.ro

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.

15.03.2016

Tehnologii Web

73

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


Dintre CMS-urile cele mai cunoscute amintim:
1. 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)

15.03.2016

Tehnologii Web

74

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


2. 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)

15.03.2016

Tehnologii Web

75

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


3. 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)

15.03.2016

Tehnologii Web

76

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


4. 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/)
15.03.2016

Tehnologii Web

77

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


5. 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/)
15.03.2016

Tehnologii Web

78

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


6. 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)
7. 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/ )
15.03.2016

Tehnologii Web

79

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


8. 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/)
9. PostNuke este un CMS open source, reprezentand un
sistem de administrare colaborativ, pentru comunitati si
continuturi (http://www.postnuke.com/)

15.03.2016

Tehnologii Web

80

copyright@www.adrian.runceanu.ro

6.2. Sisteme de management al continutului


10. WordPress este un CMS open source, poate
reprezenta baza pentru site-uri mari si complexe,
indeosebi bloguri (http://wordpress.org/)
11. 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/)

15.03.2016

Tehnologii Web

81

copyright@www.adrian.runceanu.ro

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.

15.03.2016

Tehnologii Web

82

copyright@www.adrian.runceanu.ro

6.3. Cadre de lucru. Modelul MVC


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.
15.03.2016

Tehnologii Web

83

copyright@www.adrian.runceanu.ro

6.3. Cadre de lucru. Modelul MVC


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)
15.03.2016

Tehnologii Web

84

copyright@www.adrian.runceanu.ro

6.3. Cadre de lucru. Modelul MVC


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
15.03.2016
Tehnologii Web
85

copyright@www.adrian.runceanu.ro

6.3. Cadre de lucru. Modelul MVC


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/)

15.03.2016

Tehnologii Web

86

copyright@www.adrian.runceanu.ro

6.3. Cadre de lucru. Modelul MVC


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/)
15.03.2016

Tehnologii Web

87

copyright@www.adrian.runceanu.ro

6.3. Cadre de lucru. Modelul MVC


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/)

15.03.2016

Tehnologii Web

88

copyright@www.adrian.runceanu.ro

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).
15.03.2016

Tehnologii Web

89

copyright@www.adrian.runceanu.ro

6.4 Medii integrate de dezvoltare


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)
15.03.2016

Tehnologii Web

90

copyright@www.adrian.runceanu.ro

6.4 Medii integrate de dezvoltare


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)

15.03.2016

Tehnologii Web

91

copyright@www.adrian.runceanu.ro

6.4 Medii integrate de dezvoltare


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
)
15.03.2016 (http://www.zend.com
Tehnologii Web
92

copyright@www.adrian.runceanu.ro

Bibliografie:
Adrian Runceanu, Mihaela Runceanu, Tehnologii si
aplicatii web ndrumar de laborator, Editura
Academica Brncui, Trgu-Jiu, 2009, ISBN 978-973144-302-7

ntrebri?

15.03.2016

Tehnologii Web

93

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