Arhitectura client/server este o arhitectura de retea in care fiecare calculator sau proces din retea este un client sau un server. In mod normal, aceasta arhitectura imparte o aplicatie in trei componente de baza: clientul, infrastructura retelei (marcata prin caracterul slash) si server-ul, fiind o arhitectura stratificata.
Clientul este cel care va actiona si va determina un intreg lant de actiuni din partea server-ului: initiaza cererea catre server, asteapta raspunsul de la server, primeste raspunsul de la server si in final il returneaza utilizatorului posibil intr-un mod formatat. Clientul poate fi un browser de web care se conecteaza la un server web, poate fi un client de e-mail (gen Thunderbird sau Microsoft Outlook) care se conecteaza la un server de email, trimite datele de autentificare pentru un cont de e-mail si cererea de primire a mesajelor noi.
Un server nu actioneaza niciodata din cont propriu, nu transmite date decat daca e intrebat si daca sunt urmate anumite reguli de comunicare. Cand este pornit, un server va lua pozitia de asteptare de conexiuni (numita mai tehnic: listening state), de regula acesta asculta pe un anume port primirea conexiunilor. La primirea unei astfel de conexiuni, deci implicit a unei cereri, el va face toate demersurile necesare pentru a returna rezultatul asteptat. Daca este un server web, va intoarce clientului (browserul web) codul html al paginii care a fost ceruta, daca este un server de e-mail va returna clientului o lista cu toate email-urile pe care le-a primit de la ultima cerere, daca este un server de MySQL va prelua interogarea SQL primita o va executa si va returna setul de date rezultat.
Arhitecturile client/server sunt de mai multe tipuri, dar toate prezinta in comun anumite avantaje si dezavantaje ale utilizarii lor. Astfel dintre avantajele utilizarii sistemelor client/server pot fi mentionate:
- au o securitate mai buna;
- performantele pot fi imbunatatite usor, deoarece o mai buna proiectare a server-ului poateduce la o mai buna coordonare a utilizatorilor care doresc servicii in acelasi timp si, de aici, performante mai bune;
- raportul calitate / pret este mai bun.
Iar dintre dezavantajele sistemelor client/server:
- complexitatea: sistemele client/server nu sunt simplu de configurat si de administrat;
- necesitati: pentru a putea deservi un numar mare de clienti, server-ul trebuie sa fie uncalculator foarte performant (deci scump);
- pret: performantele server-ului scad o data cu cresterea numarului de utilizatori.
Arhitectura client/server a aparut datorita limitarilor arhitecturii file sharing. Aceasta arhitectura inlocuieste server-ul de fisiere cu un server de baze de date. Utilizand un sistem de gestiune a bazelor de date, cererile utilizatorilor pot fi solutionate direct, reducandu-se totodata traficul pe retea prin furnizarea datelor strict necesare utilizatorului, si nu a intregului fisier.
Datorita faptului ca arhitectura client/server are la baza trei componente (clientul, server-ul sireteaua), modalitatea in care sarcinile sunt distribuite celor doi participanti (clientul si server-ul) determina si tipurile de arhitecturi client/server utilizate in proiectarea aplicatiilor. Astfel, putem clasifica arhitecturile client/server in urmatoarele tipuri: - arhitectura pe doua niveluri; - arhitectura pe trei niveluri; - arhitecturi pe mai multe niveluri.
http://www.scribd.com/doc/43124974/Arhitectura-Client-Server
http://www.tutorialeonline.net/ro/article/arhitectura-client-server
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.