Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica
CALCULUL CLIENT/SERVER

CALCULUL CLIENT/SERVER


CALCULUL CLIENT/SERVER

Introducere

Cercetarile recente din teoria si tehnologia BD au aratat ca dimensiunea si varietatea BD au crescut semnificativ si in prezent trec de zeci de gigabytes.Gestiunea BD pe un singur calculator are ca rezultat o utilizare slaba a resurselor calculatorului in raport cu diverse cerinte. De exemplu un SGBD poate sa gestioneze memoria principala si procesorul central cand se selecteaza anumite date. Aceasta situatie previne centralizarea excesiva a datelor si a functiilor de gestiune pe acelasi calculator. in anul 1974 Canaday / / a avut ideeea de a elibera procesorul central prin separarea functiilor de gestiune ale BD dintr-un calculator principal si gruparea lor pentru executie pe alte calculatoare dedicate pentru executie. Calculatorul principal pe care se executa programele de aplicatii este numit calculator gazda (host computer). Calculatoarele dedicate sunt numite masini BD, calculatoare BD sau calculatoare backend. Acum se utilizeaza termenii de server de aplicatii pentru calculatorul gazda si server de date pentru calculatorul dedicat. Cresterea considerabila a puterii de prelucrare a statiilor PC si dotarea lor cu retele de comunicatii rapide a facut posibila inlocuirea terminalelor cu statii de lucru conectate, ce ruleaza ca servere de aplicatii (clienti). Nevoia de a integra diverse statii de lucru conectate prin intermediul unei retele la un server de date a dus la o noua organizare a resurselor de calcul, numita server centralizat. Aceasta organizare a facut o separare a operatiilor ceea ce a dus la minimizarea comunicarii dintre statia de lucru si severul de date. Calculul client/server este o notiune des folosita. Vanzatorii din industria tehnologiei informatiei au folosit-o sa descrie aproape toate formele de prelucrari. In acest capitol, consideram calculul client/server ca o paradigma de procesare in care procesoarele centralizate din trecut sunt inlocuite cu retele de calculatoare mai mici si mai ieftine. Cu calculul client/server puterea de prelucrare a unor sisteme de calculatoare devine o problema de afaceri. Toate tehnologiile celor mai populare SGBD-uri se bazeaza pe o forma de calcul client/server. Totusi utilizarea unui software de baze date client/server nu reprezinta numai o forma de calcul client/server.



In acest capitol sunt examinate un numar de arhitecturi generale de aplicatii care se bazeaza pe paradigma client/server. In capitolul urmator vom privi modul cum o aplicatie client/server poate fi configurata. In capitolul urmator ne vom ocupa de un numar de arhitecturi cand insasi BD este distribuita pe un numar de sisteme.

Componentele aplicatiilor de calcul

Calculul client/server in forma sa cea mai simpla se compune dintr -o componenta de prelucrare ( proces) a aplicatiei numita client, executata intr-un sistem de calcul, care cere un serviciu de la o alta componenta, numit server ce se executa pe un alt sistem de calcul. (figura 1). Aceste componente (prelucrari, procese) ale aplicatiei si calculatoarele pe care ruleaza se numesc clienti si servere. Structurile hardware ale aplicatiilor client/server se compun din :

- Calculatorul client care este sistemul de calcul pe care executa componenta client a aplicatiei care face una sau mai multe cereri de servicii;

- Calculatorul server care este un sistem de calcul pe care ruleaza componenta server a aplicatiei, care satisface cererea clientului pentru un serviciu si returneaza rezultatele componentei client ;

Reteaua de comunicatii ce permite ca un mesaj sau mai multe ce compun cererea, sa fie transmise de la client la server si invers mesaje ce contin rezultate sa fie transmise de la server la client.

 

PROCES SERVER

 

CERERI

 


RETEA DE COMUNICATII

 

REZULTATE

 

Figura 3.1. Arhitectura client/server

Paradigma prelucrarii client/server permite ca mai multe componente client sa acceseze un serviciu comun care e pus la dispozitie de o componenta server partajata. Sau poate permite de asemenea ca o componenta client sa acceseze mai multe servere diferite. Cum vom vedea in acest capitol, exista o mare flexibilitate in configurarea celor trei componnte majore aratate in figura 1. In cazul cel mai simplu, componentele client si server, ruleaza ambele pe acelasi calculator si nu e nevoie de comunicarea prin retea. Intr-un caz complex pot exista mai multe componente client diferite, fiecare ruland pe calculatorul propriu, si mai multe componente server care ruleaza pe calculatoare diferite. Calculatoare diferite poate fi legate intr-o retea ce este raspandita pe unul sau mai multe continente. Componenta client e considerata in general ca fiind componenta activa, pentru ca este componenta care cere sa i se faca un serviciu. Serverul e in general componenta pasiva care asteapta sa vina o cerere de la un client. Masina server executa un software BD pe care sunt implementate proceduri stocate si declansatoare BD pe care clientul le cere sa le execute si sa furnizeze rezultatele necesare. Calculatoarele isi pot schimba rolurile in functie de prelucrarile ce sunt facute. De exemplu:

Calculatorul A poate trimite o cerere pentru un serviciu catre serverul B. Pentru a satisface cererea clientului A, serverul B ar putea juca rolul clientului si sa rezolve o cerere de serviciu a serverului C, si asa mai departe.

Modelul de calcul client/sever pe trei nivele

Arhitecturile client/server pot fi clasificate tinand cont de faptul ca aplicatiile de calcul sunt compuse dintr-o colectie de componente individuale, fiecare dintre ele facand parte din urmatoarele trei categorii

