internetul Windows. Android

Care este arhitectura distribuită de rețea. Arhitectura unui sistem de control distribuit bazat pe mediul de computere multicolor reconfigurabil L-Net

În prezent, sunt distribuite aproape toate sistemele software mari. Un distribuit se numește un astfel de sistem în care prelucrarea informațiilor nu se concentrează pe aceeași mașină de calcul, dar este distribuită între mai multe computere. La proiectarea sistemelor distribuite, care are multe în comun cu designul oricărui alt software, ar trebui luate în considerare o serie de caracteristici specifice. Unele dintre ele au fost deja menționate în Introducere în capitolul 10 atunci când se iau în considerare arhitectura client / server, aici sunt discutate mai detaliat.

Din aceste zile, sistemele distribuite au fost larg răspândite, dezvoltatorii de software ar trebui să fie familiarizați cu caracteristicile designului lor. Până de curând, toate sistemele majore au fost în principal centralizate, care au fost lansate pe o mașină principală de calcul (mainframe) cu terminale conectate la acesta. Terminalele au fost practic implicate în procesarea informațiilor - toate calculele au fost efectuate pe mașina principală. Dezvoltatorii unor astfel de sisteme nu trebuiau să se gândească la problemele computerelor distribuite.

Toate sistemele software moderne pot fi împărțite în trei clase mari.

1. Sisteme software aplicate concepute pentru a lucra numai pe un computer personal sau o stație de lucru. Acestea includ procesoare de text, foi de calcul, sisteme grafice etc.

2. Sisteme încorporate concepute pentru a lucra la un procesor sau pe un grup integrat de procesoare. Acestea includ sisteme de management al dispozitivelor casnice, diverse dispozitive etc.

3. Sisteme distribuite în care software-ul se efectuează pe un grup slab integrat de procesoare de lucru paralele asociate prin rețea. Acestea includ sisteme ATM aparținând oricărei bănci, sisteme de publicare, sisteme de utilizare colectivă etc.

În prezent, există limite clare între clasele listate de sisteme software, care vor continua să crească. În timp când viteza de mare viteză rețele fără fir va deveni larg disponibilă, va fi posibilă integrarea dinamică a dispozitivelor cu încorporată sisteme de software, de exemplu, organizatorii electronici cu sisteme mai frecvente.

Cele șase caracteristici principale ale sistemelor distribuite sunt alocate.

1. Împărtășirea resurselor.Sistemele distribuite permit partajare resurse hardware și software, cum ar fi hard discuri, imprimante, fișiere, compilatoare etc. conectate prin rețea. Evident, separarea resurselor este, de asemenea, posibilă în sistemele multiplayer, dar în acest caz furnizarea de resurse și gestionarea acestora trebuie să fie responsabilă pentru calculatorul central.

2. Deschidere.Aceasta este o oportunitate de a extinde sistemul prin adăugarea de noi resurse. Sistemele distribuite sunt sisteme deschiseLa care hardware-ul și software-ul sunt conectate de la diferiți producători.

3. Paralelism.În sistemele distribuite, mai multe procese pot fi efectuate simultan pe diferite computere pe net. Aceste procese pot (dar nu neapărat) interacționează între ele în timpul executării lor.

4. Scalabilitate.În principiu, toate sistemele distribuite sunt scalabile: că sistemul corespunde unor noi cerințe, poate crește prin adăugarea de noi resurse de calcul. Dar, în practică, extensia poate fi limitată la o rețea care combină computerele individuale ale sistemului. Dacă conectați multe mașini noi, lățime de bandă Rețeaua poate fi insuficientă.

5. Toleranță la defecțiune.Prezența mai multor computere și capacitatea de a duplica informația înseamnă că sistemele distribuite sunt rezistente la hardware-ul specific și erori de program. Cele mai distribuite sisteme în cazul unei erori, de regulă, pot menține cel puțin funcționalitatea parțială. Un eșec complet al sistemului apare numai în cazul erorilor de rețea.

6. Transparenţă.Această proprietate înseamnă că utilizatorii au acces complet transparent la resurse și, în același timp, sunt informații ascunse despre distribuirea resurselor în sistem. Cu toate acestea, în multe cazuri, cunoașterea specifică a organizației sistemului ajută utilizatorul să utilizeze mai bine resursele.

Desigur, sisteme distribuite inerente unui număr de deficiențe.

Complexitate.Sistemele distribuite sunt mai complicate centralizate. Este mult mai dificil de înțeles și de a evalua proprietățile sistemelor distribuite în general, precum și de testare a acestor sisteme. De exemplu, aici performanța sistemului nu depinde de viteza unui procesor, ci de la lățimea de bandă de rețea și viteza diferitelor procesoare. Prin mutarea resurselor dintr-o parte a sistemului la altul, puteți influența radical performanța sistemului.

Siguranță.De obicei, accesul la sistem poate fi obținut de la mai multe mașini diferite, mesajele din rețea pot fi vizualizate sau interceptare. Prin urmare, într-un sistem distribuit, este mult mai dificil să se mențină siguranța.

