Documente Academic
Documente Profesional
Documente Cultură
Curs 7
Arhitecturi distribuite
Obiective curs:
Obiectivul 1: explicarea avantajelor si dezavantajelor diferitelor tipuri de
arhitecturi distribuite
Obiectivul 2: prezentarea arhitecturilor de tip client-server si cu obiecte
distribuite
Obiectivul 3: descrierea mecanismelor de tip broker de cerere de obiecte si a
principiilor ce definesc standardele CORBA
Obiectivul 4: prezentarea celor mai recente modele de calcul distribuit
materializate prin arhitecturi peer-to-peer si orientate pe servicii
Subiecte tratate:
A hit t i multiprocesor
Arhitecturi lti
Arhitecturi client-server
Arhitecturi cu obiecte distribuite
Calcul inter-organizational
Page 1
<Ingineria programarii I>
Sisteme distribuite <Gabriela Varvara>
In cea mai mare parte sistemele informatice de dimensiune mare sunt, la ora
actuala, distribuite
Drept consecinta, procesarea informatiei a trecut de la stadiul implicarii unei
singure masini la conlucrarea calculatoarelor dintr-o retea
Ingineria dezvoltarii de aplicatii distribuite capata o pondere insemnata pentru
sistemele de calcul industriale
Page 2
<Ingineria programarii I>
Dezavantajele sistemelor distribuite <Gabriela Varvara>
Page 3
<Ingineria programarii I>
Aplicatiile distribuite si componenta middleware <Gabriela Varvara>
Page 4
<Ingineria programarii I>
Exemplu – sistem multi-procesor de control a traficului <Gabriela Varvara>
10
Page 5
<Ingineria programarii I>
Exemplu de arhitectura client-server <Gabriela Varvara>
11
12
Page 6
<Ingineria programarii I>
Arhitectura pe aplicatie stratificata <Gabriela Varvara>
Nivelul de prezentare
prezinta rezultatele procesarii si colecteaza
datele de intrare
Nivelul de procesare al aplicatiei
livreaza elementele de functionalitate
ale aplicatiei
Nivelul de management date
gestiunea bazelor de date
13
Modelul “fat-client”
fat-client – servul are doar responsabilitatea gestiunii datelor.
datelor Softul
de pe partea client implementeaza logica aplicatiei si interactiunea cu
utilizatorul
14
Page 7
<Ingineria programarii I>
Clienti thin(“subtiri”) si clienti fat (“grasi”) - II <Gabriela Varvara>
Thin client:
Folosit in situatiile in care sistemele mostenite suporta un proces de
migrare catre arhitecturi client-server
Sistemul mostenit actioneaza ca un server cu drepturi depline si cu o
interfata cu utilizatorul implementata pe partea client
Are ca dezavantaj supraincarcarea serverului si a retelei
Fat client:
Cea mai mare parte a procesarii este delegata catre masina client
Se preteaza pentru sistemele in retea cu masini client puternice
Are un grad de complexitate crescut in raportul cu modelul thin mai
ales in ceea ce vizeaza partea de management. Noile versiuni ale
p
aplicatiei vor trebui instalate pe
p toti clientii.
15
16
Page 8
<Ingineria programarii I>
Arhitecturi client-server in 3 straturi (3-tier C/S architecture) <Gabriela Varvara>
17
18
Page 9
<Ingineria programarii I>
Utilizarea arhitecturilor client-server <Gabriela Varvara>
19
Pentru acestea nu exista nici o distinctie intre partea client si partea server.
Fiecare entitate ce suporta procesul de distributie este un obiect ce ofera servicii altor obiecte si
primeste servicii de la alte obiecte
Comunicarea intre obiecte este realizata in partea de middleware a sistemului numita broker de
cerere obiect.
Aceste arhitecturi au un grad de complexitate crescut in comparatie cu arhitecturile client-server.
20
Page 10
<Ingineria programarii I>
Avantajele arhitecturii cu obiecte distribuite <Gabriela Varvara>
21
Modelul logic al unui sistem data mining nu este unul de furnizare de servicii in
care sa existe servicii distincte de management de date.
Modelul permite cresterea numarului de baze de date accesat de catre sistem
fara afectarea acestuia.
Modelul permite extragerea unor noi tipuri de relatii prin adaugarea de noi
obiecte integratoare.
22
Page 11
<Ingineria programarii I>
CORBA <Gabriela Varvara>
Este un standard international pentru ORB (Object Request Broker) –
componenta middleware de management a comunicatiilor intre obiecte
distribuite.
Aceasta componenta este organizata pe 2 nivele:
Nivelul logic – permite obiectelor rezidente pe masini diferite sa schimbe
date si sa contoleze informatia;;
Nivelul componenta – ofera baza pentru dezvoltarea de componente
compatibile ce respecta standardele CORBA
Structura unei aplicatii CORBA
Obiecte ale aplicatiei
Obiecte pentru un domeniu
(definite de Object Management
Group)
Servicii CORBA fundamentale
(ex. servicii de directoare, de management
al securitatii, etc.)
Facilitati orizontale ce sunt aceleasi
pentru mai multe aplicatii (ex. Interfete utilizator)
23
24
Page 12
<Ingineria programarii I>
Obiecte CORBA <Gabriela Varvara>
25
26
Page 13
<Ingineria programarii I>
Comunicare inter ORB <Gabriela Varvara>
27
28
Page 14
<Ingineria programarii I>
Calcul inter-organizational <Gabriela Varvara>
29
30
Page 15
<Ingineria programarii I>
Arhitecturi p2p <Gabriela Varvara>
Artitectura descentralizata
Arhitectura semi-centralizata
31
S-au dezvoltat in jurul notiunii de servicii furnizate din exterior ( servicii Web)
Un serviciu Web este reprezentat printr-o metoda standard de a face
reutilizabila o componenta disponibila si accesibila pe Web
Serviciu generic:
Un act sau o performanta oferita de catre o parte altei parti. Cu toate ca un
proces poate fi legat de un produs fizic, performanta este, in mod esential,
un element intangibil si nu este un rezultat al proprietatii asupra vreunui
factor de productie
Drept consecinta, furnizarea de servicii este independenta de aplicatiile ce
folosesc serviciul
32
Page 16
<Ingineria programarii I>
Servicii Web <Gabriela Varvara>
33
34
Page 17
Scenariu de organizare arhitecturala bazata pe servicii
<Ingineria programarii I>
Sistem automotiv <Gabriela Varvara>
35
36
Page 18