Sunteți pe pagina 1din 7

CURSUL 18&19 Arhitectura Client-Server

Aceste arhitecturi se fondeaz, n esen, pe un dialog ntre dou categorii de entiti, entitatea Client (care interogheaz baza de date) i respectiv entitatea Server (care gestioneaz baza de date), dispuse ntr-o reea de calculatoare. Clientul este entitatea care asigur interfaa cu utilizatorul, lanseaz cereri de executare a unor operaii ctre o entitate server i se ocup de punerea ntr-o anumit form a datelor primite de la server n urma executrii operaiei. Serverul este entitatea care recepioneaz, interpreteaz i execut cererile (operaiile) lansate de clieni. De asemenea, el furnizeaz rspunsul ctre client. Cele dou entiti se pot regsi sub form de calculatoare diferite, sau pot convieui pe acelai calculator. n aceast din urm situaie, calculatorul trebuie s aib instalat un sistem de operare multi-proces, cele dou entiti menionate regsindu-se sub form de procese distincte. Un client poate s efectueze cereri ctre mai multe servere, iar un server poate satisface cererile lansate de mai muli clieni.
CLIENT Aplicaie (proceduri de interfa i de prezentare) SERVER transmitere mesaj cerere recepie recepie mesaj rspuns Interpretare/execuie operaii (proceduri de gestiune BD)

SGBD BD

Client server WEB


Odat cu apariia web-ului, arhitecturile client server au evoluat de la o arhitectur pe dou niveluri la o arhitectur pe trei niveluri: Nivelul CLIENT este nivelul care permite unui utilizator comunicarea cu o baz de date prin intermediul WEB-ului. Aceast comunicare se manifest la acest nivel, prin interfaa pus la dispoziia utilizatorului de ctre un navigator (browser) WEB (client server de prezentare). Tot la acest nivel se poate vorbi n afar de partea de interfa i de o parte de aplicaie, sub forma unor programe (scripturi) care pot fi executate de programul browser (scripturi JavaScript, VBScript, etc.). Nivelul APLICAIE conine partea de aplicaii cea mai important din acest ansamblu. Pe acest nivel avem server-ul WEB, care prin intermediul protocolului HTTP, preia cererile venite de pe nivelul client, le proceseaz i le poate transmite mai departe ctre o alt aplicaie, aceasta transmind aceste cereri ctre SGBD, adic pe nivelul date. Server-ul WEB i celelalte aplicaii de pe acest nivel pot fi gzduite pe aceeai main sau pe maini diferite. Exemplu: un utilizator efectueaz o comand dintr-o pagin WEB (care poate conine pe lng tag-uri HTML i cod JavaScript sau VBScript pentru validri de date), comanda fiind preluat de server-ul WEB, care transmite datele mai departe interfeei ODBC, aceasta din urm transmind datele ctre o baz de date Access 2000. Nivelul DATE Pe acest nivel este sistemul de gestiune a bazelor de date, de preferat a fi un SGBD care suport tipuri de date complexe de genul celor vehiculate pe WEB: text, imagini, secvene video, sunet, etc.

Cursul 18&19 BD

NP

1/7

Clieni www Reea local Aplicaii

SGBD

HTTP

Server WEB

CLIENT Maina client


Comanda

APLICAIE

DATE

SERVER WEB

Protocol HTTP

ODBC

Adresa IP: 193.226.62.2 Navigator WEB: InternetExplorer CLIENT

Reea local

Rezultat

BAZA DE DATE ACCESS

APLICAIE

DATE

Din punct de vedere al calculatoarelor care gzduiesc aceste nivele, nivelul aplicaie i nivelul date pot convieui pe acelai calculator (cu un sistem de operare adecvat), dar pot fi instalate i pe calculatoare diferite. De asemenea, exist i posibilitatea accesrii unei bazei de date prin intermediul paginilor WEB de pe aceeai main unde se afl server-ul WEB i baza de date, caz n care toate cele trei nivele se regsesc pe acelai computer.n arhitectura client server WEB, o baz de date poate fi pus la dispoziia unui numr mare de utilizatori din Internet sau dintr-o reea local, n configuraii ct se poate de eterogene. La rndul su, un utilizator poate accesa prin intermediul unei pagini WEB, mai multe baze de date localizate pe mai multe servere, caz n care avem de-a face cu o arhitectur client-multiserver.

