Documente Academic
Documente Profesional
Documente Cultură
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).
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
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
intregului
proiect
pe
care
il
dezvolta