Controlabilitate.Sistemul poate consta din computere de tip diferite care pot fi instalate. diferite versiuni sisteme de operare. Erorile de pe o singură mașină se pot răspândi la alte mașini cu consecințe imprevizibile. Prin urmare, este nevoie de mult mai mult efort pentru a gestiona și menține sistemul în stare de lucru.

Imprevizibilitate.Așa cum este cunoscut tuturor utilizatorilor rețelei web, răspunsul sistemelor distribuite la anumite evenimente este imprevizibil și depinde de sarcina completă a sistemului, organizarea sa și de Încărcarea rețelei.. Deoarece toți acești parametri se pot schimba constant, timpul petrecut pe execuția cererii utilizatorului, unul sau altul poate diferi semnificativ.

La discutarea avantajelor și dezavantajelor sistemelor distribuite, se determină un număr probleme critice Proiectarea unor astfel de sisteme (Tabelul 9.1).

Tabelul 9.1. Probleme ale sistemelor distribuite de design

Problema Design. Descriere
Identificarea resurselor. Resursele din sistemul distribuit sunt situate pe diferite computere, astfel încât sistemul de nume de resurse ar trebui să fie considerat astfel încât utilizatorii să poată deschide cu ușurință resursele de care au nevoie și să le facă referire la acestea. Un exemplu este sistemul unificator al resurselor URL care definește adresele paginilor web. Fără un sistem de identificare de ieșire și universal, majoritatea resurselor vor fi inaccesibile utilizatorilor sistemului.
Comunicații Performanța universală a Internetului și implementarea eficientă a protocoalelor TCP / IP pe Internet pentru cele mai distribuite sisteme servesc drept exemplu de cel mult cale eficientă Organizarea interacțiunii între computere. Cu toate acestea, în cazul în care cerințele speciale sunt suprapuse pe performanță, fiabilitate și așa mai departe modalități alternative Comunicații de sistem
Calitatea serviciului de sistem Calitatea serviciului propus de sistem reflectă performanța, eficiența și fiabilitatea acestuia. Calitatea serviciului este influențată de o serie de factori: distribuția proceselor de sistem, alocarea resurselor, hardware-ul sistemului și de rețea și capacitățile de adaptare a sistemului
Arhitectura software-ului Arhitectura software-ului descrie distribuția funcțiilor sistemului de către componentele sistemului, precum și distribuția acestor componente în funcție de procesoare. Dacă este necesar pentru a menține calitate superioară Serviciul de sistem, alegerea arhitecturii corecte este un factor decisiv

Sarcina dezvoltatorilor de sisteme distribuite este de a proiecta software sau hardware pentru a oferi toate caracteristicile necesare ale sistemului distribuit. Și pentru aceasta trebuie să cunoașteți avantajele și dezavantajele diferitelor arhitecturi ale sistemelor distribuite. Două tipuri de arhitecturi legate de sistemele distribuite se disting aici.

1. Client de arhitectură / server.În acest model, sistemul poate fi reprezentat ca un set de servicii oferite serverelor clienților. În astfel de sisteme, serverele și clienții diferă semnificativ unul de celălalt.

2. Arhitectura obiectelor distribuite.În acest caz, nu există diferențe între servere și clienți, iar sistemul poate fi reprezentat ca un set de obiecte interacționale a căror locație nu are prea multă importanță. Nu există diferențe între furnizorul de servicii și utilizatorii acestora.

Într-un sistem distribuit, diferite componente ale sistemului pot fi implementate în diferite limbi de programare și rulați pe diferite tipuri de procesoare. Modele de date, prezentare de informații și protocoale de interacțiune - toate acestea nu vor fi neapărat același tip în sistemul distribuit. În consecință, pentru sistemele distribuite, este necesar un astfel de software care ar putea controla aceste părți dărăpănate și asigură interacțiunea și schimbul de date între ele. Software intermediarse aplică precis la această clasă. Acesta este situat în mijloc între diferite părți ale componentelor sistemului distribuit.

Sistemele distribuite sunt de obicei dezvoltate pe baza unei abordări orientate pe obiecte. Aceste sisteme sunt create din părți slab integrate, fiecare dintre acestea poate interacționa direct atât cu utilizatorul, cât și cu alte părți ale sistemului. Aceste părți sunt cât mai posibile pentru a răspunde la evenimente independente. Obiectele software construite pe baza unor astfel de principii sunt componente naturale ale sistemelor distribuite. Dacă nu sunteți familiarizat cu conceptul de obiecte.

Potrivit faimosului specialist în domeniul informaticii E. Tannbaum, nu există, în general, o definiție strictă a unui sistem distribuit. Unele dintre ceruri susțin că distribuția este așa sistem de calculÎn care funcționarea defectuoasă a computerului, existența căruia utilizatorii nici măcar nu suspectează, conduce la oprirea muncii lor. O parte semnificativă a sistemelor de calcul distribuite, din păcate, satisface această definiție, dar oficial se aplică numai sistemelor cu un punct unic de vulnerabilitate ( un singur punct de eșec).

