Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica » php
Programarea Web la nivel de server

Programarea Web la nivel de server


Programarea Web la nivel de server

Evolutia retelei Internet este strans legata de evolutia tehnologiilor informatice, a algoritmicii si a limbajelor de programare. O prima revolutionare a spatiului WWW s-a produs odata cu posibilitatea de a introduce imagini in documentele HTML, prefigurand transformarea banalului si staticului hypertext in ceea ce astazi numim hypermedia. Inglobarea de grafica, sunet si film in documentele web a fost urmata de posibilitatea includerii de secvente de cod executate de browser (secvente JavaScript sau VBScript), precum si de aplicatii (applet-uri) Java. Modul de afisare al documentelor a putut fi apoi controlat mai precis prin utilizarea foilor de stil (Cascading Style Sheets).

Dezvoltarea conceptelor si tehnologiilor web a avut loc si in directia dinamizarii continutului documentelor hypermedia, prin aparitia de limbaje pentru programarea aplicatiilor web server-side (aplicatii executate de catre server-ul gazda).



Web-ul actual a evoluat in directia proiectarii unor situri capabile sa-si actualizeze continutul in mod dinamic, de la ora la ora, care sa ofere modalitati multiple de interactiune cu vizitatorul:

setarea caracteristicilor paginii in functie de preferintele utilizatorului;

afisarea continutului in functie de necesitatile informationale ale vizitatorului;

participarea la discutii in forumuri;

exprimarea parerii despre un anumit subiect prin intermediul sondajelor;

cumpararea de produse din magazine virtuale;

plata impozitelor si taxelor;

Programarea la nivel de client (client-side programming)

In momentul actual, un document Web poate fi realizat prin folosirea urmatoarelor tehnologii pe partea de client:

Foi de stiluri in cascada (CSS) si HTML dinamic (Dynamic HTML - DHTML) pentru formatarea documentului, pozitionarea elementelor in pagina si pentru realizarea efectelor primare de animatie;

Scripturi JavaScript si VBScript pentru realizarea de mici aplicatii bazate pe evenimente (validarea datelor transmise prin intermediul formularelor, realizarea de meniuri derulante, mici aplicatii care se executa la un anumit interval de timp sau atunci cand se actioneaza un buton, e.t.c) ;

Aplicatii Java  - scripturi Java (apleturi) care sunt executate de navigator, utilizate de obicei pentru realizarea de simulari ale unor fenomene, jocuri, prezentari multimedia.

Animatii flash, shockwave e.t.c - sunt utilizate de obicei pentru realizarea de animatii, jocuri, prezentari multimedia, elemente de navigare pentru paginile Web (meniuri, butoane).

Dezavantajul major al tehnologiilor de mai sus este dependenta acestora de navigatorul Web si implicit de calculatorul client. Utilizatorul poate dezactiva, de exemplu, executarea secventelor JavaScript din motive de securitate sau dintr-o greseala navigatorul nemaiputand afisa corect documentele Web ce contin astfel de scripturi. Animatiile flash si apleturile Java pot fi interpretate de client numai daca utilizatorul a instalat niste module (programe) speciale numite module plug-in. (cum ar fi playerul flash). Continutul paginilor Web nu va fi afisat corect daca plugin-urile necesare nu sunt instalate sau sunt instalate versiuni mai vechi.

Nu in ultimul rand, aplicatiile pe partea de client nu au acces la fisiere si baze de date, astfel ca nu se pot realiza aplicatii care necesita stocarea si regasirea informatiilor.

Programarea la nivel de server (server-side programming)

Programarea la nivel de server a aparut pentru a depasi limitele programarii la nivelul clientului. Un script executat pe calculatorul server este independent atat de navigator, cat si de software-ul folosit pentru serverul Web. In plus, scriptul server-side poate accesa resurse aflate pe server, cum ar fi bazele de date, fisierele text, servere de mail, comenzi ale sistemului de operare.

Programarea pe partea de server presupune existenta a doua entitati, care sunt, in general, separate:

Limbajul de scripting propriu-zis (scripting language);

Interpretorul limbajului (scripting engine).

Interpretorul limbajului de scripting este construit fie ca modul al serverului Web, fie este o aplicatie separata ce conlucreaza cu acesta.

Diagrama din figura 4.1 poate fi completata pentru a ilustra interactiunile dintre aplicatia client (navigatorul), serverul Web si interpretorul limbajului (figura 4.2).

Figura 4.2 Interactiunea browser-server Web - Interpretor

Sa comentam modul in care interactioneaza navigatorul, serverul Web si interpretorul, folosindu-ne de figura de mai sus. Comunicarea browser - server web se realizeaza astfel:

Navigatorul emite catre serverul Web o cerere pentru accesarea scriptului. Secventele de program scrise intr-un limbaj de programare server-side (script) sunt inserate in documente HTML, prin utilizarea unui marcaj special, prin urmare dialogul browser-server decurge in modul prezentat in lectia precedenta.