Internet/intranet/extranet i baze de date


Intranet permite utilizarea total sau parial a tehnologiilor i infrastructurilor Internet pentru transmiterea i prelucrarea fluxurilor de informaie interne ale unui grup de utilizatori.

Cursul 18&19 BD

NP

2/7

Bazele de date din Intranet sunt realizate prin intermediul standardelor existente pe pia, n particular prin SQL. Pentru a putea fi consultate cu un navigator, ntre baza de date i serverul Web este necesar o interfa. n ultimul timp, principalele baze de date relaionale integreaz servere Web sau middleware necesar (Oracle WebServer pentru Oracle i Web.SQL pentru Sybase). Serverul de documente dintr-un Intranet permite utilizatorului s caute i s consulte ansamblul documentelor produse n ntreprindere. Aceste servere sunt n general servere Web i de cele mai multe ori, ele sunt cuplate cu motoarele de cutare. Serverele de documente constituie nucleul unui Intranet, devenind placa turnant a sistemului informatic.

Baze de date on-line


O baz de date utilizat ntr-un mediu Internet/Extranet este considerat o baz de date on-line. Accesarea bazelor de date on-line este posibil prin intermediul paginilor web dinamice. Principalelor metode de interconectare ntre bazele de date i paginile Web. 1. Common Gateway Interface CGI este un standard de comunicare ntre paginile Web i alte aplicaii care se execut pe server.

Principalul avantaj al acestei metode const n faptul c exist posibilitatea alegerii unui limbaj de programare pentru a implementa accesul la baza de date (limbajul n care va fi scris CGI-ul). Dezavantajele acestei metode sunt: nu asigur un management al tranzaciilor, nu permite accesul simultan; nu exist o sincronizare ntre navigatorul care a lansat cererea de interogare i programul de acces la baza de date. 2. Server capabil s realizeze comenzi de acces la baza de date (SSI Server Side Include), altfel spus, un server Web care s includ un SGBD minimal.

Aceast metod nu permite accesul simultan la baza de date. Din punct de vedere al managementului tranzaciilor, ca i metoda CGI, conexiunea la baza de date este valabil atta timp ct este prelucrat fiierul HTML din care face parte. Avantajul principal al acestei metode const n faptul c serverul acceseaz direct baza de date. 3. Baze de date care vorbesc HTTP Conform acestei metode, comenzile HTML care se adreseaz unei baze de date sunt direcionate ctre o

interfa ntre protocolul HTTP i SGBD-ul aferent. Principalul avantaj al acestei metode const n faptul c navigatorul acceseaz direct baza de date. Dezavantajul const n faptul c interfaa HTTP este dedicat unui anumit SGBD, ceea ce nu permite o interactivitate real a paginilor Web.

Cursul 18&19 BD

NP

3/7

4. Accesul direct din navigator la o baz de date prin limbajul JAVA Aceast metod este implementat prin componenta Java Database Conectivity (JDBC) care face parte din Java Development Kit (JDK 1.1. )

Deoarece clientul are acces direct din navigator la baza de date, metoda mai este cunoscut i sub numele de Client Side Include (CSI). Metoda se bazeaz pe idea c navigatorul ncarc un program specializat (Applet JAVA), fie de pe calculatorul local sau de pe un server Web i apoi acesta se ocup de conexiunea i accesul la baza de date. Apelul applet-ului JAVA se face printr-un document HTML cu ajutorul unui tag specializat n acest sens. 5. Vizualizarea datelor n afara navigatorului (External Viewer) Aceast metod apeleaz din navigator un program de vizualizare a informaiilor care este dependent de tipul

acestora. Metoda asigur un management complet al tranzaciilor i controlul accesului concurent. 6. Extinderea navigatoarelor cu posibiliti de Plug-ins Plug-ins sunt programe cu funcii speciale care extind capabilitile navigatoarelor. Aceast metod este similar celei de utilizare a unui program de vizualizare extern. Deosebirea const n faptul c afiarea rezultatelor se face tot n fereastra navigatorului. 7. Proxy server pentru accesarea bazelor de date Metoda const n redirecionarea cererilor de acces la baze de date ctre un server specializat n acest sens, numit HTTP proxy server. Acest server acceseaz baza de date i transfer rezultatele ctre navigator. Prin aceast metod nu se poate asigura managementul complet al tranzaciilor i controlul accesului concurent.