Adesea, la determinarea sistemului distribuit, capul funcțiilor sale între mai multe computere este setat la capitol. Cu această abordare distribuită este orice sistem de calculÎn cazul în care prelucrarea datelor este împărțită între două și mai multe computere. Pe baza definiției E. Tannebaum, un sistem ușor distribuit poate fi definit ca un set de calculatoare independente conectate canale de comunicare, care, din punctul de vedere al utilizatorului, unele software arată oarecum.

Această abordare a definiției unui sistem distribuit are dezavantajele sale. De exemplu, toate utilizate într-un astfel de sistem distribuit software. Acesta ar putea funcționa pe un singur computer, totuși, din punctul de vedere al definiției de mai sus, un astfel de sistem nu va mai fi distribuit. Prin urmare, conceptul de sistem distribuit este probabil să se bazeze pe analiza software-ului de generare care formează astfel.

Ca bază pentru descrierea interacțiunii a două entități, luați în considerare modelul general de interacțiune client server. În care una dintre părți (client) inițiază partajarea datelor, trimiterea unei cereri către cealaltă parte (server). Serverul procesează cererea și, dacă este necesar, trimite răspunsul clientului (figura 1.1).


Smochin. 1.1.

Interacțiunea în cadrul clientului, serverul client poate fi atât sincron când clientul se așteaptă să finalizeze procesarea solicitării sale către server și asincronă, în care clientul trimite o cerere către server și continuă executarea acestuia fără a aștepta răspunsul serverului. Modelul clientului și serverului poate fi utilizat ca bază pentru descrierea diferitelor interacțiuni. Pentru acest curs, interacțiunea componentelor software-ului care formează sistemul distribuit este importantă.


Smochin. 1.2.

Luați în considerare o anumită aplicație tipică, care, în conformitate cu reprezentările moderne, poate fi împărțită în următoarele niveluri logice (figura 1.2): interfața cu utilizatorul (IP), logica aplicației (LP) și accesul la date (DD), care lucrează cu o bază de date (bază de date). Sistemul sistemului interacționează cu acesta prin intermediul interfeței cu utilizatorul, bazele de date stochează date care descriu zona de subiect a aplicației, iar nivelul logic al aplicației implementează toți algoritmii legați de subiect Subiect.

Deoarece în practică diferiți utilizatori ai sistemului, este de obicei interesat să acceseze aceleași date, cea mai ușoară diferență a funcțiilor unui astfel de sistem între mai multe computere va fi separată de niveluri logice ale cererii între o parte server a aplicației responsabile Pentru accesarea datelor și pentru mai multe computere cu piese de client, implementarea interfeței utilizatorului. Logica aplicației poate fi atribuită serverului, clienților sau împărțită între ele (figura 1.3).


Smochin. 1.3

Arhitectura aplicațiilor construite în conformitate cu acest principiu se numește un client de server sau cu două legături. În practică, astfel de sisteme nu se referă adesea la clasa distribuită, dar în mod oficial, aceștia pot fi considerați cei mai simpli reprezentanți ai sistemelor distribuite.

Dezvoltarea serverului de arhitectură client este o arhitectură de trei stele, în care interfața cu utilizatorul, logica aplicației și accesul la date sunt evidențiate în componente independente care pot funcționa pe computere independente (figura 1.4).


Smochin. 1.4.

Cererea utilizatorului din astfel de sisteme este procesată secvențial de partea clientului sistemului, serverul logic al aplicației și serverul de baze de date. Cu toate acestea, de obicei, sub sistemul distribuit, înțelegeți sistemele cu o arhitectură mai complexă decât trei stele.

AIS distribuită a devenit acum o realitate obișnuită. În numeroase AIS corporative sunt folosite bazele distribuite date. Metodele de distribuție a datelor și de gestionare a distribuției, abordări arhitecturale care asigură scalabilitatea sistemelor care implementează principiile arhitecturii multi-parte "client-server", precum și arhitectura stratului intermediar.

Arhitecturile mobile încep să fie aplicate. Acest lucru se aplică atât sistemelor de bază de date, cât și pentru aplicațiile web.

Abordarea în construcția sistemelor distribuite, bazată pe peer-to-peer, este renăscut, care, spre deosebire de arhitectura dominantă de "client-server", rolurile părților interacționale din rețea nu sunt fixate. Acestea sunt prescrise în funcție de situația din rețea, de la volumul de lucru al nodurilor sale.

În legătură cu dezvoltarea intensivă a tehnologiilor de comunicare, AIS mobil este în curs de dezvoltare activ. Dezvoltat mijloace tehnice și software-ul pentru a le crea. Datorită acestui lucru, au început să se dezvolte sisteme mobile Baze de date. Multe echipe științifice desfășoară studii privind caracteristicile specifice ale unor astfel de sisteme, creează o varietate de prototipuri. Un instrument important pentru dezvoltarea software-ului mobil prin tehnologia Java.

