tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si...

94
Lector univ. dr. Adrian Runceanu Tehnologii Web 1 Universitatea Constantin Brâncuşi” din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu

Transcript of tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si...

Page 1: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Lector univ. dr. Adrian Runceanu

Tehnologii Web

1

Universitatea “Constantin Brâncuşi” din Târgu-JiuFacultatea de Inginerie

Departamentul de Automatică, Energie şi Mediu

Page 2: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

Mediul de lucru în Web

2

Page 3: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

3

Tehnologii WEB - curs

Page 4: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Tehnologii WEB - curs

4

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

• posta electronica (e-mail)

• transferul de fisiere (FTP – File Transfer Protocol)

• conectarea la distanta (telnet)

• World Wide Web-ul (cunoscut si sub numele de WWW sau WEB)

Page 5: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

5

Tehnologii WEB - curs

Page 6: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 7: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Serviciul World Wide Web

Web-ul reprezinta un spatiu informationalalcatuit din resurse situate in locatii cunoscutesub numele de noduri, utilizate prinintermediul unui sistem hypertext, folosindmodul de identificare denumit URI (UniformResource Identifier).

7

Tehnologii WEB - curs

Page 8: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 9: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•Tim Bernes-Lee a scris primul browser (cunoscut sub numele deWorldWideWeb) 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

Page 10: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Situri si aplicatii Web

O colecţie de pagini Web înrudite şiinterconectate – aflate în proprietatea unuiinstituţii, organizaţii, companii sau persoane –găzduite pe unul sau mai multe calculatoare pecare rulează un server web, având asociată oadresă vizibilă utilizatorilor din Internet, senumeşte sit (site sau website, în limba engleză).

10

Tehnologii WEB - curs

Page 11: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 12: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Aplicaţie 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

Page 13: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• Una dintre explicatiile, succesului inregistrat astazi de serviciul World Wide Web, consta –fara indoiala – in posibilitatea personalizariiinteractiunii 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

Page 14: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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), functioneazain 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

Page 15: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Figura 1. Arhitectura generala a unei aplicatii Web15

Tehnologii WEB - curs

Surse de date

BD, XML

ScripturiCGL, PHP, ASP,

JSP

Java Scriptplugin-uri

Server Web Server Web

continut static

continut static

continut dinamic

continut dinamic

Server Client

Page 16: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 17: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 18: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

18

Tehnologii WEB - curs

Page 19: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

19

Tehnologii WEB - curs

Page 20: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

20

Tehnologii WEB - curs

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

Page 21: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 22: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 23: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

23

Tehnologii WEB - curs

Page 24: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 25: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

3. Serverul Web

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

25

Tehnologii WEB - curs

Page 26: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• Continutul servit browserului de catre serverul Web poate fi:

1. static - stocat in fisiere de pe calculatorul -server

2. dinamic - generat de programe/scripturi sau API-uri apelate de serverul Web

• Este de remarcat ca livrarea continutului static este mai rapida decat cea a continutului dinamic, mai ales in situatia in care – in cazul ultimului tip – date sunt extrase din baze de date.

26

Tehnologii WEB - curs

Page 27: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

3.1. Caracteristicile serverelor Web

Principalele caracteristici ale server-elorWeb:

1. utilizarea modulelor (legate sau încărcatedinamic) care ofera posibilitatea extinderiicapabilitatilor de baza oferite

2. asigurarea suportului pentru conexiunisecurizate prin criptarea fluxului de date

27

Tehnologii WEB - curs

Page 28: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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)

28

Tehnologii WEB - curs

Page 29: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 30: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 31: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 32: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• Dupa descarcarea si instalarea serverului Apachese 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

Page 33: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 34: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

34

Tehnologii WEB - curs

Page 35: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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.

35

Tehnologii WEB - curs

Page 36: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 37: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 38: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 39: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Tehnologii WEB - curs

Page 40: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 41: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 42: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 43: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

