Arhitectura "client-server" (curs)

De obicei, calculatoare și programe care fac parte din sistemul de informații nu sunt egale. Unele dintre ele resurse proprii (sistem de fișiere, CPU, imprimantă, baze de date, etc.), în timp ce altele au capacitatea de a accesa aceste resurse. Calculatorul (sau program), a gestiona resursele, numit serverul de resurse (server de fișiere, server de baze de date, server de Compute.). Clientul și serverul unei resurse poate fi localizat într-un singur sistem de computer sau pe diferite calculatoare conectate printr-o rețea.

Principiul de bază al tehnologiei „client-server“ este de a separa funcțiile aplicației în trei grupe:

· Intrare și afișarea datelor (interacțiune cu utilizatorul);

· Funcții de aplicații care sunt tipice pentru acest domeniu de aplicare;

· Funcția de management al resurselor (sistem de fișiere, baze de date, etc.)

Prin urmare, următoarele componente sunt alocate în orice aplicație:

· Componenta de raportare

· O componentă de gestionare a resurselor

Comunicarea între componentele se efectuează în conformitate cu anumite reguli, care sunt numite „protocol de cooperare“.

Prin Gartner Group, specializat în studiul tehnologiei informației, a propus următoarele modele de clasificare dvuhzvennyh de interacțiune între client-server (model pe două niveluri, deoarece acestea sunt numite trei aplicații componente sunt distribuite în diferite moduri între două noduri):

Arhitectura

Punct de vedere istoric, în primul rând, un model de prezentare a datelor distribuite, care a fost implementat pe mainframe cu atașat la acesta terminale neinteligent. managementul datelor și interacțiunea cu utilizatorul, în același timp, unite într-un singur program, terminalul pentru a transmite doar „imaginea“ format pe un calculator central.

Apoi, odată cu apariția calculatoarelor personale (PC) și rețelele locale au fost puse în aplicare de acces model pentru o bază de date la distanță. Unele baze de timp pentru PC Networks are o arhitectură server de fișiere. Astfel, unul dintre calculatoarele este un server de fișiere, executat pe aplicația client, în care componentele de prezentare combinate și componenta de aplicare (un program de aplicație și SGBD). Protocolul de comunicații reprezintă, astfel, un set de nivel scăzut apeluri la dosar operațiuni de sistem. Această arhitectură, care se realizează, de regulă, cu ajutorul bazelor de date cu caracter personal, are dezavantaje evidente - un trafic mare de rețea și lipsa de acces unificat la resurse.

Odată cu introducerea primelor servere de baze de date specializate au posibilitatea de o altă punere în aplicare a unui model de acces la baza de date de la distanță. În acest caz, motorul bazei de date rulează pe un server, protocolul furnizat de SQL. Această abordare este comparată cu serverul de fișiere este o reducere a sarcinii de rețea și armonizarea interfeței „client-server“. Cu toate acestea. Traficul de rețea este suficient de mare, în plus, încă nu poate fi o administrare satisfăcătoare de aplicații, ca un singur program combină diverse funcții.

Mai târziu, ea a dezvoltat conceptul de server activ, care a folosit mecanismul de proceduri stocate. Acest lucru a permis transferul componentei de aplicare pe server (modelul de aplicații distribuite). Procedurile sunt stocate în baza de date dicționar partajată între mai mulți clienți și executat pe același computer ca și SQL-Server. Avantajele acestei abordări: posibilitatea administrării centralizate a funcțiilor de aplicare este redus în mod semnificativ traficul de rețea (deoarece nu este transmis SQL-interogări și stocate apeluri de proceduri). Dezavantaj - limitate fonduri dezvoltarea procedurilor stocate, în comparație cu limbile de uz general (C și Pascal).

În practică, folosite în mod obișnuit abordare mixtă:

· Funcții aplicație ușor sunt executate proceduri stocate pe server

· Mai multe funcții complexe sunt implementate pe client direct la cererea

Acum, un număr de furnizori de baze de date comerciale, a anunțat planurile de a pune în aplicare executarea procedurilor stocate folosind mecanisme de limbaj Java. Aceasta corespunde conceptului de „thin client“, a cărei funcție poate afișa numai date (de la distanță model de prezentare a datelor).

În ultimii ani, deoarece există o tendință de a folosi modelul unei aplicații distribuite. O trăsătură caracteristică a acestor aplicații este o aplicație de separare logică în două sau mai multe părți, fiecare dintre care poate rula pe un computer separat. Părțile izolate ale cererii comunica între ele prin schimbul de mesaje într-un format prestabilit. În acest caz, o arhitectură client-server pe două niveluri devine trei nivele, iar la unele cazuri, aceasta poate include link-uri și multe altele.

