Sunteți pe pagina 1din 94

Universitatea Constantin Brncui din Trgu-Jiu

Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu

Tehnologii Web

Lector univ. dr. Adrian Runceanu

Curs 5
Mediul de lucru n 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

3
Tehnologii WEB - curs

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)

4
Tehnologii WEB - curs

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

5
Tehnologii WEB - curs

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

6
Tehnologii WEB - curs

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

7
Tehnologii WEB - curs

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.

8
Tehnologii WEB - curs

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.
9
Tehnologii WEB - curs

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

10
Tehnologii WEB - curs

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.
11
Tehnologii WEB - curs

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
12
Tehnologii WEB - curs

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.
13
Tehnologii WEB - curs

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
14
Tehnologii WEB - curs

Server

Surse de
date
BD, XML

Client

Java Script
plugin-uri

Scripturi
CGL, PHP, ASP,
JSP

continut
static

continut
dinamic

Server Web

15

continut
static

continut
dinamic

Server Web

Figura 1. Arhitectura generala a unei aplicatii Web


Tehnologii WEB - curs

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.

16
Tehnologii WEB - curs

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:
17
Tehnologii WEB - curs

Componentele mediului de lucru


1.
2.
3.

4.
5.

un browser Web folosit pentru afisarea interfetei cu


utilizatorul a aplicatiei
un server Web livreaza continutul (static sau
dinamic) browserului
un server de aplicatii utilizat (printre altele) pentru
generarea dinamica a continutului si pentru
interactiunea cu sursele de date
un server de baze de date folosit pentru stocarea si
gestionarea unor date folosite de aplicatie
un instrument software utilizat pentru facilitarea
dezvoltarii aplicatiei

18
Tehnologii WEB - curs

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

19
Tehnologii WEB - curs

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

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
Tehnologii WEB - curs

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)

21
Tehnologii WEB - curs

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

22
Tehnologii WEB - curs

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

23
Tehnologii WEB - curs

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

24
Tehnologii WEB - curs

3. Serverul Web
Conform acelorasi
date, in februarie
2011, Apache
este utilizat de
circa 60.10% din
totalul siturilor,
urmat, la distanta,
de Microsoft IIS
(20,04%).

25
Tehnologii WEB - curs

Continutul servit browserului de catre serverul Web


poate fi:
1.

2.

static - stocat in fisiere de pe calculatorul server


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.

26
Tehnologii WEB - curs

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

27
Tehnologii WEB - curs

3.

4.

5.

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)
asigurarea compresiei continutului (folosind
codificarea gzip), pentru reducerea marimii
raspunsului
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)

28
Tehnologii WEB - curs

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.

29
Tehnologii WEB - curs

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.

30
Tehnologii WEB - curs

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.
31
Tehnologii WEB - curs

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
32
Tehnologii WEB - curs

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

33
Tehnologii WEB - curs

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

34
Tehnologii WEB - curs

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

35
Tehnologii WEB - curs

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.

36
Tehnologii WEB - curs

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.

37
Tehnologii WEB - curs

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.

38
Tehnologii WEB - curs

Astazi,

39

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
Tehnologii WEB - curs

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
40
Tehnologii WEB - curs

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

41
Tehnologii WEB - curs

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

42
Tehnologii WEB - curs

4.

5.

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

43
Tehnologii WEB - curs

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

44
Tehnologii WEB - curs

5.

6.

7.

8.

completarea si trimiterea online a


formularelor
crearea de aplicatii pentru comunitate
(forumuri, newslettere, jocuri)
realizarea unor cataloage, brosuri si siteuri de informatii publicitare
crearea unor aplicatii care necesita
conectarea serverului Web la alt server,
numit backend server (server de baze de
date)

45
Tehnologii WEB - curs

9.

10.

realizarea aplicatiilor client si server


pentru serviciile Web
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.
46
Tehnologii WEB - curs

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.

47
Tehnologii WEB - curs

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

48
Tehnologii WEB - curs

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

49
Tehnologii WEB - curs

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

50
Tehnologii WEB - curs

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.

51
Tehnologii WEB - curs

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
52
Tehnologii WEB - curs

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)
53
Tehnologii WEB - curs

Pentru implementarea sistemelor de


gestiune a bazelor de date sunt utilizate
urmatoarele modele arhitecturale:
mainframe

integrat
file-server

client-server

54
Tehnologii WEB - curs

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

55
Tehnologii WEB - curs

In ceea ce priveste costurile,


SGBD-urile se pot clasifica in doua
categorii:
1.
2.

comerciale (proprietare)
open source (gratuite)

56
Tehnologii WEB - curs

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.
57
Tehnologii WEB - curs

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.

58
Tehnologii WEB - curs

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

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.

59
Tehnologii WEB - curs

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.

60
Tehnologii WEB - curs

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

61
Tehnologii WEB - curs

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

62
Tehnologii WEB - curs

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

63
Tehnologii WEB - curs

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

64
Tehnologii WEB - curs

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
65
Tehnologii WEB - curs

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

66
Tehnologii WEB - curs

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

67
Tehnologii WEB - curs

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.

68
Tehnologii WEB - curs

Din multitudinea de programe care pot


fi utilizate pentru editarea scripturilor PHP
mentionam cateva:
EditPlus

este un editor comercial pentru


HTML, CSS, PHP, ASP, Perl, C/C++, Java,
JavaScript si VBScript
(http://www.editplus.com/)

69
Tehnologii WEB - curs

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

70
Tehnologii WEB - curs

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)

71
Tehnologii WEB - curs

72

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/)
Tehnologii WEB - curs

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)

73
Tehnologii WEB - curs

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.
74
Tehnologii WEB - curs

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)

75
Tehnologii WEB - curs

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)

76
Tehnologii WEB - curs

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)

77
Tehnologii WEB - curs

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

78
Tehnologii WEB - curs

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

79
Tehnologii WEB - curs

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

80
Tehnologii WEB - curs

Plone

este unul dintre cele mai avansate CMSuri, 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/)

81
Tehnologii WEB - curs

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

82
Tehnologii WEB - curs

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.

83
Tehnologii WEB - curs

Diversele

parti ale unui cadru de lucru pot fi


expuse (si accesate) prin intermediul unor APIuri (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.
84
Tehnologii WEB - curs

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)
85
Tehnologii WEB - curs

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

86
Tehnologii WEB - curs

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 Objectoriented (http://pradosoft.com/)

87
Tehnologii WEB - curs

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/)
88
Tehnologii WEB - curs

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

89
Tehnologii WEB - curs

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).
90
Tehnologii WEB - curs

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)

91
Tehnologii WEB - curs

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)

92
Tehnologii WEB - curs

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 )

93
Tehnologii WEB - curs

ntrebri?

94

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