Paskirstytų sistemų architektūros

53
ommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide Paskirstytų sistemų architektūros Architektūrinis programinės įrangos, kuri vykdoma daugiau nei viename procesoriuje, projektavimas

description

Paskirstytų sistemų architektūros. Architektūrinis programinės įrangos, kuri vykdoma daugiau nei viename procesoriuje, projektavimas. Tikslai. Paaiškinti architektūrinį projektavimą Paaiškinti paskirstytų sistemų architektūros privalumus bei trūkumus - PowerPoint PPT Presentation

Transcript of Paskirstytų sistemų architektūros

Page 1: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 1

Paskirstytų sistemų architektūros

Architektūrinis programinės įrangos, kuri vykdoma daugiau nei viename procesoriuje, projektavimas

Page 2: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 2

Tikslai Paaiškinti architektūrinį projektavimą Paaiškinti paskirstytų sistemų architektūros

privalumus bei trūkumus Išnagrinėti skirtingus požiūrius į kliento-serverio

sistemų kūrimą Paaiškinti skirtumus tarp kliento-serverio ir

paskirstyto objekto architektūros Išnagrinėti objekto užklausos tarpininkus ir

pagrindinių CORBA standartų principus

Page 3: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 3

Nagrinėjamos temos Architektūrinis projektavimas Paskirstytos sistemos Daugiaprocesorinės architektūros Kliento-serverio architektūra Paskirstytų objektų architektūra CORBA

Page 4: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 4

Architektūrinis projektavimas

Ankstyva sistemos projektavimo proceso stadija

Atspindi ryšį tarp specifikacijos ir projektavimo proceso

Dažnai vykdoma lygiagrečiai su kai kuriais specifikacijos veiksmais

Apima didesnės sistemos dalies komponentų identifikavimą ir jų bendravimą.

Page 5: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 5

Aiškios architektūros privalumai

Suinteresuotų asmenų bendravimas• architektūra gali būti panaudota kaip sistema

suinteresuotų asmenų (stakeholders) komunikavimo centras

Sistemos analizė• reiškia, kad galima atlikti sistemos nefunkcinių

reikalavimų analizę

Didelės apimties pakartotinis panaudojimas• architektūra gali būti panaudota daugeliui sitemų

Page 6: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 6

Architektūrinio projektavimo procesas

Sistemos struktūrizavimas• sistema yra suskaidoma į keletą pagrindinių

posistemių ir yra nustatomas komunikavimas tarp šių posistemių

Valdymo modeliavimas• nustatomas ryšių valdymo modelis tarp skirtingų

sistemos dalių

Modulinė dekompozicija• nustatytos posistemės yra skaidomos į modelius.

Page 7: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 7

Sistemos architektūra Programinės įrangos architektas yra atsakingas už

sistemos architektūrinį modelį, valdymo modelį ir posistemės dekomponavimo modelį.

Retai didelės sistemos paklūsta vienam architektūriniam modeliui.

Sistemos dekompozicijos modeliai turi saugyklų modelius, kliento-serverių modelius ir abstrakčius mašinų modelius.

Valdymo modeliai būna centralizuoto valdymo ir įvykiais paremto valdymo.

Page 8: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 8

Nagrinėjamos temos Architektūrinis projektavimas Paskirstytos sistemos Daugiaprocesorinės architektūros Kliento-serverio architektūra Paskirstytų objektų architektūra CORBA

Page 9: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 9

Paskirstytos sistemos Iš esmės, dabar visos didelės kompiuterinės

sistemos yra paskirstytos sistemos Informacijos apdorojimas yra paskirstytas keletui

kompiuterių, o ne vienai mašinai Paskirstytos programinės įrangos inžinerija dabar

yra labai svarbi

Page 10: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 10

Sistemos tipai Personalinės sistemos, kurios nėra paskirstytos ir

yra suprojektuotos veikti personaliniame kompiuteryje ar darbo stotyje

Įterptinės sistemos, kurios veikia viename procesoriuje ar integruotoje procesorių grupėje

Paskirstytos sistemos, kur sistemos programinė įranga veikia laisvai integruotoje grupėje bendradarbiaujančių procesorių, sujungtų tinklu

Page 11: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 11

Paskirstytos sistemos charakteristikos

Resursų dalijimasis Atvirumas Lygiagretiškumas Išplečiamumas Klaidos toleravimas Skaidrumas

Page 12: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 12