Creat standard de protocol de acces fără fir pe Web (Protocolul Application wireless - WAP), care este deja acceptat de unele modele. celulare. Pe baza WAP și limba XML. Consorțiul W3C a dezvoltat un limbaj Wml Wireless Interchange (Limba de marcare fără fir).

În dezvoltarea AIS, mai multă atenție a început să primească metadate. Iată pașii în două direcții - standardizarea prezentării metadatelor și asigurarea sprijinului lor în sistem.

AIS folosește o varietate de metode și mijloace de reprezentare a metadatelor (diferite tipuri de depozit de metadate). Lipsa de unificare în acest domeniu complică semnificativ soluția problemelor de mobilitate a aplicațiilor, reutilizați și integrarea resurselor informaționale și a tehnologiei informației, precum și reengineeringul AIS.

Pentru a depăși aceste dificultăți, dezvoltarea standardelor orientate spre metadate sunt în curs de desfășurare tehnologia de informație. În acest domeniu, există deja o serie de standarde internaționale, naționale și industriale care determină reprezentarea metadatelor și a schimbului de metadate în AIS. Unii dintre aceștia au dobândit deja statutul de standarde de facto. Restabilită aici prin referire numai la cele mai semnificative dintre ele.

Probabil, primul standard de facto din această categorie a fost limba codului de date Codasyl pentru baza de date a structurii rețelei. De la standardele ulterioare ar trebui să fie numită: SQL Query Language Standard pentru bazele relaționale Date care conțin definiția așa-numitului sistem de informații - un set de prezentări ale bazelor de date relaționale; Bazele de date ODMG obiecte componente standard care descriu interfețele de depozitare a schemelor de obiecte; Standardul internațional IRDS (sisteme de resurse de informații), care descrie sisteme de creare și susținere a resurselor de informare privind resursele de informații.

Apoi, trebuie să menționați CWM (metamodel de depozit comun) al consorțiului CWM (Common Warehouse Metamodel) (Common Warehouse Metamodel), pe baza OMG creat anterior pentru obiective mai largi (model de informare deschisă) Conordarea MDC (META Coaliția de date).

Noua platformă tehnologică nouă pentru web include, de asemenea, standarde de prezentare a metadatelor. Suportul metadatei este una dintre cele mai importante inovații web, schimbând radical tehnologiile de management pentru el resurse de informare. În timp ce în tehnologia bazei de date, suportul metadatei a fost inițial necesar, metadatele nu a fost acceptată în prima generație web.

Standardele de metadate web includ un subset al limbajului XML utilizat pentru a descrie structura logică a documentelor XML ale unui anumit tip. Această descriere se numește DTD (definiția tipului de document). În plus, platforma XML include standardul schemei XML, oferind oportunități mai dezvoltate pentru descrierea documentelor XML. Standardul RDF (Cadrul de definiție a resurselor) definește o limbă simplă de prezentare a cunoștințelor pentru a descrie conținutul documentelor XML. În cele din urmă, standardul OWL de lucru (Limba Web OnTology) definește limba de descriere a limbii formale, concepută pentru web-ul semantic.

Standardul Language UML (limba unificată de modelare), care oferă prezentarea instrumentelor de caz pentru analiza și designul obiectului vizual, este dezvoltată de consorțiul OMG. Această limbă este susținută în multe produse de cazare. Consorțiul OMG a creat, de asemenea, un standard XMI (Interchange metadatei XML) pentru a schimba metadatele între instrumentele de caz utilizând limba UML.

Kernel-ul Dublin este de asemenea menționat aici (Dublin Core - DC) - un set de elemente de metadate pentru a descrie conținutul documentelor de diverse natură. Acest standard a câștigat rapid popularitate și a constatat, în special, utilizarea pe scară largă pe Web (vezi pct. 3.3).

Lucrările privind dezvoltarea unor noi standarde noi pentru prezentarea metadatelor pentru AIS continuă. Informații mai detaliate privind standardele luate în considerare pot fi găsite în enciclopedia.

ÎN o exploatație mare Zeci de mii de utilizatori lucrează în filiale. În fiecare organizație, se stabilesc procesele lor de afaceri interne: coordonarea documentelor, emiterea de instrucțiuni etc. În același timp, unele procese depășesc limitele unei singure companii și afectează angajații celuilalt. De exemplu, liderul sediul central eliberează o instrucțiune către o organizație subsidiară sau o filială trimite un contract la aprobarea avocaților societății. Acest lucru necesită crearea unei arhitecturi complexe folosind mai multe sisteme.

În plus, în interiorul o companie Sunt utilizate mai multe sisteme pentru a rezolva sarcini diferite: Sistem ERP pentru operațiunile contabile, instalații separate de sisteme ECM pentru documentație organizațională și administrativă, pentru documentare de proiectare și estimare etc.

