Sunteți pe pagina 1din 11

Tehnologii WEB

Cursul 1
Introducere in Web
Termenul Internet provine din impreunarea artificiala si partiala a doua cuvinte
englezesti: interconnected = interconectat si network = retea.
Internet - desemneaza o retea mondiala unitara de calculatoare si alte aparate cu
adrese computerizate, interconectate conform protocoalelor (regulilor) de comunicare
Transmission Control Protocol si Internet Protocol, numite impreuna stiva TCP/IP.
Precursorul Internetului dateaza din 1965, cnd Agentia pentru Proiecte de Cercetare
Inaintate de Aparare - a Ministerului Apararii, Department of Defense sau DoD din SUA
(Defence Advanced Research Projects Agency, en:DARPA) a creat prima retea de computere
interconectate sub numele ARPAnet.
Azi pe glob exista un singur Internet, care insa este urias; el ofer utilizatorilor sai o
multitudine de informatii si servicii precum e-mail, www, FTP, gazduire web (web hosting) si
multe altele, unele dintre ele fiind numai contra cost.
Termenul Internet nu trebuie confundat cu serviciul internetic World Wide Web
(www). Acesta este doar unul din multele servicii oferite pe Internet.
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)
Serviciul World Wide Web (Sistem de distributie locala sau globala a informatiilor
hipermedia)
World Wide Web, prescurtat WWW, deseori numit numai "web", este la loc de varf,
deoarece este o aplicatie multimedia integrativa, cu o interfata de utilizator (Graphic User
Interface, GUI) foarte atragatoare din punct de vedere grafic, practica si simplu de folosit.
WWW a fost inventat de ctre Tim Berners-Lee n anul 1993.
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). Este bazat pe modelul client/server
si pe hipertext. Resursele sint identificate prin adresa lor identificator uniform de resurse
(URI). URI = URL + URN
URL (Uniform Resource Locator)-identifica resursele prin reprezentarea mecanismului
de accesare (adresa de retea, domeniu simbolic).
http://www.infoiasi.ro/~busaco/teach/
mailto:tux@pinguin.info
ftp://ftp.funet.fi/pub/README.txt
tel:+40232201090
URN (Uniform Resource Name)-identifica resursele prin nume, intr-o forma persistenta,
chiar daca resursa este inaccesibila sau a disparut.
urn:infoiasi.ro:BookInfo
urn:mozilla:package:communicator
urn:schemas-microsoft-com:datatypes
Pentru accesul la continutul resurselor exista un protocol (HTTP).
Resursele Web-ului sunt organizate in pagini Web si livrate utilizatorilor de catre un
program denumit server Web.

Hipertext - material scris sau grafic interconectat intr-o maniera complexa care in mod
conventional nu poate fi reprezentat pe hartie.
Situri si aplicatii Web
Sit Web = sistem pe care ruleaza un server Web gazduind o serie de pagini
(documente) WWW inrudite ale unei organizatii, companii sau persoane
Ofera informatii unitare (scopuri comune)
Are asociata o adresa publica (vizibila), bazata pe un domeniu Internet
Serverul Web poate gestiona simultan mai multe situri gazduire virtuala
Poate fi disponibil in intranet sau extranet
O colectie de pagini Web inrudite s interconectate aflate in proprietatea unui
institutii, organizatii, companii sau persoane gazduite pe unul sau mai multe calculatoare pe
care ruleaza un server web, avand asociata o adresa vizibila utilizatorilor din Internet, se
numeste sit (site sau website, n limba engleza).
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.
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
Utilizatorii folosesc pentru vizualizarea paginilor Web un program-client cunoscut sub
numele de browser sau navigator 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-uri, HTTP si HTML.
Primul sit Web a fost realizat la CERN si plasat online in data de 6 august 1991.
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.
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
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.
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:
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
Browser-ul Web (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 si Google Chrome mai sunt utilizate si alte navigatoare dintre care enumeram
Maxthon, Konqueror, Amaya, SeaMonkey si Lynx (ruleaza in mod text).
Caracteristici ale navigatoarelor Web actuale:
asigura suport:
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)
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 grafic 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
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 era utilizat de circa 60.10% din
totalul siturilor, urmat, la distanta, de Microsoft IIS (20,04%).
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 datele sunt extrase din baze de
date.
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
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)
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.
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.
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. 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
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.

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
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.
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.
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.
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.
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
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
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/)
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
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).
In urma interpretarii script-urilor, serverul de aplicatii genereaza date la iesirea
standard. Serverul Web intercepteaza aceasta iesire si trimite datele browserului.
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.
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).
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.
Principalele functii SGBD sunt:
1. functia de descriere - folosind un model de structura a unei baze de date, SGBDul 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
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)
Pentru implementarea sistemelor de gestiune a bazelor de date sunt utilizate
urmatoarele modele arhitecturale:
mainframe

integrat
file-server
client-server
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). In
ceea ce priveste costurile, SGBD-urile se pot clasifica in doua categorii:
1. comerciale (proprietare)
2. open source (gratuite)
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. 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
2. 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
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
utilizatorii bazei de date persoane care utilizeaza baza de date prin intermediul aplicatiilor
realizate de programatorii de aplicatii.
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.
Serverul MySQL este multifir si multiutilizator.
Dintre caracteristicile sale, pot fi mentionate stabilitatea si rapiditatea.
Adresa MySQL este http://www.mysql.com/.
Distributii MySQL
O distributie MySQL contine numai o parte sau toate componentele urmatoare:
1. 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

2. programe-client (mysql) sunt utilizate in principal pentru conectarea la server,


transmiterea comenzilor si afisarea rezultatelor primate
3. programe utilitare (mysqladmin, mysqldump, myiscamchk) sunt folosite
pentru administrarea sistemului MySQL
4. fisiere de tip antet si fisiere de tip biblioteca
5. documentatie sub forma unui manual MySQL
6. baza de date mysql contine, printre altele, tabelele de acordare a privilegiilor
pentru utilizatori
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 SQLFront.
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
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
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.
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/)
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/)
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)
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
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)
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.
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)
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)
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)
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/)
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/)

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/ )
PostNuke este un CMS open source, reprezentand un sistem de administrare
colaborativ, pentru comunitati si continuturi (http://www.postnuke.com/)
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/)
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.
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.
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)
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
Dintre numeroasele cadre de lucru open source avand PHP ca limbaj de scripting, se
remarca urmatoarele:
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/)
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


(http://framework.zend.com/)

intregului

proiect

pe

care

il

dezvolta

Medii integrate de dezvoltare


Un IDE (Integrated Development Environment), adica un mediu integrat de dezvoltare
este un software complec, care ofera posibilitatea dezvoltarii altor programe conducand
programatorul prin toate etapele necesare (editarea codului-sursa, compilarea, depanarea,
testarea, generarea documentatiei).
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)
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)
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 )

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