Interfata utilizator . Aceasta este o componenta software responsabila pentru acceptarea de intrari de la utilizator, pentru afisarea si tiparirea de rezultate.

Functii de prelucrare. Componente software ce realizeaza procesarile necesare rezolvarii unei probleme particulare.

Procese de acces la date. Componente software responsabile pentru accesarea datelor stocate pe dispozitive de stocare externe ( hardiscuri).

Cele trei componente pot fi combinate in diverse moduri pentru a creea diferite configuratii de calcul client/server. Sunt posibile patru configuratii fundamentale prin folosirea modelului pe trei nivele :

Modelul in care tot calculul se realizeaza pe un sistem unic;

model cu interfete utilizator distribuite;

model cu acces distribuit la date;

model pentru functii distribuite.

Configuratiile de mai sus pot fi folosite in combinatie pentru a produce configuratii de orice complexitate dorita. Sectiunile urmatoare descriu fiecare din aceste modele de calcul client /server de distribuite

Modelul in care tot calculul se realizeaza pe un unic sistem


O mare parte a prelucrarilor din ziua de azi au loc intr-un singur sistem de calcul, in care prelucrarea ce formeaza interfata utilizator, functii de prelucrare si procesele de acces la date sunt executate toate pe acelasi calculator (figura 2). In configuratia din figura, PC-ul din stanga e folosit ca terminal si prelucrarea ce foloseste interfata e facuta de calculatorul din dreapta.

In transformarea unei aplicatii facuta pe un singur calculator intr-o configuratie client/server, trebuie luate decizii cu privire la modul in care componentele software vor fi distribuite in doua sau mai multe sisteme diferite dintr -o retea. Intr-o aplicatie obisnuita ce e executata pe un singur sistem, componentele din toate cele trei categorii sunt adesea intercalate intr-un astfel de mod care face dificila distinctia dintr e cele trei componente


Figura 3.2. Modelul in care tot calculul se realizeaza pe un sistem unic

Model cu interfete utilizator distribuite

Modelul cu interfate utilizator distribuite reprezinta o forma des folosita de calcul client/server. In acest model, componenta aplicatiei ce implementeaza interfata utilizator a prelucrarii, se face intr-un sistem de calcul si componentele de prelucrare a datelor si de acces la date, ruleaza pe alt sistem de calcul (fig.3). In folosirea obisnuita a acestei configuratii, un sistem client PC e folosit sa manevreze cerintele interfetei utilizator, si un sistem server mai puternic e folosit sa manevreze toate celelalte prelucrari ale aplicatiilor.

Figura 3. 3. Model cu interfete utilizator distribuite

IBM a utilizat o anumita forma de model cu interfata utilizator distribuita in care calculatorul client e un PC iar serverul e "mainframe" ca: "processor de cooperare". Oricum nu exista nici o conventie in industrie cu privire la definitiile pentru termenii ca "proc-coop" sau "procesare distribuita asa ca vom evita sa le folosim.

Model cu acces distribuit la date

Modelul cu acces distribuit la date este o alta forma mult folosita a calculului client/server. In acest model, componenta aplicatie care realizeaza accesul la date ruleaza pe un sistem de calcul diferit de componenta aplicatiei, data de functiile de prelucrare si interfata cu utilizator. Aceasta este aratata in fig. 3. 4.

SERVER

 

CLIENT

 
Aplicatiile distribuite ce folosesc software-ul BD client/server se conformeaza modelului cu acces distribuit la date. Softwareul bazei de date poate rula pe un sistem de calcul ce joaca rolul unui server BD. Componentele aplicatiei ce fac cererea pentru acces la o BD pot rula pe un alt sistem de calcul.

Fig. 3. 4 Model cu acces distribuit la date

Model cu functii distribuite

In modelul cu functiei distribuite, functiile actuale ale aplicatiilor sunt distribuite intr-un numar de procesoare diferite. Componentele functiei de prelucrare ale aplicatiilor pot fi distribuite pe una sau mai multe componente client si pe una sau mai multe componente server, fiecare din ele putand rula intr-un sistem diferit. Fig 3.5 arata o configuratie care combina distributia functiei si distributia accesului la date, folosind trei sisteme de calcul diferite. Prin distributia functiei, o componenta client initiaza o activitate distribuita. Tinta unei asemenea activitati este un server. Un serviciu particular facut de un server, consta dintr-un set de functii pe care serverul le indeplineste pentru client. Distributia functiei poate fi folosita in corelare cu distributia interfetei utilizatorului si cu prelucrarea accesului la date pentru a crea aplicatii puternice cu orice numar de componente.

 

SERVER

 


Functii

 

Retea de Comunicatie

 



Acces   la date

 


Fig. 3. 5 Model cu functii distribuite

Intr-un mediu client server reteaua de comunicatie poate fi foarte simpla (sau sa nu existe in cazul cand clientul si serverul sunt pe acelasi calculator). Intr-un exemplu simplu care utilizeaza doua calculatoare reteaua consta dintr-un cablu ce este utilizat la conectarea calculatorului server cu calculatorul client. Calculatorul client trimite cereri calculatorului server prin cablu si calculatorul server trimite inapoi la calculatorul client rezultatele prin acelasi cablu.

Intr-un caz mai complex exista mai multe calculatoare clienti si calculatoare server localizate in mai multe locuri pe glob si conectate prin intermediul unei retele WAN.





Politica de confidentialitate


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