Asigurați-vă că interacțiunea diferitelor sisteme atât în \u200b\u200bexploatație, cât și la nivelul unei organizații va ajuta sistemul de director.

Directum oferă instrumente convenabile de construcție arhitectura distribuită gestionată Organizațiile și soluțiile următoarelor sarcini:

  • organizarea proceselor de afaceri transversale și sincronizarea datelor între mai multe sisteme ale unei societăți și în exploatație;
  • asigurarea accesului la date din diferite instalații de sisteme ECM. De exemplu, efectuați o căutare de documente pentru mai multe sisteme specializate: Cu documentație financiară, cu documentație de proiectare și estimare etc.
  • administrarea mai multor sisteme și servicii dintr-un singur punct de control și crearea unei infrastructuri confortabile IT;
  • distribuția convenabilă a dezvoltării în sistemele productive distribuite.

Componentele arhitecturii distribuite controlate

Mecanisme de interacțiune intersystem (DCI)

Mecanismele DCI sunt utilizate pentru a organiza procese de afaceri și pentru a sincroniza date între diferite sisteme din una sau mai multe organizații (deținere).


Soluția leagă procesele de afaceri locale existente în companii într-un singur proces transversal. Angajații și managerii lor lucrează cu o interfață deja cunoscută de sarcini, documente și directoare. În același timp, acțiunile angajaților sunt transparente la fiecare etapă: pot vedea textul corespondenței cu compania adiacent, pentru a vedea starea de coordonare a documentului cu organizația centrală etc.

DCI poate fi conectat la diferite instalații de Directum și alte clase de sisteme (ERP, CRM etc.). De regulă, instalațiile sunt împărțite în direcții de afaceri, ținând cont de plasarea teritorială sau legală a organizațiilor și alți factori.

Împreună cu DCI, componentele de dezvoltare sunt furnizate cu descriere detaliata și exemple de cod, datorită căruia dezvoltatorul poate crea un algoritm pentru procesele de afaceri ale organizației sale.

Mecanismele DCI vă permit să transmiteți cantități mari de date și să reziste la sarcini de vârf. În plus, ele oferă toleranță la defecțiuni în eșecul și protecția datelor transmise.

Căutarea federalizată

Folosind căutarea federală, puteți găsi imediat sarcinile sau documentele necesare în toate sistemele de directie separate. De exemplu, executați căutarea în același timp pe sistemul de lucru și pe sistem cu documente de arhivă.


Căutarea federalizată permite:

  • vedere prin intermediul clientului web, cursul de coordonare a documentului de ieșire dintr-o organizație subsidiară;
  • găsiți contracte încheiate cu o contrapartidă în toate filialele, de exemplu, pentru a pregăti negocierile. În acest caz, puteți merge la sarcinile în care sunt investite contractele;
  • verificați starea de execuție a comenzii trimise de la organizația capului la copil, sau documentele și sarcinile create pe acesta;
  • găsiți documente simultan în mai multe sisteme cu o specializare diferită, de exemplu, cu documente și acorduri organizaționale și administrative;
  • găsiți acreditări primare pentru audit sau reconciliere cu o contrapartidă imediat în sistemul de lucru și în sistem cu arhiva documentelor;
  • schimbați legăturile cu rezultatele căutării cu colegii.

Administratorul poate schimba căutările standard, Adăugați noi, precum și configurarea sistemelor care vor fi vizibile utilizatorului.

Directum Services Administration Center

Sistemul de Directum rezolvă numeroase sarcini diferite: interacțiunea angajaților, depozitarea documentelor etc. Acest lucru este posibil datorită funcționării fiabile a serviciilor sale. Și în companiile mari alocă instalații întregi ale sistemului de Directum cu setul de servicii în cadrul unei sarcini specifice, de exemplu, sub depozitarea documentelor de arhivă. Instalațiile și serviciile se desfășoară pe mai multe servere. Această infrastructură trebuie administrată.

Centrul de administrare a serviciilor Directum este un punct de intrare unic de administrator pentru configurarea, monitorizarea și gestionarea serviciilor și a sistemelor de conducere. Centrul este un site web cu instrumentele de gestionare a serverului de sesiune, fluxul de lucru, serviciul de manipulare a evenimentelor, serviciul de depozitare a fișierelor, serviciile de intrare și transformare, căutarea federalizată și ajutorul web.


Configurația vizuală convenabilă a sistemelor și serviciilor la distanță simplifică funcționarea administratorului. El nu trebuie să meargă la fiecare server și să facă manual modificări în fișierele de configurare.

Serviciile de oprire și porniți într-un singur clic. Starea serviciului este afișată instantaneu pe ecran.

Lista de setări poate fi completată și filtrată. În mod implicit, site-ul afișează numai setările de bază. În același timp, pentru toate setările puteți vedea sfaturi cu recomandări de umplere.