Paskirstytų sistemų trūkumai Sudėtingumas Saugumas Valdymo problemos Nenuspėjamumas

Page 13: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 13

Resurso identifikacija Resursai paskirstytoje sistemoje yra paskirstyti tarp skirtingų kompiuterių ir įvardinimo schema turi būti sukurta tokia, kad vartotojai galėtų surasti ir

kreiptis į jiems reikalingus resursus. Tokios įvardinimo schemos pavyzdys yra URL (uniform resource locator-pastovus resurso lokatorius), kuris nau- dojamas identifikuoti www puslapius. Jei nebus naudojama prasminga ir visapusiškai suprantama identifikacijos schema, tai daugelis šitų resursų bus neprieinami sistemos vartotojams.

Bendravimai Universalus Interneto prieinamumas ir Interneto TCP/IP bendravimo protokolų efektyvus realizavimas reiškia, kad daugeliui paskirstytų sistemų tai yra efekty-

viausias būdas kompiuteriams bendrauti. Nežiūrint to, kur yra specifiniai reikala- vimai našumui patikimumui ir kt. gali būti panaudoti alternatyvūs požiūriai į bendravimą.

Serviso kokybė Sistemos pasiūlyta serviso kokybė atspindi jo našumą, parengtumą ir patikimumą. Tai yra veikiama daugelio faktorių, tokių kaip procesorių paskirstymas procesams, resursų paskirstymas sistemoje, tinklo ir sistemos techninės įrangos ir sistemos prisitaikymo.

Programinės įrangos Programinės įrangos architektūra nagrinėja kaip programos funkcionališkumas yraarchitektūra paskirstytas keletui loginių komponenčių ir kaip šitos komponentės yra paskirstytos tarp procesorių. Teisingos programos architektūros pasirinkimas yra esminis dalykas norint pasiekti trokštamą serviso kokybę.

Paskirstytos sistemos

Page 14: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 14

Paskirstytų sistemų architektūra Kliento-serverio architektūra

• Paskirstyti servisai yra iškviečiami klientų. Serveriai, kurie tiekia servisus yra traktuojami skirtingai nei klientai, kurie naudojasi servisais.

Paskirstytų objektų architektūra• Nėra skirtumo tarp klientų ir serverių. Bet kuris objektas

sistemoje gali tiekti ir naudotis servisus iš kitų objektų.

Page 15: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 15

Tarpinė programinė įranga Programinė įranga kuri valdo ir palaiko skirtingus

paskirstytos sistemos elementus. Iš esmės, ji “sėdi” sistemos viduryje ir tarpininkauja.

Tarpinės programinės priemonės yra paprastai standartizuotos (off-the-shelf ), o ne specialiai sudaryta programinė įranga.

Pavyzdžiai:• tranzakcijas vykdantys monitoriai

• duomenų konvertoriai

• komunikavimo kontroleriai

Page 16: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 16

Nagrinėjamos temos Architektūrinis projektavimas Paskirstytos sistemos Daugiaprocesorinės architektūros Kliento-serverio architektūra Paskirstytų objektų architektūra CORBA

Page 17: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 17

Daugiaprocesorinės architektūros

Paprasčiausios paskirstytos sistemos modelis Sistema sudaryta iš daugelio procesų, kurie gali

būti ( bet nebūtinai ) vykdomi skirtinguose procesoriuose

Tai daugelio didelių realaus laiko sistemų architektūrinis modelis

Proceso paskirstymas procesoriui gali būti iš anksto sutvarkytas arba gali būti kontroliuojamas dispečerio

Page 18: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 18

Daugiaprocesorinė eismo kontrolės sistema

Daviklio procesorius

Eismo davikliai ir kameros

Operatoriaus konsolės

Šviesoforai

Šviesoforų kontrolės procesorius

Šviesos kontrolės procesas

Vaizdavimo procesas

Daviklių kontrolės procesas

Eismo procesorius

Page 19: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 19

Nagrinėjamos temos Architektūrinis projektavimas Paskirstytos sistemos Daugiaprocesorinės architektūros Kliento-serverio architektūra Paskirstytų objektų architektūra CORBA

Page 20: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 20

Kliento-serverio architektūra Taikomoji programa yra sumodeliuota kaip

serverių teikiamų paslaugų aibė ir jas naudojančių klientų aibė.

Klientai žino apie serverius, bet serveriai nebūtinai žino apie klientus

Klientai ir serveriai yra loginiai procesai Procesų paskirstymas procesoriams nebūtinai yra

