Arhitectura distribuită 1
Într-o arhitectură distribuită, componentele sunt prezentate într-o varietate de platforme, dar unele componente pot interacționa printr-o rețea de comunicare între ele, pentru a atinge un anumit scop sau scopuri.
Conceptul de arhitectură distribuită
Un sistem distribuit poate fi demonstrată folosind o arhitectură client-server, care formează baza pentru arhitecturi multi-nivel; În mod alternativ arhitecturi broker, cum ar fi CORBA și arhitectura orientată spre servicii (SOA). În această arhitectură, de prelucrare a datelor nu se limitează la o singură mașină, și se extinde la mai multe calculatoare independente.
Există mai multe tehnologii de cadre pentru arhitecturi distribuite, inclusiv .NET, J2EE, CORBA, .NET servicii, servicii de web AXIS Java, precum si serviciile de Globus Grid. Liantul este o infrastructură sprijină în mod adecvat dezvoltarea și punerea în aplicare a aplicațiilor distribuite. Acest lucru oferă un tampon între aplicații și rețea.
Ea stă în mijlocul sistemului, și gestionează și sprijină diferitele componente ale unui sistem distribuit. Exemplele includ monitor de procesare a tranzacțiilor, convertoare de date și controlere de comunicare, etc.
Middleware ca o infrastructură pentru un sistem distribuit -
![1 Arhitectura (Distributed Architecture) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x240_wtynxgrl8boww3vx2yr5.webp)
Baza de arhitectură distribuită
arhitectură distribuită Bazat este transparența, fiabilitatea și disponibilitatea.
Tabelul de mai jos prezintă diferite forme de transparență într-un sistem distribuit -
Se ascunde modul în care accesul la resurse și diferențele în platforma de date.
Hides, în cazul în care se află resursele.
Se ascunde diverse tehnologii, cum ar fi limbajul de programare și sistemul de operare de la utilizator.
Ascunde resursele care pot fi mutate în altă locație, care sunt în funcțiune.
Ascunde resursele care pot fi copiate în mai multe locații.
Ascunde resursele care pot fi partajate cu alți utilizatori.
Se ascunde eșecul și recuperarea resurselor din partea utilizatorului.
Hides dacă o resursă (software) în memorie sau pe disc.
avantaje
Acesta are următoarele avantaje -
partajarea resurselor - partajarea resurselor hardware și software.
Deschiderea - Flexibilitatea de a folosi hardware și software de la diferiți furnizori.
Paralelismul - procesare paralelă pentru performanțe îmbunătățite.
Scalabilitate - Creșterea capacității datorită adăugării de noi resurse.
Eroare de toleranță - capacitatea de a continua activitatea, după eșecul a avut loc.
deficiențe
Dezavantajele sale sunt -
Complexitatea - Acestea sunt mai complexe decât sistemele centralizate.
Siguranța - sunt mai sensibile la atacul extern.
Manageability - mai mult efort. necesare pentru gestionarea sistemului.
Imprevizibilitatea - răspunsuri imprevizibile în funcție de organizarea sistemului și a rețelei de sarcină.
Sistemul centralizat împotriva unui sistem distribuit
Arhitectura client-server
Arhitectura client-server este cea mai comuna arhitectura de sistem distribuit care se descompune sistemul în două subsisteme majore sau procese logice -
Clientul - Acesta este primul proces. care emite o solicitare de al doilea proces, și anume server.
Server - Acesta este al doilea proces. care primește cererea, execută-l și trimite răspunsul la client.
În această arhitectură, aplicația este modelat ca un set de servicii pentru aceste servere furnizate și clienții multiple care utilizează aceste servicii. Serverele nu au nevoie să știe despre clienți, dar clienții trebuie să cunoască identitatea serverului.
![1 arhitectură distribuită (distribuit) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x298_mpnrd6742jpo3205wj3a.webp)
Arhitectura client-server poate fi clasificat în două modele bazate pe funcționalitatea de client -
Modelul client subțire
Modelul thin-client, toate aplicațiile de procesare a datelor și de control efectuate de către server. Clientul pur și simplu responsabil pentru rularea GUI software-ul. Acesta este utilizat atunci când sistemele moștenite sunt transferate arhitecturile client-server, în care sistemul tradițional acționează ca un server de sine stătător, cu o interfață grafică implementată pe client.
Cu toate acestea, principalul dezavantaj este că pune o sarcină mare de procesare pe server și rețea.
Fat / Fat-client model de
În modelul, clientul gros, serverul este responsabil de gestionarea datelor. Software-ul pe client implementează logica aplicației și interacțiunea utilizatorului cu sistemul. Acesta este cel mai potrivit pentru noile sisteme client-server în cazul în care capacitățile client ale sistemului sunt cunoscute în prealabil.
Cu toate acestea, este mult mai complex decât un model de client subțire în special pentru managementul, ca toți clienții ar trebui să aibă aceeași copie / versiune de aplicație.
![1 Arhitectura (Distributed Architecture) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x208_rpn7mezrh9vcmbyfbqyr.webp)
avantaje
Separarea sarcinilor, cum ar fi prezentarea interfeței cu utilizatorul și logica de procesare de afaceri.
Refolosirea componente ale serverului și potențialul de paralelism
Acesta simplifică proiectarea și dezvoltarea de aplicații distribuite
Acest lucru îl face ușor de a transfera sau de a integra aplicațiile existente într-un mediu distribuit.
Acesta permite, de asemenea, utilizarea eficientă a resurselor, atunci când un număr mare de clienții care accesează serverul de înaltă performanță.
deficiențe
- Lipsa infrastructurii pentru a face față cerințelor eterogenă schimbare.
- complicații de securitate.
- disponibilitatea serverului Limited și fiabilitate.
- testabilitatea Limited și scalabilitate.
- clienții Fat cu prezentarea și logica de afaceri împreună.
Layered Architecture (arhitectura n-tier)
Arhitectura Layered este o arhitectură client-server, în care funcționează, cum ar fi prezentările, procesarea aplicației și controlul datelor sunt separate fizic. Împărțind cerere la niveluri dezvoltatorii pot modifica sau adăuga un anumit strat, mai degrabă decât reciclarea întregii aplicații. Acesta oferă un model care permite dezvoltatorilor să creeze aplicații flexibile, reutilizabile.
![Arhitectura distribuită 1 (resurse ascunse care) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x196_aaaqi6dpyxwu80gsoke8.webp)
Cea mai comună utilizare a unei arhitecturi stratificat este o arhitectură pe trei niveluri. Arhitectura cu trei nivele de obicei este format din straturi de prezentare, nivelul de aplicare, precum și nivelul de stocare a datelor și pot fi efectuate pe un procesor separat.
strat de prezentare
Stratul de prezentare este nivelul superior al cererii cu care utilizatorii pot accesa în mod direct, cum ar fi o pagină web sau un sistem de operare GUI (interfață grafică de utilizator). Funcția principală a acestui strat este de a transpune obiectivele și rezultatele la ceva pe care utilizatorul le poate înțelege. Acesta interacționează cu alte niveluri, astfel încât acesta pune rezultatele în browser-ul nivelului / client și toate celelalte niveluri ale rețelei.
Stratul de aplicație (logica de afaceri, nivel logic sau Mid)
Stratul de aplicare coordonează aplicația tratează comanda, ia decizii logice, evaluări și calcule desfasoara activitate. Acesta controlează funcționalitatea aplicației prin efectuarea de prelucrare detaliate. Se mișcă, de asemenea, date și procese între cele două straturi din jur.
strat de date
În acest strat, informațiile sunt stocate și extrase dintr-o bază de date sau un fișier. Aceste informații sunt apoi transmise înapoi pentru procesare și apoi înapoi la utilizator. Acesta include mecanisme pentru persistența datelor (servere de baze de date, fișiere partajate etc.) și furnizează API (Application Programming Interface), în stratul de aplicație, care oferă o metodă de control de conservare a datelor.
![1 arhitectură distribuită (distribuit) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x240_45awfm186fsuo9ug1twi.webp)
performanță mai bună decât o abordare client subțire și mai ușor de gestionat decât o abordare client grăsime.
Acesta îmbunătățește și scalabilitate posibilitatea de reutilizare - ca creștere a cererilor, pot fi adăugate servere suplimentare.
Aceasta susține multi-threading, și reduce traficul în rețea.
Acesta oferă fiabilitate și flexibilitate operațională
- Testability nesatisfăcătoare din cauza lipsei de instrumente de testare.
- fiabilitate mai importantă și disponibilitatea serverului.
Broker Stilul arhitectural
Broker Stilul arhitectural al arhitecturii este middleware utilizat în calcul distribuit de coordonare și de a permite comunicarea între clienți autentificate și servere. Aici, obiectul de conectare este printr-un sistem de software middleware, numit obiect Cerere Broker (autobuz software).
CORBA (Common Object Cerere Broker Architecture) este un bun exemplu de punerea în aplicare a arhitecturii brokerului.
Broker Componente stil arhitectural
Componentele broker de stil arhitectural, sunt luate în considerare în cap următor -
Brokerul este responsabil pentru medierea cereri de servicii, localizați un server adecvat, trimite cereri și trimite răspunsurile înapoi la client. De asemenea, stochează informații despre funcționarea înregistrare a serverelor, inclusiv caracteristicile și serviciile acestora, precum și informații de locație.
În plus, acesta oferă API-interfețe pentru clienții pentru a interoga, serverele răspunde, înregistrarea și anularea înregistrării componentelor de server, mesagerie și servere de căutare.
Stub-uri sunt generate în timpul compilării statice, și apoi implementat pe partea de client, care este folosit ca un proxy pentru client. Pe partea de client proxy acționează ca intermediar între client și brokerul și oferă mai multă transparență între ele și client; obiect la distanță apare ca un local.
Serverul proxy ascunde IPC (comunicare interprocese) la nivel de protocol, maresali valorile parametrilor și ne-mareșali rezultatele de la server.
Scheletul unei interfețe de serviciu compilator și apoi implementat pe partea de server, care este folosit ca un proxy pentru server. Pe partea de server proxy încapsulează specifice sistemului de funcțiile de rețea de nivel scăzut și oferă un nivel ridicat API interfață ca intermediar între server și brokerul.
În plus, primește solicitări, despachetează cereri unmarshals argumente metoda, apelează serviciul și mareșali corespunzătoare rezultatului înainte de a trimite înapoi la client.
Un pod se poate conecta două rețele diferite, bazate pe diferite protocoale de comunicare. El mediază diferite brokeri, inclusiv DCOM. control de la distanță NET, precum și brokeri Java-CORBA.
Bridges este o componentă opțională, care ascunde detaliile de implementare atunci când doi brokeri pentru a interacționa și de a primi cereri și parametrii într-un format și a le converti în alt format.
![Arhitectura distribuită 1 (resurse care pot fi) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x240_6b9q41fvakefjv00srzs.webp)
Broker de punere în aplicare în CORBA
CORBA este un standard internațional pentru obiect Cerere Broker - este un middleware pentru controlul comunicării între obiecte distribuite definite de OMG (Object Management Group).
![1 arhitectură distribuită (distribuit) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x220_85qk4x1kpcqnu76c39h8.webp)
arhitecturii orientate spre servicii (SOA)
arhitecturii orientate spre servicii este un design client / server care sprijină abordarea orientată spre business IT, în care cererea este formată din (de asemenea, cunoscut sub numele de servicii pentru clienți sau solicitanții) de servicii de software și consumatori de servicii software.
![1 arhitectură distribuită (distribuit) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x227_lqfz6j5dsx0q2rpnxoyw.webp)
Caracteristici SOA
Serviciul Oriented Architecture oferă următoarele caracteristici -
Distribuit de implementare - Enterprise de protecție a datelor și de afaceri - logica. ca liber, combinate, vom găsi o structurate, bazate pe standarde, granularitate, unități apatride de servicii de funcționalitate numite.
Interoperabilitate - posibilitatea de a cotei de reutilizare și servicii comune în întreaga rețea. indiferent de protocoalele care stau la baza sau a tehnologiei de punere în aplicare.
Reutilizarea - Selectați un furnizor de servicii, precum și accesul la resursele existente sub formă de servicii.
SOA Funcționare
Figura următoare arată modul în care funcționează acest SOA -
![1 Arhitectura (Distributed Architecture) Arhitectura distribuită 1](https://webp.images-on-off.com/7/280/434x200_s87ib6wz1d8dp932qwpr.webp)
Loose orientarea către servicii de cuplare oferă o mai mare flexibilitate pentru întreprinderi de a utiliza toate resursele disponibile ale serviciului, indiferent de platforma și limitările tehnologice.
Fiecare componentă de serviciu este independent de celelalte servicii în legătură cu funcțiile de serviciu apatride.
Punerea în aplicare de serviciu nu afectează utilizarea serviciului, atâta timp cât interfața expusă nu se schimbă.
Clientul sau orice serviciu poate avea acces la alte servicii, indiferent de implementarea platformei, tehnologie, furnizori, sau limba lor.
bunuri și servicii Refolosirea clienților de servicii trebuie să știe doar interfețele lor deschise, compoziția serviciului.
Dezvoltarea de aplicații de business bazate pe SOA sunt mult mai eficiente în termeni de timp și costuri.
Crește scalabilitate și oferă o conexiune standard, între sisteme.
Utilizarea eficientă și efectivă a „Servicii de afaceri“.
Integrarea devine mult mai ușor și consistență internă îmbunătățită.
complexitate Rezumat pentru dezvoltatori și de a îmbunătăți procesele de afaceri mai aproape de utilizatorii finali.