Title: Paskirstytu sistemu architekturos
1Paskirstytu sistemu architekturos
- Architekturinis programines irangos, kuri vykdoma
daugiau nei viename procesoriuje, projektavimas
2Ižanga
- (Tikslai, temos, paskirstytos sistemos, sistemu
tipai, paskirstytu sistemu privalumai, trukumai,
skirtumas tarp kliento serverio ir paskirstytu
objektu architekturos, tarpine programine iranga)
3Tikslai
- Paaiškinti paskirstytu sistemu architekturos
privalumus bei trukumus - Paaiškinti skirtumus tarp kliento-serverio ir
paskirstyto objekto architekturos - Išnagrineti objekto užklausos tarpininkus ir
pagrindiniu CORBA standartu principus - Paaiškinti lygiaverciu ryšiu (peer-to-peer) ir i
paslaugas orientuotas architekturas kaip naujus
paskirstytu skaiciavimu modelius.
4Nagrinejamos temos
- Daugiaprocesorines architekturos
- Kliento-serverio architektura
- Paskirstytu objektu architektura
- Skaiciavimai organizacijoje
5Paskirstytos sistemos
- Iš esmes, dabar visos dideles kompiuterines
sistemos yra paskirstytos sistemos - Informacijos apdorojimas yra paskirstytas keletui
kompiuteriu, o ne vienai mašinai - Paskirstytos programines irangos inžinerija dabar
yra labai svarbi
6Sistemos tipai
- Personalines sistemos, kurios nera paskirstytos
ir yra suprojektuotos veikti personaliniame
kompiuteryje ar darbo stotyje - Iterptines sistemos, kurios veikia viename
procesoriuje ar integruotoje procesoriu grupeje - Paskirstytos sistemos, kur sistemos programine
iranga veikia laisvai integruotoje grupeje
bendradarbiaujanciu procesoriu, sujungtu tinklu
7Paskirstytu sistemu privalumai
- Resursu dalijimasis
- Atvirumas
- Lygiagretiškumas
- Išpleciamumas
- Klaidos toleravimas
- Skaidrumas
8Paskirstytu sistemu trukumai
- Sudetingumas
- Saugumas
- Valdymo problemos
- Nenuspejamumas
9Paskirstytu sistemu architektura
- Kliento-serverio architektura
- Paskirstyti servisai yra iškvieciami klientu.
Serveriai, kurie tiekia servisus yra traktuojami
skirtingai nei klientai, kurie naudojasi
servisais. - Paskirstytu objektu architektura
- Nera skirtumo tarp klientu ir serveriu. Bet
kuris objektas sistemoje gali tiekti ir naudotis
servisus iš kitu objektu.
10Tarpine programine iranga (Middleware)
- Programine iranga kuri valdo ir palaiko
skirtingus paskirstytos sistemos elementus. Iš
esmes, ji sedi sistemos viduryje ir
tarpininkauja. - Tarpines programines priemones yra paprastai
standartizuotos (off-the-shelf ), o ne specialiai
sudaryta programine iranga. - GRID tarpine programine iranga
11Nagrinejamos temos
- Daugiaprocesorines architekturos (principai,
pavyzdis) - Kliento-serverio architektura
- Paskirstytu objektu architektura
- Skaiciavimai organizacijoje
12Daugiaprocesorines architekturos
- Paprasciausios paskirstytos sistemos modelis
- Sistema sudaryta iš daugelio procesu, kurie gali
buti ( bet nebutinai ) vykdomi skirtinguose
procesoriuose - Tai daugelio dideliu realaus laiko sistemu
architekturinis modelis - Proceso paskirstymas procesoriui gali buti iš
anksto sutvarkytas arba gali buti kontroliuojamas
dispecerio
13Daugiaprocesorine eismo kontroles sistema
14Nagrinejamos temos
- Daugiaprocesorines architekturos
- Kliento-serverio architektura (sluoksniuota
architektura, lengvi ir sunkus klientai, triju
lygiu architektura, architekturos naudojimas) - Paskirstytu objektu architektura
- Skaiciavimai organizacijoje
15Kliento-serverio architektura
- Taikomoji programa yra sumodeliuota kaip serveriu
teikiamu paslaugu aibe ir jas naudojanciu
klientu aibe. - Klientai žino apie serverius, bet serveriai
nebutinai žino apie klientus - Klientai ir serveriai yra loginiai procesai
- Procesu paskirstymas procesoriams nebutinai yra
11
16Kliento-serverio sistema
Serverio procesas
Kliento procesas
17Kompiuteriai kliento/serverio tinkle
18Taikomuju programu sluoksniuota architektura
- Atvaizdavimo sluoksnis
- skirtas sistemos vartotoju skaiciavimo rezultatu
atvaizdavimui ir vartotojo duomenu ivedimui - Taikomosios programos vykdymo sluoksnis
- Skirtas programos specifiniam funkcionalumui,
pvz., banko sistemoje, tokios banko funkcijos
kaip saskaitos atidarymas, saskaitos uždarymas ir
t.t. - Duomenu valdymo sluoksnis
- Skirtas sistemos duomenu baziu valdymui
19Taikymu sluoksniai
20Lengvi (thin) ir sunkus ( fat) klientai
- Lengvo kliento modelis
- Lengvo kliento modelyje visu programu vykdymas ir
duomenu valdymas yra vykdomas serveryje. Klientas
yra atsakingas tik už atvaizdavimo programines
irangos veikima. - Sunkaus kliento modelis
- Šitame modelyje serveris yra atsakingas tik už
duomenu valdyma. Kliento programine iranga
igyvendina taikymus ir saveika su sistemos
vartotoju.
21Lengvi ir sunkus klientai
22Lengvo kliento modelis
- Naudojamas, kai liktines sistemos yra perkeliamos
i kliento serverio architektura - Liktine sistema veikia kaip serveris su grafine
sasaja, kuri yra realizuota kliente - Pagrindinis trukumas yra tas, kad labai
apkraunamas serveris ir tinklas
23Sunkaus kliento modelis
- Daugiau skaiciavimu yra pavesta klientui, kai
programos vykdymas atliekamas lokaliai - Tinkamiausias naujoms kliento/serverio
sistemoms, kur kliento sistemos galimybes yra
žinomos iš anksto - Sudetingesnis nei lengvo kliento modelis, ypac
valdyme. Naujos programos versijos turi buti
idiegtos visuose klientuose
24Kliento-serverio architektura banko automatu
sistemoje
25Triju lygiu architektura
- Triju lygiu architekturoje, kiekvienas iš
programos architekturos sluoksniu gali buti
vykdomas atskirame procesoriuje. - Leidžia pasiekti didesni našuma, nei lengvo
kliento metodas ir yra lengviau valdomas nei
sunkaus kliento metodas. - Labiau pleciama architektura padidejus
poreikiui, gali buti prijungiami papildomi
serveriai
26Triju lygiu kliento/serverio architekturos schema
27Internetine bankine sistema
28Kliento/serverio architekturu naudojimas
29Nagrinejamos temos
- Daugiaprocesorines architekturos
- Kliento-serverio architektura
- Paskirstytu objektu architektura (paskirstytu
objektu architekturos privalumai, naudojimas,
CORBA, struktura, standartai, užklausu
tarpininkas, vidinis, išorinis bendravimas, CORBA
paslaugos) - Skaiciavimai organizacijoje
30Paskirstytu objektu architektura
- Paskirstytu objektu architekturoje tarp klientu
ir serveriu nera skirtumu - Kiekviena paskirstoma esybe yra objektas, kuris
tiekia servisus kitiems objektams ir priima
servisus iš kitu objektu - Objektai bendrauja per tarpines programines
priemones, vadinamas objekto užklausos tarpininku
(programines irangos magistrale) - Taciau tai sudetingiau projektuoti nei K/S
sistemas
31Paskirstytu objektu architektura
32Paskirstytu objektu architekturos privalumai
- Leidžia sistemos projektuotojui atideti sprendima
kur ir kaip paslaugos turetu buti teikiamos - Tai labai atvira sistemos architektura, kuri
leidžia prijungti naujus resursus pagal
reikalavimus - Sistema yra lanksti ir išpleciama
- Imanoma dinamiškai perkonfiguruoti sistema su
objektais migruojanciais per tinkla pagal
reikalavimus
33Paskirstytu objektu architekturos naudojimas
- Kaip loginio modelio, kuris leidžia konstruoti ir
organizuoti sistema. Šiuo atveju, jus galvojate
kaip pateikti programos funkcijas tiktai
išreiškiant paslaugomis ir paslaugu
kombinacijomis - Kaip lankstu metoda kliento-serverio sistemos
idiegimui. Loginis sistemos modelis yra
kliento-serverio modelis, bet ir klientai ir
serveriai yra realizuojami kaip paskirstyti
objektai, bendraujantys per programines irangos
magistrale.
34CORBA
- CORBA yra tarptautinio standarto objekto užklausu
tarpininkas tarpine programa, skirta bendravimo
tarp paskirstytu objektu valdymui - Galimi keli CORBA realizavimai
- Alternatyvi Microsoft priemone skirta objekto
prašymu tarpininkavimui yra DCOM - CORBA apibreže Objektu Valdymo Grupe (OMG)
35Taikymo struktura
- Taikomieji objektai
- Standartiniai objektai, apibrežti OMG,
specifinems sritims, pvz. draudimas - Fundamentalus CORBA servisai, tokie kaip katalogu
ir apsaugos valdymas - Horizontalios (t.y. tinkancios visiems taikymams)
galimybes, tokios kaip vartotojo sasajos
priemones
36CORBA taikomosios programos struktura
Taikomosios programos
Horizontalios CORBA galimybes
Srities galimybes
Objektu užklausos tarpininkas (ORB)
CORBA servisai
37CORBA standartai
- Objektinis modelis, skirtas taikomuju programu
objektams - CORBA objektas yra busenu apjungimas
(encapsulation) su gerai apibrežta, neutralia
kalboms sasaja, nusakyta IDL kalba (sasajos
apibrežimo kalba) - Objekto užklausu tarpininkas (Object Request
Broker ORB) valdo prašymus skirtus objektu
servisams - Aibe bendru objektu servisu, naudojamu daugelyje
paskirstytu programu - Aibe bendru komponentu esanciu virš šiu servisu
38CORBA objektai
- Iš principo, CORBA objektai yra palyginami su C
ir Java objektais - Jie privalo tureti skirtingus sasajos
apibrežimus, išreiškiamus naudojant bendra kalba
(IDL) panašia i C - Yra IDL atvaizdavimas kitomis programavimo
kalbomis (C, Java ir t.t.) - Todel objektai, aprašyti skirtingomis
programavimo kalbomis, gali tarpusavyje
bendrauti
39Objektu užklausu tarpininkas (ORB)
- ORB valdo objektu bendravima. Jis žino visus
sistemos objektus ir ju sasajas - Naudojant ORB, kvieciantis objektas pririša IDL
kelma (stub), nustatanti kvieciamo objekto
sasaja - Rezultatas gaunamas kreipiantis i ORB, kuris
kviecia reikalaujama objekta per paskelbta IDL
šablona (skeleton) ir susieja sasaja su serviso
realizavimu
40ORB pagristas objektu bendravimas
o
1
o
2
S
(
o
1
)
S
(
o
2
)
I
D
L
I
D
L
kelmasstub
šablonas skeleton
Objektu užklausos tarpininkas (ORB)
41Išorinis-ORB bendravimas
- ORB dažniausiai nera atskiros programos, o yra
objektu rinkinys bibliotekoje, kuris susiejamas
su kuriama programa - ORB valdo bendravima tarp objektu naudojamu tame
paciame mechanizme - Gali buti prieinami keletas ORB ir kiekvienas
kompiuteris paskirstytoje sistemoje tures savo
ORB - Išorinio ORB bendravimai yra naudojami
paskirstytu objektu kvietimams
42Išorinis-ORB bendravimas
o
4
o
3
o
1
o
2
S
(
o
3
)
S
(
o
4
)
S
(
o
1
)
S
(
o
2
)
I
D
L
I
D
L
I
D
L
I
D
L
Objektu užklausos tarpininkas (ORB)
Objektu užklausos tarpininkas (ORB)
Tinklas
43CORBA paslaugos
- Ivardinimo ir apsikeitimo paslaugos
- Jie leidžia atrasti objektus ir pranešti kitiems
objektams tinkle - Pranešimu paslaugos
- Leidžia objektams pranešti kitiems objektams, kad
ivyko ivykis - Tranzakciju paslaugos
- Remia atskiras tranzakcijas ir grižima atgal,
esant klaidai
44Nagrinejamos temos
- Daugiaprocesorines architekturos
- Kliento-serverio architektura
- Paskirstytu objektu architektura
- Skaiciavimai organizacijoje (Intranetas,
lygiaverciai ryšiai, modeliai, internetines
paslaugos, ju privalumai, automobiline sistema)
45Skaiciavimai intranete (organizacijoje)
- Del geresnes apsaugos bei operatyvumo daug
paskirstytu skaiciavimu realizuota imones lygyje. - Taikomi vietiniai standartai, valdymas ir
procesai. - Taciau paskirstytu skaiciavimu modeliai niekada
nebuvo projektuojami vidiniams organizaciju
skaiciavimams.
46Lygiaverciu ryšiu architekturos
- Lygiaverciu ryšiu (p2p) sistemos yra
decentralizuotos sistemos, kur skaiciavimai gali
buti vykdomi bet kuriame tinklo mazge. - Tokia sistema skirta efektyviai išnaudoti
daugelio tinklo kompiuteriu skaiciavimu resursus.
- Dauguma p2p sistemu buvo personalines sistemos,
bet ši technologija vis labiau plinta ir verslo
sistemose.
47Paslaugomis paremtos architekturos
- Parodo išoreje teikiamas paslaugas (web
paslaugos). - Web paslauga leidžia pasinaudoti internete
pasiekiamais komponentais - Mokesciu pildymo paslauga vartotojus remia
pildant mokesciu formas ir jas pateikiant
mokesciu inspekcijai.
48Web paslaugos
49Internetines paslaugos
- Tiekimo nepriklausomumas
- Viešas informavimas apie teikiamas paslaugas.
- Nauju paslaugu formavimas komponavimo budu
- Galimybe sumoketi už paslaugas
- Centralizuota paslaugos priežiura ir pritaikymas
- Teikiamos paslaugos bet kokioje platformoje ir
parašytos bet kuria programavimo kalba.
50Paslaugu pavyzdys
- Automobilio informacine sistema pateikia
informacija vairuotojui apie ora, keliu
apkrautuma vietine informacija ir pan.
Informacija pateikiama specialiais signalais arba
per radija. - Mašina turi grafine pozicionavimo sistema ir
pagal tai teikiamos skirtingos informacines
paslaugos. Informacija gali buti pateikta
vairuotojo nurodyta kalba.
51Automobiline sistema
52Esminiai aspektai
- Paskirstytos sistemos remia resursu dalinima,
atviruma, lygiagretiškuma, išpleciamuma, klaidu
tolerancija ir permatomuma - Kliento-serverio architektura apima serveriu
teikiamus servisus programoms, veikiancioms pas
klientus - Vartotojo sasajos programine iranga visada veikia
pas klienta ir duomenys valdomi serveryje.
Taikomosios programos gali buti pas klienta arba
serveryje - Paskirstytu objektu architekturoje nera skirtumo
tarp klientu ir serveriu
53Esminiai aspektai
- Paskirstytu objektu sistemos reikalauja tarpiniu
programiniu priemoniu objektu bendravimui - CORBA standartai yra tarpiniu programiniu
priemoniu aibe, kuri remia paskirstytu objektu
architekturas - Lygiaverciu ryšiu architekturos yra
decentralizuotos kur nera skirtumo tarp klientu
ir serveriu. - Paslaugomis paremtos sistemos leidžia sujungti
paslaugas teikiamas skirtingu teikeju.
54Esminiu aspektu raktiniai žodžiai
- (paskirstytu sistemu privalumai, kliento-serverio
architektura, vartotojo sasajos ir taikomuju
programu ir duomenu paskirstymas, paskirstytu
objektu architektura, tarpine programine iranga,
CORBA standartai, lygiaverciai ryšiai,
paslaugomis paremtos sistemos)