Paskirstytu sistemu architekturos - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

Paskirstytu sistemu architekturos

Description:

Title: Object-oriented Design Last modified by: rsei Created Date: 12/28/1995 2:29:45 PM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 55
Provided by: ktu47
Category:

less

Transcript and Presenter's Notes

Title: Paskirstytu sistemu architekturos


1
Paskirstytu sistemu architekturos
  • Architekturinis programines irangos, kuri vykdoma
    daugiau nei viename procesoriuje, projektavimas

2
Tikslai
  • Paaiškinti architekturini projektavima
  • Paaiškinti paskirstytu sistemu architekturos
    privalumus bei trukumus
  • Išnagrineti skirtingus požiurius i
    kliento-serverio sistemu kurima
  • Paaiškinti skirtumus tarp kliento-serverio ir
    paskirstyto objekto architekturos
  • Išnagrineti objekto užklausos tarpininkus ir
    pagrindiniu CORBA standartu principus

3
Nagrinejamos temos
  • Architekturinis projektavimas
  • Paskirstytos sistemos
  • Daugiaprocesorines architekturos
  • Kliento-serverio architektura
  • Paskirstytu objektu architektura
  • CORBA

4
Architekturinis projektavimas
  • Ankstyva sistemos projektavimo proceso stadija
  • Atspindi ryši tarp specifikacijos ir projektavimo
    proceso
  • Dažnai vykdoma lygiagreciai su kai kuriais
    specifikacijos veiksmais
  • Apima didesnes sistemos dalies komponentu
    identifikavima ir ju bendravima.

5
Aiškios architekturos privalumai
  • Suinteresuotu asmenu bendravimas
  • architektura gali buti panaudota kaip sistema
    suinteresuotu asmenu (stakeholders) komunikavimo
    centras
  • Sistemos analize
  • reiškia, kad galima atlikti sistemos nefunkciniu
    reikalavimu analize
  • Dideles apimties pakartotinis panaudojimas
  • architektura gali buti panaudota daugeliui sitemu

6
Architekturinio projektavimo procesas
  • Sistemos strukturizavimas
  • sistema yra suskaidoma i keleta pagrindiniu
    posistemiu ir yra nustatomas komunikavimas tarp
    šiu posistemiu
  • Valdymo modeliavimas
  • nustatomas ryšiu valdymo modelis tarp skirtingu
    sistemos daliu
  • Moduline dekompozicija
  • nustatytos posistemes yra skaidomos i modelius.

7
Sistemos architektura
  • Programines irangos architektas yra atsakingas už
    sistemos architekturini modeli, valdymo modeli ir
    posistemes dekomponavimo modeli.
  • Retai dideles sistemos paklusta vienam
    architekturiniam modeliui.
  • Sistemos dekompozicijos modeliai turi saugyklu
    modelius, kliento-serveriu modelius ir
    abstrakcius mašinu modelius.
  • Valdymo modeliai susideda iš centralizuoto
    valdymo ir ivykiais paremto valdymo.

8
Srities architekturiniai modeliai
  • Modulines dekompozicijos modelis susideda iš
    duomenu srautu ir objektu modeliu.
  • Srities specialus (domain-specific)
    architekturiniai modeliai yra abstrakcijos tam
    tikroje veiklos sferoje. Jie gali buti
    konstruojami abstrahuojant egzistuojancias
    sistemas arba idealizuojant nurodomus modelius.

9
Nagrinejamos temos
  • Architekturinis projektavimas
  • Paskirstytos sistemos
  • Daugiaprocesorines architekturos
  • Kliento-serverio architektura
  • Paskirstytu objektu architektura
  • CORBA

10
Paskirstytos 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

11
Sistemos 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

12
Paskirstytos sistemos charakteristikos
  • Resursu dalijimasis
  • Atvirumas
  • Lygiagretiškumas
  • Išpleciamumas
  • Klaidos toleravimas
  • Skaidrumas

13
Paskirstytu sistemu trukumai
  • Sudetingumas
  • Saugumas
  • Valdymo problemos
  • Nenuspejamumas