Sistemul de Directum organizează eficient activitatea organizațiilor distribuite și oferă utilizatorilor un schimb de documente transparente, sarcini și înregistrări ale cărților de referință.

Fiecare componentă a arhitecturii distribuite controlate poate fi utilizată separat, dar în agregat va aduce un efect de afaceri mai mare organizației dvs.

În prezent, toate ICS dezvoltate în scopuri comerciale au o arhitectură distribuită care implică utilizarea rețelelor globale și / sau locale.

Din punct de vedere istoric, arhitectura serverului de fișiere a fost larg răspândită, deoarece logica sa este simplă și tradusă într-o astfel de arhitectură deja în funcțiune. Acesta a fost apoi transformat în arhitectura server-client, care poate fi interpretată ca fiind continuarea sa logică. Sisteme moderneFolosit în rețeaua globală de internet se referă în principal la arhitectura obiectelor distribuite (vezi fig. III.15 )


IP poate fi reprezentat constând din următoarele componente (fig. III-16)

III.03.2. O aplicație de server de fișiere.

Aceasta este o arhitectură distribuită istoric (figura III-17). Acesta este situat extrem de simplu: numai datele sunt disponibile pe server și orice altceva aparține mașinii client. În măsura în care rețele locale Destul de ieftin, și datorită faptului că, cu o astfel de arhitectură aplicată în mod autonom, o astfel de arhitectură este adesea folosită destul de des. Se poate spune că aceasta este opțiunea arhitecturii client-server, în care numai fișierele de date sunt pe server. Diferitele computere personale interacționează numai prin mijloace depozitare generală Prin urmare, datele scrise într-un singur computer sunt cele mai ușor de adaptat la o astfel de arhitectură.


Pro:

Profectuați arhitectura serverului de fișiere:

Ușurința organizației;

Nu contrazică cerințele necesare pentru baza de date pentru a menține integritatea și fiabilitatea.

Supraîncărcare în rețea;

Imprevizibilitatea reacției la cerere.

Aceste deficiențe sunt explicate prin faptul că orice solicitare adresată de baza de date conduce la pomparea rețelei la cantități semnificative de informații. De exemplu, pentru eșantionarea din tabelele uneia sau mai multor rânduri, întregul tabel este pompat într-o mașină client și deja există DBMS produce o probă. Traficul semnificativ de rețea este în mod special plin de organizație acces de la distanță la baza de date

III.03.2. B Aplicații client-server.

În acest caz, are loc distribuirea responsabilităților între server și client. În funcție de modul în care acestea sunt împărțite distinse tolstoy. și client slab.


În model " client subțire"Toate aplicațiile de locuri de muncă și gestionarea datelor sunt efectuate pe server. Interfața cu utilizatorul în aceste sisteme "Mută" pe calculator personal, și Sam. aplicație software Funcțiile serverului, adică Efectuează toate procesele de aplicare și gestionează datele. Modelul unui client subțire poate fi, de asemenea, implementat în cazul în care clienții sunt computere sau stații de lucru. Dispozitive de rețea Porniți browserul de internet și interfața de utilizator implementată în interiorul sistemului.

Principal dezavantaj Modele ale unui client subțire - o încărcare și o rețea mare de server. Toate calculele sunt executate și serverul, iar acest lucru poate duce la un trafic semnificativ de rețea între client și server. ÎN calculatoare moderne suficientă putere de calcul, dar practic nu este utilizată în modelul / clientul subțire al băncii

Dimpotrivă, modelul unui client gros utilizează puterea de calcul a mașinilor locale: aplicația însăși este plasată pe computerul client. Un exemplu de arhitectură de acest tip poate servi ca un sistem ATM în care un ATM este un client și un computer server, care servește bazei de date de decontare a clienților

III.03.2. C arhitectura client-server-server de două și trei niveluri.

Toate arhitecturile discutate mai sus sunt cu două niveluri. Ele diferă în funcție de nivelul clientului și la nivelul serverului. Strict vorbind, IP constă din trei niveluri logice:

· Nivelul utilizatorului;

· Nivelul de aplicare:

· Nivelul de date.

Prin urmare, într-un model pe două niveluri în care sunt implicate doar două nivele, există o problemă cu scalabilitatea și performanța, dacă modelul este selectat un client subțire sau probleme asociate cu controlul sistemului, dacă se ia un client gros. Puteți evita aceste probleme dacă utilizați un model format din trei nivele, în care două servere (Fig. III-21).

Server de date.

De fapt, serverul de aplicații și serverul de date pot fi amplasate pe aceeași mașină, dar nu se pot îndeplini funcțiile celuilalt. Modelul cu trei niveluri este bun deoarece este împărțit logic prin execuția aplicației și gestionării datelor.

Mese III-5 Aplicație tipuri diferite arhitecturi