Serverul Web stabileste daca nu exista restrictii privind accesarea scriptului si, in cazul afirmativ, trimite catre interpretor secventele de program, pentru a fi executate (interpretate).

Interpretorul executa scriptul, accesand, daca este cazul, alte servere sau servicii necesare (server de baze de date, serverul de posta electronica, e.t.c). Aceste servere aflate "in spate", adica fiind accesibile doar prin intermediul altor servere si fiind "invizibile" din punctul de vedere al utilizatorului, se numesc servere back-end.

Interpretorul returneaza catre serverul Web rezultatele executiei, acestea fiind formatate ca document HTML (XHTML, XML);

Serverul Web inlocuieste secventele de program din documentul initial cu rezultatele primite de la interpretor si-l furnizeaza navigatorului.

Observatii

Cele mai multe dintre limbajele de programare pentru server sunt interpretate de componenta scripting engine instructiune cu instructiune, motiv pentru care am preferat ca denumire cuvantul interpretor.

Totusi, se pot utiliza si limbaje unde scripturile trebuie compilate in prealabil, asa cum se intampla in limbajele de programare de nivel inalt uzuale, caz in care denumirea de interpretor este improprie.

De exemplu, la inceputurile programarii Web, programatorii foloseau scripturi scrise in limbajul C, care erau compilate si executate apoi prin intermediul serverului Web.

Comunicarea dintre serverul Web si alte aplicatii se realizeaza conform unor reguli generale, care au fost standardizate sub denumirea Common Gateway Interface (CGI), pentru a defini o interfata universala, independenta de aplicatiile software utilizate.

Scripturile server-side mai sunt cunoscute si sub denumirea de scripturi CGI.

Rezolvarea unor probleme legate de securitate a dus la utilizarea unui director special in care se stocheaza scripturile CGI (/cgi-bin), avand stabilite drepturi de acces specifice. Tehnologiile server-side actuale nu mai impun stocarea scripturilor intr-un director anume. Fiind parte a unui site Web, scripturile sunt memorate in acelasi loc cu celelalte fisiere ce compun site-ul, in directoare cu numele: www, htdocs sau publichtml, in functie de serverul utilizat si de sistemul de operare ce ruleaza pe server.

De-a lungul timpului au fost folosite o multitudine de limbaje pentru a concepe scripturi CGI, dintre care aminim:

Limbaje de nivel inalt de uz general: C, C++, Fortran;

Limbaje ale interpretoarelor de comenzi (shell) din sistemele de operare din familia Unix/Linux. Aceste limbaje utilizau comenzi ale sistemului de operare si structuri de control ale executiei rudimentare.

Limbaje de scripting specializate: Perl, Phyton, ASP (Active Server Page), JSP(Java Scripting Page), PHP, AppleScript e.t.c.

PHP este o solutie simpla pentru a genera pagini web dinamice, avand o serie de avantaje, dintre care amintim:

Simplitate si independenta fata de sistemul de operare. PHP este un limbaj de programare multi-platforma, astfel incat un cod scris in Windows va fi la fel de bine interpretat de un server Unix, cu modificari minime. Acest lucru se poate dovedi util intrucat mediul Windows pune la dispozitie o gama mai larga de editoare precum si capacitati mai bune si mai prietenoase de testare.

PHP se aseamana din multe puncte de vedere cu limbajul C, prin urmare cei ce cunosc acest limbaj nu vor avea prea multe probleme in insusirea conceptelor din PHP;

PHP este insotit de un set bogat de librarii standard, dispunand de peste 1000 de functii;

PHP ofera suport pentru programarea orientata pe obiecte;

PHP ofera suport (functii) pentru conectarea la toate serverele de baze de date importante;

Nu in ultimul rand, PHP este un produs ce poate fi utilizat gratuit, pentru ca este dezvoltat prin contributia comunitatii programatorilor, aflandu-se sub incidenta licentei GNU Public Licence.

Stiati ca.

La fel ca multe alte proiecte software importante, PHP s-a nascut sub forma unui mic utilitar care trebuia sa rezolve o problema particulara. In 1995, Rasmus Lerdorf si-a publicat CV-ul in pagina sa Web. Pentru ca sa poata urmari cine i-a vizitat pagina, Rasmus a introdus in pagina un marcaj special si a scris in Perl un script CGI care sa colecteze informatii despre vizitatori.

Lerdorf si-a denumit utilitarul PHP tools (Personal Home Page).

Ulterior, Lerdorf a conceput o interfata intre clientii Web si o baza de date recurgand la aceeasi idee: etichete HTML proprii interpretate de un script CGI scris in limbajul C. Aplicatia a fost denumita Form Interpreters (FI).

Lerdorf a reunit codul PHP cu FI si l-a facut public sub numele PHP/FI (acesta purtand si numele de PHP 2.0). Primii pasi fiind facuti, a urmat contributia comunitatii programatorilor, care au dus la dezvoltarea PHP/FI in regim open source pastrand denumirea PHP.

Limbajul PHP a ajuns astazi la versiunea 5.0.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.