4. ASP (Active Server Pages) – este o platforma de programare Web creata de Microsoft, permitrand utilizarea unor scripturi scrise in limbajele VBScript (Microsoft Visual Basic Script), JScript si PerlScript, fiind utilizata curent cu serverul Web Microsoft IIS

5. ColdFusion – este un cadru de lucru utilizat pentru dezvoltarea software-ului, in general, si a site-urilor dinamice, in particular.

• Cea mai importanta caracteristica a ColdFusion consta in utilizarea limbajului de scripting: CFML (ColdFusion Markup Language).

• Desi ColdFusion este considerat adesea, sinonim cu CFML, acesta suporta – pe langa CFML – si alte limbaje de scripting

43

Tehnologii WEB - curs

Page 44: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Mediile si cadrele de lucru enumerateanterior pot fi utilizate in diverse scopuri,dintre care le mentionam pe urmatoarele:

1. generarea dinamica si afisareacontinuturilor site-urilor WEB

2. utilizarea postei electronice (webmail sitrimiterea de mesaje din aplicatiile Web)

3. asigurarea suportului tehnic online pentrudiverse produse (hardware sau software)

4. realizarea unor clasamente si sondaje

44

Tehnologii WEB - curs

Page 45: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

5. completarea si trimiterea online aformularelor

6. crearea de aplicatii pentru comunitate(forumuri, newslettere, jocuri)

7. realizarea unor cataloage, brosuri si site-uri de informatii publicitare

8. crearea unor aplicatii care necesitaconectarea serverului Web la alt server,numit backend server (server de baze dedate)

45

Tehnologii WEB - curs

Page 46: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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.

46

Tehnologii WEB - curs

Page 47: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 48: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

48

Tehnologii WEB - curs

Page 49: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 50: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 51: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 52: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 53: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 54: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

•mainframe

• integrat

• file-server

• client-server

54

Tehnologii WEB - curs

Page 55: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

55

Tehnologii WEB - curs

Page 56: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

In ceea ce priveste costurile, SGBD-urile se pot clasifica in doua categorii:

1. comerciale (proprietare)

2. open source (gratuite)

56

Tehnologii WEB - curs

Page 57: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 58: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 59: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 60: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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 sourceutilizat in Internet, avand versiuni pentru majoritatea platfomelor.

60

Tehnologii WEB - curs

Page 61: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 62: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 63: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 64: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 65: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 66: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Curs 5

1. Introducere în Web

2. Browserul Web

3. Serverul Web

4. Serverul de aplicaţii

5. Serverul de baze de date

6. Instrumente pentru dezvoltarea aplicaţiilor

66

Tehnologii WEB - curs

Page 67: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 68: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 69: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Din multitudinea de programe care pot fi utilizate pentru editarea scripturilor PHPmentionam 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

Page 70: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 71: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 72: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Tehnologii WEB - curs

Page 73: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 74: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 75: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 76: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

•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

Page 77: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 78: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 79: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 80: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 81: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

• PostNuke – este un CMS open source, reprezentand un sistem de administrare colaborativ, pentru comunitati si continuturi (http://www.postnuke.com/)

81

Tehnologii WEB - curs

Page 82: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 83: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 84: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

84

Tehnologii WEB - curs

Page 85: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 86: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 87: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

87

Tehnologii WEB - curs

Page 88: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 89: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 90: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

6.4 Medii integrate de dezvoltare

Un IDE (Integrated DevelopmentEnvironment), adica un mediu integrat dedezvoltare este un software complex, careofera posibilitatea dezvoltarii altor programeconducand programatorul prin toate etapelenecesare (editarea codului-sursa, compilarea,depanarea, testarea, generareadocumentatiei).

90

Tehnologii WEB - curs

Page 91: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

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

Page 92: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 93: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

• 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

Page 94: tehnologii web - runceanu.rorunceanu.ro/adrian/wp-content/cursuri/tw2014/C5-Web.pdf · Situri si aplicatii Web ... Java Script plugin-uri Server Web Server Web continut static continut

Întrebări?

94