Arhitectură aplicație
Client subțire cu două niveluri 1 sisteme moștenite în care nu este recomandabil să se separe execuția aplicației și gestionării datelor. 2 aplicații cu calcule intensive, dar volume de gestionare a datelor mici. 3 aplicații cu cantități mari de date, dar printr-o cantitate mică de calcule.
Client gros cu două niveluri 1 Aplicații în care utilizatorul are nevoie de prelucrare intensivă a datelor, adică vizualizarea datelor. 2 Aplicații cu un set relativ permanent de funcții de utilizator aplicate pe un control al sistemului bine definit.
Server client cu trei niveluri 1 Aplicații mari cu celule și mii de clienți 2 aplicații care se schimbă adesea și datele și metodele de prelucrare a acestora. 3 aplicații în care se efectuează integrarea datelor din mai multe surse.

Un astfel de model este potrivit pentru multe tipuri de aplicații, însă limitează dezvoltatorii IP să decidă unde să ofere servicii pentru a oferi sprijin pentru scalabilitate, pentru a dezvolta mijloace pentru conectarea noilor clienți.

III.03.2. D arhitectura obiectelor distribuite.

O abordare mai generală oferă arhitectura obiectelor distribuite, ale căror componente sunt obiecte. Acestea oferă un set de servicii prin interfețele lor. Alte obiecte trimise cereri, diferențele dintre client și server nu sunt făcute. Obiectele pot fi amplasate pe diferite computere din rețea și interacționați utilizând software-ul intermediar prin analogie cu un autobuz de sistem care vă permite să conectați diverse dispozitive și să mențineți interacțiunea între dispozitivele hardware.

Manager ODBC Driver Manager
Driverul 1.
Driver K.
Bd 1.
BD K.
Lucrați cu SQL.

Arhitectura ODBC include componente:

1. Anexă (de exemplu, IP). Ea efectuează sarcini: solicită conexiunea la sursa de date, trimite solicitări SQL - sursă de date, descrie zona de stocare și formatul pentru solicitările SQL, erorile proceselor și notifică utilizatorului despre ele, execută sau rotiți tranzacția, solicită conectarea la date sursă.

2. Manager de dispozitive. Acesta încarcă driverele la cerere, oferă o singură interfață tuturor aplicațiilor, iar interfața Administrator ODBC este aceeași și independentă de aplicația DBD va interacționa. Managerul de driver furnizat de Microsoft este o bibliotecă DLL descărcată dinamic.

3. Șoferul depinde de DBMS. Driverul ODBC este dinamic biblioteca dll.care implementează funcțiile ODBC și interacționează cu sursa de date. Șoferul este un program care procesează o cerere la un fel de funcție specific pentru DBMS (poate modifica cererile în conformitate cu DBMS) și returnează rezultatul aplicației. Fiecare DBMS care sprijină tehnologia ODBC trebuie să ofere șoferilor dezvoltatorilor șoferului pentru acest DBMS.

4. Sursa de date conține informații de gestionare specificate de utilizator, informații despre sursa de date și sunt utilizate pentru a accesa un anumit DBMS. Aceasta utilizează sistemul de operare și platforma de rețea.

Modelul dinamic

Acest model presupune multe aspecte, pentru a reprezenta care în limba UML este utilizat cel puțin 5 diagrame, vezi PP. 2.04.2- 2.04.5.

Luați în considerare aspectul managementului. Modelul de management completează modelele structurale.

Indiferent de modul în care structura sistemului nu a fost descrisă, acesta constă dintr-un set de unități structurale (funcții sau obiecte). Astfel încât acestea să funcționeze în ansamblu, trebuie să fie gestionate și nu există informații de gestionare în diagramele statice. În modelele de control, fluxul de control este proiectat între sisteme.

Puteți selecta două tipuri de bază de control în sistemele software.

1. Gestionarea centralizată.

2. Management bazat pe evenimente.

Controlul centralizat poate fi:

· Ierarhic - conform principiului "returnării apelurilor" (este cel mai adesea programe de instruire)

· Modelul dispeceruluicare este utilizat pentru sistemele paralele.

ÎN modelul dispecerului Se presupune că una dintre componentele sistemului este un dispecer. Controlează atât lansarea, cât și finalizarea sistemelor și coordonarea proceselor rămase ale sistemului. Procesele pot funcționa în paralel unul cu celălalt. Procesul este înțeles ca program, subsistem sau procedură care funcționează în acest moment. Acest model poate fi utilizat și în sistemele seriale în care programul de control determină subsisteme individuale, în funcție de anumite variabile de stare (prin intermediul operatorului caz.).

Management de evenimente Presums absența oricărui subprogram responsabil pentru management. Controlul este realizat de evenimente externe: apăsând tasta mouse-ului, apăsând tastatura, schimbați citirile senzorilor, modificările citirilor cronometrului IT.D Fiecare eveniment extern este codificat și plasat într-o coadă de evenimente. Dacă se furnizează răspunsul la un eveniment din coadă, atunci se numește procedura (subrutină), care reacționează la acest eveniment. Evenimentele care răspund la sistem pot apărea fie în alte subsisteme, fie în mediul extern al sistemului.