8. Utilizarea unui server Hyperwave Aceast metod utilizeaz o pasarel (gateway server) ntre server i baza de date.

Cursul 18&19 BD

NP

4/7

SQL Gateway Server reduce numrul de conexiuni la baza de date i implicit timpul de rspuns.

Baze da date on-line in ACCESS


Access ofer un suport puternic pentru elaborarea paginilor WEB care acceseaz baze de date, categoriile de pagini WEB puse la dispoziie fiind: Pagini WEB statice n aceast categorie se includ paginile WEB scrise numai n limbajul HTML; Pagini WEB dinamice n aceast categorie se includ paginile de tip ASP (Active Server Pages) sau IDC/HTX; Obiecte de tip pagin WEB (Data Access Pages), obiecte ce sunt salvate n baza de date cu celelalte obiecte ale acesteia.

Elaborarea paginilor WEB statice


Sunt pagini care se pot genera prin funcia de export oferit de Access (meniul File Export). Aceste pagini se pot crea din coninutul unui tabel, interogri, formular sau raport. Generarea propriu zis a paginii WEB se poate realiza prin selectarea unui obiect n fereastra bazei de date sau prin deschiderea unui obiect din categoriile menionate i apoi din meniul File, se selecteaz opiunea Export, iar n caseta Save as Type se selecteaz HTML Documents. Pagina WEB este generat exclusiv n limbajul HTML, i nu conine definiii pentru actualizarea coninutului obiectului din care a fost generat pagina (nu exist o definiie pentru conexiunea cu baza de date). Practic pagina este generat pentru coninutul obiectului, din momentul operaiei de generare a paginii, modificarea datelor n obiectul Access, nu se reflect i n coninutul paginii WEB.

Elaborarea paginilor WEB dinamice


Paginile WEB dinamice nltur practic neajunsurile paginilor WEB statice, descrise anterior. O pagin WEB dinamic reflect permanent modificrile datelor intervenite n baza de date, pagina WEB odat generat, nu mai are nevoie dect, eventual de ajustri din partea utilizatorului cel mai des n sensul designului paginii. Paginile WEB dinamice generate cu Access sunt de tip ASP (Active Server Pages) sau de tip IDC/HTX i pot fi generate numai pentru obiecte de tip tabel, interogare sau raport. Aceste pagini pot fi publicate pe serverele WEB Microsoft Internet Information Server (IIS) sau Personal Web Server (PWS). Conexiunea dintre pagina WEB i baza de date, mai are nevoie de definirea unui DSN (Data Source Name) n cadrul interfeei ODBC (Open DataBase Connectivity). Generarea unei pagini WEB dinamice cu Access 2000 trebuie s fie precedat de crearea DSN-ului, numele acestuia trebuind s fie precizat n momentul generrii paginii.

Publicarea manual a unei pagini WEB n IIS sau PWS


Pentru publicarea manual a unei pagini WEB ntr-unul din aceste servere, fiierele de tip ASP sau cele tip IDC/HTX generate de Access, trebuiesc copiate n structura de foldere ale serverului WEB. La instalarea serverului WEB, dac utilizatorul nu schimb folderele propuse de programul de instalare, acesta se instaleaz n secvena \InetPub\WWWROOT. Fiierul implicit al serverului (cel care este executat invocarea adresei serverului WEB ntr-un program de navigare pe Internet) care se afl memorat n secvena menionat, poate avea unul din urmtoarele nume: Index.html,Index.htm,Default.asp Utilizatorul are la dispoziie dou variante: Pagina WEB dinamic i d numele default.asp i o salveaz n structura \InetPub\WWWROOT; Prin intermediul hyperlink-urilor i integreaz propriile pagini n structura site-ului.

Generarea paginilor de tip ASP


