Arhitectura client-server

7.1.Arhitektura "client-server".

7.1.1.Osnovnye concepte.

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:
  • introducerea și afișarea datelor (interacțiune cu utilizatorul);
  • funcții de aplicație, care sunt tipice pentru acest domeniu de aplicare;
  • Funcția de gestionare a resurselor (sistem de fișiere, baze de date danyh etc.)
Prin urmare, următoarele componente sunt alocate în orice aplicație:
  • componenta de raportare
  • componenta a aplicatiei
  • Componenta de management al resurselor
Comunicarea între componentele se efectuează în conformitate cu anumite reguli, care sunt numite „protocol de cooperare“.

7.1.2.Modeli interacțiune client-server.

compania 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):

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 componente ale aplicației (SGBD și aplicat programul original). Protocolul de comunicare este setat astfel nizkourovnenyh solicită funcționarea sistemului de fișiere. Această arhitectură, puse în aplicare în mod obișnuit de către baza de date cu caracter personal (., A se vedea secțiunea 4.8), 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 în rețea este destul 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 de aplicare simple executa proceduri stocate pe server
  • mai complexe 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ă tendința de a o utilizare tot mai mare a modelului de 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.

tranzacții 7.1.3.Monitory.

Î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“). Această noțiune a unei tranzacții este extinsă în comparație cu baza de date utilizată în teorie. Î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 - interfața aplicației programmmirovaniya), 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.