Un exemplu de astfel de control este organizarea de aplicații în Windows.

Toate modelele structurale descrise anterior pot fi implementate utilizând managementul sau managementul centralizat pe baza evenimentelor.

Interfața cu utilizatorul

La elaborarea unui model de interfață, nu numai sarcinile software-ului proiectat ar trebui luate în considerare, ci și particularitățile creierului asociate cu percepția informațiilor.

III.03.4. O caracteristici psihofizice ale unei persoane legate de percepția și prelucrarea informațiilor.

O parte a creierului, care poate fi numită în mod convențional procesorul de percepție, în mod constant, fără participarea conștiinței, reciclează informațiile primite, o compară cu experiența trecută și o pune în depozit.

Când imaginea vizuală atrage atenția noastră, atunci informațiile care vă interesează să ajungă la memorie pe termen scurt. Dacă atenția noastră nu a fost atrasă, atunci informațiile din depozit dispare, înlocuind următoarele porțiuni.

În orice moment, concentrarea atenției poate fi rezolvată la un moment dat, astfel încât, dacă este nevoie să urmăriți simultan mai multe situații, focalizarea se mișcă de la un obiect urmăritor la altul. În același timp, atenția este dispersată, iar unele detalii pot fi ratate. Este esențial ca percepția să se bazeze în mare parte pe motivația.

Când schimbați cadrul creierului pentru un timp este blocat: Masterat o imagine nouă, subliniind cele mai esențiale detalii. Aceasta înseamnă că, dacă este necesar un răspuns rapid de utilizator, nu merită schimbat imaginile.

Memoria pe termen scurt este locul cel mai restrâns în sistemul de procesare a informațiilor umane. Containerul său este de 7 ± 2 obiect independent. Informațiile nedorite sunt stocate în ea nu mai mult de 30 de secunde. Pentru a nu uita informații importante pentru noi, o repetăm, de obicei, la noi înșine, actualizând informațiile în memoria pe termen scurt. Astfel, la proiectarea interfețelor, ar trebui să se țină cont de faptul că majoritatea covârșitoare este dificilă, de exemplu, de a-și aminti și introduce numere care conțin mai mult de cinci cifre pe un alt ecran.

În ciuda faptului că timpul de capacitate și depozitare a memoriei pe termen lung sunt nelimitate, accesul la informații este foarte dificil. Mecanismul de extragere a informațiilor din memoria pe termen lung este asociativ. Pentru a îmbunătăți memorarea informațiilor, este legată de datele pe care memoria le este deja stocată și ușurează obținerea. Deoarece accesul la memoria pe termen lung este dificil, este recomandabil să nu se bazeze pe faptul că utilizatorul își va aminti informațiile, dar că utilizatorul o recunoaște.

III.03.4. B Criterii majore de evaluare a interfeței

Numeroase sondaje și sondaje efectuate de firmele de dezvoltare software de vârf au arătat că utilizatorii apreciază interfața:

1) ușurința dezvoltării și memorizării - evaluați în mod specific momentul dezvoltării și duratei economisirii informațiilor și memoriei;

2) rata de realizare a rezultatelor atunci când se utilizează un sistem, care este determinat de numărul de comenzi introduse sau selectabile și setări;

3) Satisfacție subiectivă în timpul funcționării sistemului (ușurința muncii, oboselii etc.).

Și pentru utilizatorii de profesioniști care lucrează în mod constant cu același pachet, al doilea și al treilea criterii sunt destul de repede copleșit și pentru utilizatorii non-profesioniști care lucrează cu software. periodic și efectuând relativ sarcini necomplicate - prima și a treia.

Din acest punct de vedere astăzi cele mai bune caracteristici Pentru utilizatorii profesioniști au interfețe cu navigație gratuită și pentru utilizatorii non-profesioniști - interfețe directe de manipulare. De mult timp a fost observat că atunci când efectuați o operațiune de copiere a copiilor, cu alte lucruri fiind egale, majoritatea profesioniștilor folosesc shell-urile de tip și non-profesionale - "Draging obiecte".

III.03.4. C Tipuri de interfețe de utilizator

Distinge următoarele tipuri de interfețe de utilizator:

Primitiv

Cu navigație liberă

Manipulare directă.

Interfață primitivă

Primitiv Se numește o interfață care organizează interacțiunea utilizatorului și este utilizată în modul consola. Singura abatere de la procesul secvențial, care este asigurată de date este de a organiza un ciclu pentru procesarea mai multor seturi de date.

Interfața de meniu.

Spre deosebire de interfața primitivă, permite utilizatorului să aleagă o operație dintr-o listă specială desfășurată de program. Aceste interfețe implică implementarea unui set de scenarii de lucru, succesiunea acțiunilor în care sunt determinate de utilizatori. Arborele meniului presupune că căutarea unui meniu mai mare de două niveluri este o sarcină destul de complexă.