Paginile ASP generate in Access conin cod text, n limbajele HTML i VBScript. Practic partea de design este generat n HTML, iar partea de acces la baza de date este generat n VBScript. Pentru accesul la o baz de date limbajul VBScript se utilizeaz colecia de obiecte ADO (ActiveX DataBase Object) i de limbajul SQL.

Cursul 18&19 BD

NP

5/7

Program navigare WEB


Protocol TCPIP

NIVELUL CLIENT

Generarea propriu-zis a unei pagini ASP se realizeaz prin parcurgerea mai multor pai:

Server WEB Pagina ASP Obiecte ADO Interfaa ODBC


driver NIVELUL APLICAIE

Baza de date Access

NIVELUL SERVER

crearea DSN-ului pentru realizarea legturii dintre pagina WEB i baza de date; se selecteaz obiectul pentru care se dorete generarea paginii, din fereastra bazei de date sau se deschide; se activeaz meniul File, opiunea Export, se selecteaz n caseta Save as Type varianta Microsoft Active Server Pages; se precizeaz numele paginii n caseta File Name; se acioneaz butonul de comand Save;

n fereastra Microsoft Active Server Pages Output Options se configureaz urmtorii parametrii: dac exist un ablon dup care se va defini pagina, se indic numele i calea n caseta HTML Template; numele DSN-ului este obligatoriu i se precizeaz n caseta Data Source Name; dac se dorete conectarea la baza de date cu un anumit user, trebuie precizat numele acestuia (User to Connect As) i parola (Password for User); Server URL, indic site-ul unde se va gzdui pagina; Session timeout (min) perioad n care se ncearc realizarea conexiunii cu sursa de date; dup expirarea acestei perioade, dac nu s-a realizat conexiunea este returnat o eroare.

Obiecte de tip pagin WEB


Obiectele de tip Data Access Pages sunt gestionate n seciunea Pages din fereastra bazei de date (Database Window). La salvarea unui astfel de obiect se creeaz automat un fiier separat de baza de date, care va conine pagina WEB generat din obiectul Access. Obiectul din baza de date memoreaz o legtur (shortcut) ctre aceast pagin. tergerea fiierului HTML de pe disk, este echivalent practic cu tergerea obiectului din baza de date, acesta chiar dac nu este ters fizic, devenind inutilizabil fr pagina WEB. Acest obiect este asemntor cu un obiect de tip formular, numai c se utilizeaz n contextul accesrii bazei de date de pe Internet. Obiectul salvat n baza de date se poate utiliza i din baza de date Access, ns el este totui conceput pentru a fi accesat de pe Internet, Microsoft Access fiind utilizat mai mult pentru proiectarea paginii WEB, dect pentru actualizarea datelor. Pentru proiectarea manual a unui obiect de tip pagin WEB este pus la dispoziie un set de controale grupate ntr-o bar de instrumente Toolbox, utilizarea acestora fiind asemntoare cu a celor din cadrul obiectelor de tip raport sau formular. Pentru crearea unui astfel de obiect se acioneaz butonul de comand New din seciunea Pages, sau se acioneaz unul din shortcut-urile memorate n aceast seciune: Create data access page in design view, Create data access page by using wizard sau Edit WEB page that already exists. Opiunile disponibile prin acionarea butonului de comand New, sunt:

Design View permite proiectarea manual a paginii WEB; este echivalent cu shorcut-ul Create data access page in design view. Existing Web Page permite elaborarea unei pagini WEB plecnd de la una existent pe disk; este echivalent cu shortcut-ul Edit WEB page that already exists. Page Wizard permite crearea unei pagini WEB, cu ajutorul asistenilor; este echivalent cu shortcut-ul Create data access page by using wizard. Opiunile ce trebuiesc configurate cu ajutorul asistenilor sunt grupate n ferestre, care se refer la: Selectarea cmpurilor care vor fi afiate n pagin; Selectarea unor cmpuri dup care se pot realiza grupri ale datelor;

Cursul 18&19 BD

NP

6/7

Ordonarea nregistrrilor Precizarea titlului paginii, i al modului de deschidere (Open sau Design). Exemplu: pentru o baz de date care conine un tabel numit Autovehicule, se genereaz cu ajutorul asistenilor un obiect de tip pagin WEB, fr criterii de grupare.

Cursul 18&19 BD

NP

7/7