1 / 53

Paskirstytų sistemų architektūros

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

Download Presentation

Paskirstytų sistemų architektūros

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Paskirstytų sistemų architektūros • Architektūrinis programinės įrangos, kuri vykdoma daugiau nei viename procesoriuje, projektavimas

  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

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

  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ą.

  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ų

  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.

  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.

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

  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

  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

  11. Paskirstytos sistemos charakteristikos • Resursų dalijimasis • Atvirumas • Lygiagretiškumas • Išplečiamumas • Klaidos toleravimas • Skaidrumas

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

  13. Paskirstytos sistemos 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 yra architektū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ę.

  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ų.

  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

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

  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

  18. Daviklio procesorius Šviesoforų kontrolės procesorius Eismo procesorius Šviesos kontrolės procesas Daviklių kontrolės procesas Vaizdavimo procesas Eismo davikliai ir kameros Šviesoforai Operatoriaus konsolės Daugiaprocesorinė eismo kontrolės sistema

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

  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

  21. c 3 c 2 c 4 c 1 2 c 1 1 c 1 s 1 s 4 c 1 0 c 5 s 2 s 3 c 9 c 6 c 8 c 7 Kliento-serverio sistema Serverio procesas Kliento procesas

  22. c 1 c 2 c 3 , c 4 C C 1 C C 2 C C 3 Serverio kompiuteris s 3 , s 4 s 1 , s 2 Tinklas S C 1 S C 2 Kliento kompiuteris c 5 , c 6 , c 7 c 8 , c 9 c 1 0 , c 1 1 , c 1 2 C C 4 C C 5 C C 6 Kompiuteriai kliento/serverio tinkle

  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

  24. Taikymų sluoksniai

  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.

  26. Lengvi ir sunkūs klientai

  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

  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

  29. Kliento-serverio architektūra banko automatų sistemoje

  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

  31. Trijų lygių kliento/serverio architektūros schema

  32. Internetinė bankinė sistema

  33. Kliento/serverio architektūrų naudojimas

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

  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

  36. Paskirstytų objektų architektūra

  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

  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ę.

  39. Duomenų išgavimo sistema

  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

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

  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)

  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

  44. CORBA taikomosios programos struktūra Taikomosios programos Horizontalios CORBA galimybės Srities galimybės Objektų užklausos tarpininkas (ORB) CORBA servisai

  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ų

  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

  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

  48. ORB pagrįstas objektų bendravimas o 1 o 2 S ( o 1 ) S ( o 2 ) I D L I D L „kelmas”stub šablonas skeleton Objektų užklausos tarpininkas (ORB)

  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

  50. 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 Objektų užklausos tarpininkas (ORB) Objektų užklausos tarpininkas (ORB) Tinklas

More Related