1:1

Page 21: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 21

Kliento-serverio sistema

s1

s2 s3

s4c1

c2 c3 c4

c5

c6c7 c8

c9

c10

c11

c12

Serverio procesas

Kliento procesas

Page 22: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 22

Kompiuteriai kliento/serverio tinkle

SC1SC2

CC1 CC2 CC3

CC5 CC6CC4

s1, s2 s3, s4

c5, c6, c7

c1 c2 c3, c4

c8, c9 c10, c11, c12

Tinklas Serverio kompiuteris

Kliento kompiuteris

Page 23: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 23

Taikomųjų programų sluoksniuota architektūra

Atvaizdavimo sluoksnis» skirtas sistemos vartotojų skaičiavimo rezultatų atvaizdavimui ir

vartotojo duomenų įvedimui

Taikomosios programos vykdymo sluoksnis» Skirtas programos specifiniam funkcionalumui, pvz., banko

sistemoje, tokios banko funkcijos kaip sąskaitos atidarymas, sąskaitos uždarymas ir t.t.

Duomenų valdymo sluoksnis• Skirtas sistemos duomenų bazių valdymui

Page 24: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 24

Taikymų sluoksniai

Page 25: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 25

Lengvi (thin) ir sunkūs ( fat) klientai

Lengvo kliento modelis» Lengvo kliento modelyje visų programų vykdymas ir duomenų

valdymas yra vykdomas serveryje. Klientas yra atsakingas tik už atvaizdavimo programinės įrangos veikimą.

Sunkaus kliento modelis» Šitame modelyje serveris yra atsakingas tik už duomenų valdymą.

Kliento programinė įranga įgyvendina taikymus ir sąveiką su sistemos vartotoju.

Page 26: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 26

Lengvi ir sunkūs klientai

K lien ta s

K lien ta s

S erv e ris

S e rv e ris

L en g v o k lien tom o d elis

S u n k a u s k lien tom o d elis

A tv a izd av im as

Taik o m o sio s p ro g ram o s v y k d y m as

D u o m en ųv a ld y m as

Ta ik o m o sio s p ro g ram o s v y k d y m as

A tv a izd av im as

D u o m en ųv a ld y m as

Page 27: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 27

Lengvo kliento modelis Naudojamas, kai liktinės sistemos yra

perkeliamos į kliento serverio architektūrą» Liktinė sistema veikia kaip serveris su grafine sąsaja, kuri yra

realizuota kliente

Pagrindinis trūkumas yra tas, kad labai apkraunamas serveris ir tinklas

Page 28: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 28

Sunkaus kliento modelis Daugiau skaičiavimų yra pavesta klientui, kai

programos vykdymas atliekamas lokaliai Tinkamiausias naujoms kliento/serverio

sistemoms, kur kliento sistemos galimybės yra žinomos iš anksto

Sudėtingesnis nei lengvo kliento modelis, ypač valdyme. Naujos programos versijos turi būti įdiegtos visuose klientuose

Page 29: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 29

Kliento-serverio architektūra banko automatų sistemoje

ATM

ATM

ATM

ATM

S ąsk a ito s se rv e ris

D u o m en ųap d o ro jim om o n ito riu s

K lien tosąsk a ito s

d u o m en y s

Page 30: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 30

Trijų lygių architektūra Trijų lygių architektūroje, kiekvienas iš programos

architektūros sluoksnių gali būti vykdomas atskirame procesoriuje.

Leidžia pasiekti didesnį našumą, nei lengvo kliento metodas ir yra lengviau valdomas nei sunkaus kliento metodas.

Labiau plečiama architektūra – padidėjus poreikiui, gali būti prijungiami papildomi serveriai

Page 31: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 31

Trijų lygių kliento/serverio architektūros schema

A tv a iz d av im a s

K lien ta s

S erv e ris S e rv e ris

Ta ik o m o sio s p ro g ra m o s v y k d y m a s

D u o m en ųv a ld y m a s

Page 32: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 32

Internetinė bankinė sistema

SQ L

K lien tas

K lien tas

K lien tas

K lien tas

H T T P s sa jaą

S Q L u žk lau saT in k lo se rv e ris D u o m en ų b azė

S ąsk a itų p as lau g ųte ik im as

K lien to są sk a ito s

d u o m en y s

Page 33: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 33

Kliento/serverio architektūrų naudojimas

Architektūra Taikymas Dviejų lygių K/S architektūra su lengvais klientais