În acest caz, atunci când sistemul de informații reunește o mulțime de diferite resurse de informare și servere de aplicații, există o întrebare cu privire la gestionarea optimă a tuturor componentelor sale. În acest caz, utilizați instrumente specializate - monitoare de procesare a tranzacțiilor (deseori denumite pur și simplu ca „monitoarele de procesare a tranzacțiilor“). În acest caz, conceptul de tranzacție se extinde în comparație cu cunoscute în teoria bazelor de date. În acest caz, nu este o operație atomică, în baza de date, precum și orice acțiune în sistem - posturile emitente, intrare în fișierul index, imprimarea raport, etc.

Pentru a comunica cu monitorul de tranzacție aplicație utilizează un API specializat (Application Program Interface - Application Programming Interface), care este implementat ca o bibliotecă care conține un apel funcții de bază (conecta, provoca un anumit serviciu, etc.). Servere de aplicatii (servicii) sunt de asemenea create folosind acest API, fiecare serviciu este atribuit un nume unic. monitor TP, primirea unei cereri din programul de aplicație, acesta transmite apelul de serviciu corespunzătoare (în cazul în care nu se execută, este generat de proces dorit), după procesarea cererii de către serverul de aplicații returnează rezultatele la client. TP monitorizează pentru a interacționa cu serverele de baze de date proiectate protocolul XA. Prezența unei astfel de interfață unificată permite utilizarea unei singure aplicații un număr de baze de date diferite.

Utilizarea Monitoarele de tranzacții în sistemele mari oferă următoarele avantaje:

· Concentrarea tuturor funcțiilor de aplicații de pe serverul de aplicație oferă independență considerabilă atât punerea în aplicare a interfeței cu utilizatorul, și metoda de administrare specifică. Acesta prevede, de asemenea, administrarea centralizată a aplicațiilor, deoarece întreaga aplicație este într-un singur loc și nu „uns“ pe stația de lucru client de rețea.

· Monitor tranzacție este capabil să se auto porni și opri serverele de aplicații. După cum se poate muta sau copia o parte a proceselor de server la alte noduri, în funcție de încărcare a rețelei și a resurselor de calcul. Se realizează echilibrarea încărcării.

· Asigură configurarea dinamică a sistemului, adică, fără oprire nouă resursă sau aplicație server poate fi adăugat.

· Creșterea fiabilității sistemului, deoarece în caz de eșec serverul de aplicații poate fi mutat într-un computer de rezervă.

· Există o posibilitate de gestionare a bazei de date distribuite (a se vedea. Următorul paragraf).

În afaceri de astăzi este foarte adesea necesar pentru a oferi acces la aceleași grupuri de utilizatori de date, punct de vedere geografic la distanță unul față de celălalt. Banca având o multitudine de compartimente pot fi date ca exemple. Aceste birouri sunt situate în diferite orașe, țări, sau chiar pe continente diferite, cu toate acestea, este necesar să se organizeze procesarea tranzacțiilor financiare (de circulație de bani pe conturi) între compartimentele. Rezultatele tranzacțiilor financiare ar trebui să fie vizibile în același timp, în toate departamentele.

Există două abordări pentru organizarea prelucrării datelor distribuite.

1. Tehnologia de baze de date distribuite. Un astfel de cadru cuprinde fragmente de date situate în diferite noduri de rețea. Dintr-o perspectivă de utilizator se pare ca în cazul în care toate datele sunt stocate într-un singur loc. Desigur, un astfel de sistem impune cerințe stricte pentru performanță și fiabilitate a canalelor de comunicare.

2. Tehnologia de replicare. În acest caz, fiecare nod de rețea este duplicat de date de toate computerele. În acest caz:

· Transmise numai operație de schimbare a datelor, mai degrabă decât datele în sine

· Transmiterea poate fi asincron (non-simultane pentru diferite noduri)

· Datele se afla acolo, în cazul în care acestea sunt prelucrate

Acest lucru reduce cerințele de lățime de bandă de canale de comunicare, de altfel, în cazul în care link-ul eșec orice computer, utilizatorii de pe alte noduri pot continua să lucreze. Cu toate acestea, a permis statutul inegal al bazei de date pentru utilizatori diferiți în același timp. Prin urmare, este imposibil de a elimina conflictul dintre cele două copii ale aceluiași înregistrare.

Arhitectura

Final Fantasy XIV: DLC StormBlood

Arhitectura

Warhammer 40.000: Dawn of War III

articole similare