14
Paskirstytos sistemos
Resurso identifikacija Resursai paskirstytoje
sistemoje yra paskirstyti tarp skirtingu
kompiuteriu
ir ivardinimo schema turi buti sukurta tokia,
kad vartotojai galetu surasti ir kreiptis i
jiems reikalingus resursus. Tokios ivardinimo
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 šitu resursu bus neprieinami
sistemos vartotojams. Bendravimai
Universalus Interneto prieinamumas ir
Interneto TCP/IP bendravimo protokolu
efektyvus realizavimas reiškia, kad
daugeliui paskirstytu sistemu tai yra efekty-
viausias budas kompiuteriams bendrauti.
Nežiurint to, kur yra specifiniai reikala-
vimai našumui patikimumui ir kt. gali buti
panaudoti alternatyvus požiuriai i
bendravima. Serviso kokybe
Sistemos pasiulyta serviso kokybe atspindi jo
našuma, parengtuma ir patikimuma.
Tai yra veikiama daugelio
faktoriu, tokiu kaip procesoriu paskirstymas
procesams,
resursu paskirstymas sistemoje, tinklo ir
sistemos technines irangos ir sistemos
prisitaikymo. Progra
mines irangos Programines irangos
architektura nagrineja kaip programos
funkcionališkumas yra architektura
paskirstytas keletui loginiu komponenciu ir
kaip šitos komponentes yra paskirstytos
tarp procesoriu.
Teisingos programos architekturos pasirinkimas
yra esminis dalykas
norint pasiekti trokštama serviso
kokybe.
15
Paskirstytu 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.

16
Tarpine programine iranga
  • 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.
  • Pavyzdžiai
  • tranzakcijas vykdantys monitoriai
  • duomenu konvertoriai
  • komunikavimo kontroleriai

17
Nagrinejamos temos
  • Architekturinis projektavimas
  • Paskirstytos sistemos
  • Daugiaprocesorines architekturos
  • Kliento-serverio architektura
  • Paskirstytu objektu architektura
  • CORBA

18
Daugiaprocesorines 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

19
Daugiaprocesorine eismo kontroles sistema
20
Nagrinejamos temos
  • Architekturinis projektavimas
  • Paskirstytos sistemos
  • Daugiaprocesorines architekturos
  • Kliento-serverio architektura
  • Paskirstytu objektu architektura
  • CORBA

21
Kliento-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

22
Kliento-serverio sistema
Serverio procesas
Kliento procesas
23
Kompiuteriai kliento/serverio tinkle
24
Taikomuju 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

25
Taikymu sluoksniai
26
Lengvi (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.

27
Lengvi ir sunkus klientai
28
Lengvo 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

29
Sunkaus 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

30
Kliento-serverio architektura banko automatu
sistemoje
31
Triju 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

32
Triju lygiu kliento/serverio architekturos schema
33
Internetine bankine sistema
34
Kliento/serverio architekturu naudojimas
35
Nagrinejamos temos
  • Architekturinis projektavimas
  • Paskirstytos sistemos
  • Daugiaprocesorines architekturos
  • Kliento-serverio architektura
  • Paskirstytu objektu architektura
  • CORBA

36
Paskirstytu 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

37
Paskirstytu objektu architektura
38
Paskirstytu objektu architekturos privalumai
  • Leidžia sistemos projektuotojui atideti sprendima
    kur ir kaip servisai turetu buti teikiami
  • 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

39
Paskirstytu 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 servisais ir servisu 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.

40
Duomenu išgavimo sistema
41
Duomenu išgavimo sistema
  • Loginis sistemos modelis nera tik vienas servisu
    teikimo budu, kur budingi ivairus duomenu
    valdymo servisai
  • Ji leidžia didinti nagrinejamu duomenu baziu
    kieki nesugriaunant sistemos
  • Ji leidžia nauju tipu ryšius išgauti papildant
    naujais integruojanciais objektais

42
Nagrinejamos temos
  • Architekturinis projektavimas
  • Paskirstytos sistemos
  • Daugiaprocesorines architekturos
  • Kliento-serverio architektura
  • Paskirstytu objektu architektura
  • CORBA

43
CORBA
  • 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)

44
Taikymo 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

45
CORBA taikomosios programos struktura
Taikomosios programos

Horizontalios CORBA galimybes
Srities galimybes

Objektu užklausos tarpininkas (ORB)

CORBA servisai
46
CORBA 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

47
CORBA 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

48
Objektu 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

49
ORB 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)


50
Iš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

51
Iš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
52
CORBA servisai
  • Ivardinimo ir apsikeitimo servisai
  • Jie leidžia atrasti objektus ir pranešti kitiems
    objektams tinkle
  • Pranešimu servisai
  • Leidžia objektams pranešti kitiems objektams, kad
    ivyko ivykis
  • Tranzakciju servisai
  • Remia atskiras tranzakcijas ir grižima atgal,
    esant klaidai

53
Esminiai aspektai
  • Beveik visos naujos dideles sistemos
    paskirstytos sistemos
  • 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

54
Esminiai aspektai
  • Paskirstytu objektu architekturoje nera skirtumo
    tarp klientu ir serveriu
  • Paskirstytu objektu sistemos reikalauja tarpiniu
    programiniu priemoniu objektu bendravimui
  • CORBA standartai yra tarpiniu programiniu
    priemoniu aibe, kuri remia paskirstytu objektu
    architekturas
Write a Comment
User Comments (0)
About PowerShow.com