Liktinės sistemos, kuriose atskirti taikomuosius skaičiavimus ir duomenų valdymą yra nepraktiška. Tai intensyvių skaičiavimų taikymai, tokių kaip kompiliatoriai be arba su labai mažu duomenų valdymu (duomenys atmintyje). Taip pat užklausų ir paieškų taikymai beveik be taikomųjų skaičiavimų.

Dviejų lygių K/S architektūra su sunkiais klientais

Taikymai, kur taikomieji skaičiavimai atliekami kliente, užbaigtų sistemų pagalba (COTS), kaip Microsoft Exel. Taip pat taikymai, kur reikia intensyvių skaičiavimų duomenų apdorojimui, kaip duomenų avaizdavimui arba kur yra stabilios, gerai apibrėžtos galinio vartotojo funkcijos.

Trijų lygių arba daugelio lygių K/S architektūra

Didelės apimties taikymai su šimtais ar tūkstančiais klientų , kai nepastovūs duomenų bei taikymų skaičiavimai, kai integruojami duomenys iš daugelio šaltinių.

Page 34: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 34

Nagrinėjamos temos Architektūrinis projektavimas Paskirstytos sistemos Daugiaprocesorinės architektūros Kliento-serverio architektūra Paskirstytų objektų architektūra CORBA

Page 35: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 35

Paskirstytų objektų architektūra Paskirstytų objektų architektūroje tarp klientų ir serverių

nėra skirtumų Kiekviena paskirstoma esybė yra objektas, kuris tiekia

servisus kitiems objektams ir priima servisus iš kitų objektų

Objektai bendrauja per tarpines programines priemones, vadinamas objekto užklausos tarpininku (programinės įrangos magistralė)

Tačiau tai sudėtingiau projektuoti nei K/S sistemas

Page 36: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 36

Paskirstytų objektų architektūra o 1 o 2 o 3 o 4

o 5 o 6

S (o 1 ) S (o 2 ) S (o 3 ) S (o 4 )

S (o 5 ) S (o 6 )

P ro g ram in ės įran g o s m ag is tra lė

Page 37: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 37

Paskirstytų objektų architektūros privalumai

Leidžia sistemos projektuotojui atidėti sprendimą kur ir kaip servisai turėtų būti teikiami

Tai labai atvira sistemos architektūra, kuri leidžia prijungti naujus resursus pagal reikalavimus

Sistema yra lanksti ir išplečiama Įmanoma dinamiškai perkonfigūruoti sistemą su

objektais migruojančiais per tinklą pagal reikalavimus

Page 38: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 38

Paskirstytų objektų architektūros naudojimas

Kaip loginio modelio, kuris leidžia konstruoti ir organizuoti sistemą. Šiuo atveju, jūs galvojate kaip pateikti programos funkcijas tiktai išreiškiant servisais ir servisų kombinacijomis

Kaip lankstų metodą kliento-serverio sistemos įdiegimui. Loginis sistemos modelis yra kliento-serverio modelis, bet ir klientai ir serveriai yra realizuojami kaip paskirstyti objektai, bendraujantys per programinės įrangos magistralę.

Page 39: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 39

Duomenų išgavimo sistemaD u o m en ų b a zė 1

D u o m en ų b a zė 2

D u o m en ų b a zė 3

P ran e š im ų g en .In teg ra to riu s 1

In teg ra to riu s 2

Va iz d o k ū rim as

A tv a izd a v im a s

Page 40: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 40

Duomenų išgavimo sistema

Loginis sistemos modelis nėra tik vienas servisų teikimo būdų, kur būdingi įvairūs duomenų valdymo servisai

Ji leidžia didinti nagrinėjamų duomenų bazių kiekį nesugriaunant sistemos

Ji leidžia naujų tipų ryšius išgauti papildant naujais integruojančiais objektais

Page 41: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 41

Nagrinėjamos temos Architektūrinis projektavimas Paskirstytos sistemos Daugiaprocesorinės architektūros Kliento-serverio architektūra Paskirstytų objektų architektūra CORBA

Page 42: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 42

CORBA CORBA yra tarptautinio standarto objekto

užklausų tarpininkas – tarpinė programa, skirta bendravimo tarp paskirstytų objektų valdymui

Galimi keli CORBA realizavimai Alternatyvi Microsoft priemonė skirta objekto

prašymų tarpininkavimui yra DCOM CORBA apibrėžė Objektų Valdymo Grupė

(OMG)

Page 43: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 43

Taikymo struktūra Taikomieji objektai Standartiniai objektai, apibrėžti OMG,

specifinėms sritims, pvz. draudimas Fundamentalūs CORBA servisai, tokie kaip

katalogų ir apsaugos valdymas Horizontalios (t.y. tinkančios visiems taikymams)

galimybės, tokios kaip vartotojo sąsajos priemonės

Page 44: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 44

CORBA taikomosios programos struktūra

Srities galimybės Horizontalios CORBA galimybės

Objektų užklausos tarpininkas (ORB)

CORBA servisai

Taikomosios programos

Page 45: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 45

CORBA standartai Objektinis modelis, skirtas taikomųjų programų

objektams• CORBA objektas yra būsenų apjungimas (encapsulation) su gerai

apibrėžta, neutralia kalboms sąsaja, nusakyta IDL kalba (sąsajos apibrėžimo kalba)

Objekto užklausų tarpininkas (Object Request Broker – ORB) valdo prašymus skirtus objektų servisams

Aibė bendrų objektų servisų, naudojamų daugelyje paskirstytų programų

Aibė bendrų komponentų esančių virš šių servisų

Page 46: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 46

CORBA objektai Iš principo, CORBA objektai yra palyginami su C++ ir

Java objektais Jie privalo turėti skirtingus sąsajos apibrėžimus,

išreiškiamus naudojant bendrą kalbą (IDL) panašią į C++ Yra IDL atvaizdavimas kitomis programavimo kalbomis

(C++, Java ir t.t.) Todėl objektai, aprašyti skirtingomis programavimo

kalbomis, gali tarpusavyje bendrauti

Page 47: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 47

Objektų užklausų tarpininkas (ORB)

ORB valdo objektų bendravimą. Jis žino visus sistemos objektus ir jų sąsajas

Naudojant ORB, kviečiantis objektas pririša IDL „kelmą” (“stub”), nustatantį kviečiamo objekto sąsają

Rezultatas gaunamas kreipiantis į ORB, kuris kviečia reikalaujamą objektą per paskelbtą IDL šabloną (skeleton) ir susieja sąsaja su serviso realizavimu

Page 48: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 48

ORB pagrįstas objektų bendravimas

o1 o2

S (o1) S (o2)

IDL IDL

Objektų užklausos tarpininkas (ORB)

„kelmas”stub

šablonas skeleton

Page 49: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 49

Išorinis-ORB bendravimas ORB dažniausiai nėra atskiros programos, o yra

objektų rinkinys bibliotekoje, kuris susiejamas su kuriama programa

ORB valdo bendravimą tarp objektų naudojamų tame pačiame mechanizme

Gali būti prieinami keletas ORB ir kiekvienas kompiuteris paskirstytoje sistemoje turės savo ORB

Išorinio ORB bendravimai yra naudojami paskirstytų objektų kvietimams

Page 50: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 50

Išorinis-ORB bendravimas

o1 o2

S (o1) S (o2)

IDL IDL

o3 o4

S (o3) S (o4)

IDL IDL

Objektų užklausos tarpininkas (ORB)

Objektų užklausos tarpininkas (ORB)

Tinklas

Page 51: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 51

CORBA servisai Įvardinimo ir apsikeitimo servisai

• Jie leidžia atrasti objektus ir pranešti kitiems objektams tinkle

Pranešimų servisai• Leidžia objektams pranešti kitiems

objektams, kad įvyko įvykis Tranzakcijų servisai

• Remia atskiras tranzakcijas ir grįžimą atgal, esant klaidai

Page 52: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 52

Beveik visos naujos didelės sistemos – paskirstytos sistemos

Paskirstytos sistemos remia resursų dalinimą, atvirumą, lygiagretiškumą, išplečiamumą, klaidų toleranciją ir permatomumą

Kliento-serverio architektūra apima serverių teikiamus servisus programoms, veikiančioms pas klientus

Vartotojo sąsajos programinė įranga visada veikia pas klientą ir duomenys valdomi serveryje

Esminiai aspektai

Page 53: Paskirstytų sistemų architektūros

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 53

Esminiai aspektai Paskirstytų objektų architektūroje nėra

skirtumo tarp klientų ir serverių Paskirstytų objektų sistemos reikalauja

tarpinių programinių priemonių objektų bendravimui

CORBA standartai yra tarpinių programinių priemonių aibė, kuri remia paskirstytų objektų architektūras