Скачать презентацию Архитектура на разпределени системи Software Engineering 7 th Скачать презентацию Архитектура на разпределени системи Software Engineering 7 th

5fbebbc58c32db4431df214adbe542b7.ppt

  • Количество слайдов: 55

Архитектура на разпределени системи Software Engineering, 7 th edition. Chapter 12 Slide 1 Архитектура на разпределени системи Software Engineering, 7 th edition. Chapter 12 Slide 1

Цели l l Да обясни предимствата и недостатъците на различните архитектури за разпределени с-ми, Цели l l Да обясни предимствата и недостатъците на различните архитектури за разпределени с-ми, Да се обсъдят архитектурите клиент-сървър и разпределени обекти Да опише ORB (object request brokers) и принципите определящи стандартите на CORBA Да въведе равнопоставените архитектури (peer-to -peer) и ориентираните към услуги с-ми като нови модели на разпределената обработка. Software Engineering, 7 th edition. Chapter 12 Slide 2

Основни теми l l Многопроцесорна архитектура Клиент-сървър архитектура Разпределени обекти Между-организационни архитектури Software Engineering, Основни теми l l Многопроцесорна архитектура Клиент-сървър архитектура Разпределени обекти Между-организационни архитектури Software Engineering, 7 th edition. Chapter 12 Slide 3

Разпределени системи l l l Виртуално всички големи с-ми сега са разпределени с-ми. Обработката Разпределени системи l l l Виртуално всички големи с-ми сега са разпределени с-ми. Обработката на информацията е разпределена м/у много машини. Инженерингът на разпределените с-ми е много важен за компютърните с-ми на предприятията. Software Engineering, 7 th edition. Chapter 12 Slide 4

Типове системи l l l Персонални системи, които не са разпределени и са предназначени Типове системи l l l Персонални системи, които не са разпределени и са предназначени за персонален компютър или работна станция Вградени (еmbedded) с-ми, които се изпълняват на единичен процесор или на интегрирана група от процесори Разпределени с-ми, при които софтуерът се изпълнява на хлабаво свързани група процесори свързани в мрежа. Software Engineering, 7 th edition. Chapter 12 Slide 5

Характеристики на РС l Поделяне на ресурси • l Отвореност • l Паралелна обработка Характеристики на РС l Поделяне на ресурси • l Отвореност • l Паралелна обработка за по-добра ефективност Възможност за разширение(scalability) • l Използване на хардуер и софтуер от различни източници Конкурентност • l Поделят се софтуерни и хардуерни ресурси Продуктивността се увеличава с добавката на нови ресурси Нечувствителност към грешки • Способността да продължи една операция след настъпването на грешка Software Engineering, 7 th edition. Chapter 12 Slide 6

Недостатъци на РС l Сложност • l Сигурност • l По-податливи на външни атаки Недостатъци на РС l Сложност • l Сигурност • l По-податливи на външни атаки Леснота за управление • l Обикновено разпределените с-ми са по-сложни от централизираните. Нужни са повече усилия за управлението им Непредсказуемост • Непредсказуеми отговори зависещи от организацията на с-мата и на натоварването на мрежата Software Engineering, 7 th edition. Chapter 12 Slide 7

Архитектури на РС l Клиент-сървър • l Разпределени услуги, които се искат от клиентите. Архитектури на РС l Клиент-сървър • l Разпределени услуги, които се искат от клиентите. Сървърите, които доставят услугите се държат и проектират различно от клиентите, които ползват услугите Разпределени обекти • Няма разлики м/у клиент и сървър. Всеки обект в с-мата може да доставя на и да ползва услуги от друго обекти. Software Engineering, 7 th edition. Chapter 12 Slide 8

Мидълуер l l l Софтуер, който управлява и поддържа различни компоненти на разпределените с-ми. Мидълуер l l l Софтуер, който управлява и поддържа различни компоненти на разпределените с-ми. Всъщност, той стои в средата на с-мата. Обикновено е готова компонента, а не специално разработен за случая софтуер. Примери • • • Монитори за протичане на трансакциите; Преобразователи на данни; Комуникационни контролери; Software Engineering, 7 th edition. Chapter 12 Slide 9

Многопроцесорни архитектури l l Най-простият модел С-мата е съставена от множество процеси, които могат Многопроцесорни архитектури l l Най-простият модел С-мата е съставена от множество процеси, които могат (но не задължително) да се изпълняват от различни процесори Архитектурен модел на много с-ми за реално време Разпределението на процесите към процесора може да е предопределено или да под управлението на диспечер Software Engineering, 7 th edition. Chapter 12 Slide 10

Многопроцесорна с-ма за управление на движението Процесор сензори Процес за управление на сензорите Процесор Многопроцесорна с-ма за управление на движението Процесор сензори Процес за управление на сензорите Процесор движение Процесор светофари Процес дисплей Процес управл. светофари Сензори и камери за контрол на движението Операторски конзоли Software Engineering, 7 th edition. Chapter 12 Slide 11

Архитектура клиент-сървър l l Приложението се моделира като набор от услуги, предоставяни от сървъри, Архитектура клиент-сървър l l Приложението се моделира като набор от услуги, предоставяни от сървъри, и набор от клиенти ползващи тези услуги. Клиентите познават сървърите, но не е нужно сървърите да знаят за клиентите. Клиентите и сървърите са логически процеси. Отношението м/у процесорите и процесите не е задължително 1 : 1. Software Engineering, 7 th edition. Chapter 12 Slide 12

С-ма клиент-сървър Software Engineering, 7 th edition. Chapter 12 Slide 13 С-ма клиент-сървър Software Engineering, 7 th edition. Chapter 12 Slide 13

Компютри в C/S мрежа Software Engineering, 7 th edition. Chapter 12 Slide 14 Компютри в C/S мрежа Software Engineering, 7 th edition. Chapter 12 Slide 14

Слоеста архитектура l Представителен слой • l Слой на приложните обработките • l Занимава Слоеста архитектура l Представителен слой • l Слой на приложните обработките • l Занимава се с представянето на резултатите на потребителите и въвеждането на входните данни. Занимава с доставката на специфичните функции на приложението, напр. в банкова сма това са откриване на сметка, закриване на сметка и др. Слой за управление на данните • Занимава с управление на ситемните бази от данни. Software Engineering, 7 th edition. Chapter 12 Slide 15

Слоеве на приложението Представителен слой Слой на обработките Слой за управление на данните Software Слоеве на приложението Представителен слой Слой на обработките Слой за управление на данните Software Engineering, 7 th edition. Chapter 12 Slide 16

Слаб и дебел клиент l Модел на слабия (thin) клиент • l Цялата обработка Слаб и дебел клиент l Модел на слабия (thin) клиент • l Цялата обработка и управление на данните се извършва от сървъра. Клиентът е отговорен само за представителния слой Модел на дебелия (Fat) клиент • Сървърът е отговорен само за управлението на данните. Софтуерът на клиента осъществява логиката на приложението и взаимодействието с потребителя. Software Engineering, 7 th edition. Chapter 12 Slide 17

Слаб и дебел клиент Software Engineering, 7 th edition. Chapter 12 Slide 18 Слаб и дебел клиент Software Engineering, 7 th edition. Chapter 12 Slide 18

Модел на слабия клиент l Използва се, когато се мигрира от наследени с-ми към Модел на слабия клиент l Използва се, когато се мигрира от наследени с-ми към клиент-сървър архитектура. • l Наследената с-ма действа като сървър, а графичният интерфейс се осъществява на клиента Основен недостатък е, че оставя тежките обработки на сървърите и мрежата. Software Engineering, 7 th edition. Chapter 12 Slide 19

Модел на дебелия клиент l l l Обработките на приложението се извършват от клиентския Модел на дебелия клиент l l l Обработките на приложението се извършват от клиентския софтуер. По-подходящ за нови C/S с-ми, в които се знаят предварително възможностите на клиентската с-ма. По-сложен от слабия клиент, особено за управление. Новите версии на приложението трябва да инсталират на всички клиенти. Software Engineering, 7 th edition. Chapter 12 Slide 20

ATM клиент-сървър с-ма ATM Сървър на сметките Монитор База на на теле- клиентските обработката ATM клиент-сървър с-ма ATM Сървър на сметките Монитор База на на теле- клиентските обработката сметки ATM Software Engineering, 7 th edition. Chapter 12 Slide 21

Три-възлова архитектура (Threetier) l l l Всеки от слоевете може да се изпълнява на Три-възлова архитектура (Threetier) l l l Всеки от слоевете може да се изпълнява на отделен процесор Позволява по-добра ефективност от слабия клиент и е по-проста за управление от дебелия клиент, По-приспособима архитектура – с увеличение на заявките може да се увеличи броя на сървърите. Software Engineering, 7 th edition. Chapter 12 Slide 22

3 -възлова C/S архитектура Software Engineering, 7 th edition. Chapter 12 Slide 23 3 -възлова C/S архитектура Software Engineering, 7 th edition. Chapter 12 Slide 23

Интернет банкираща система Software Engineering, 7 th edition. Chapter 12 Slide 24 Интернет банкираща система Software Engineering, 7 th edition. Chapter 12 Slide 24

Използване на C/S архитектурите Software Engineering, 7 th edition. Chapter 12 Slide 25 Използване на C/S архитектурите Software Engineering, 7 th edition. Chapter 12 Slide 25

Разпределени обекти l l Тук няма разлика м/у клиенти и сървъри. Всеки разпределен обект Разпределени обекти l l Тук няма разлика м/у клиенти и сървъри. Всеки разпределен обект доставя услуги на други обекти и получава услуги от други обекти. Комуникация м/у обектите се осъществява от мидълуер с-ма наречена Брокер на обектните заявки (object request broker) или ORB. Обаче, тази архитектура е по-сложна за проектиране от клиент-сървър архитектурата Software Engineering, 7 th edition. Chapter 12 Slide 26

Архитектура на разпределени обекти Software Engineering, 7 th edition. Chapter 12 Slide 27 Архитектура на разпределени обекти Software Engineering, 7 th edition. Chapter 12 Slide 27

Предимства на разпределените обекти l l Позволява на системния проектант да отложи решението за Предимства на разпределените обекти l l Позволява на системния проектант да отложи решението за това, къде и как трябва да се доставят услугите. Много отворена с-ма, която позволява при нужда да се добавят нови ресурси. С-мата е гъвкава и разширяема. Възможно е при нужда да се преконфигурира с-мата динамично с обекти мигриращи в мрежата. Software Engineering, 7 th edition. Chapter 12 Slide 28

Използване на разпределените обекти l l Като логически модел позволява да се структурира и Използване на разпределените обекти l l Като логически модел позволява да се структурира и организира с-мата. Може да се мисли за функционалността на приложението само с термините на услуги и комбинации от услуги. Като гъвкав подход за осъществяването на клиент-сървър с-ма. Логическият модел е клиентсървър, но и клиентът и сървърът се реализират като разпределени обекти, комуникиращи през обща комуникационна структура. Software Engineering, 7 th edition. Chapter 12 Slide 29

С-ма за дейта майнинг (data mining) Software Engineering, 7 th edition. Chapter 12 Slide С-ма за дейта майнинг (data mining) Software Engineering, 7 th edition. Chapter 12 Slide 30

С-ма за дейта майнинг l l l За разлика от АТМ логическият модел е С-ма за дейта майнинг l l l За разлика от АТМ логическият модел е не за осигуряване на услуги с с добре определени услуги за управление на данни. Той позволява да се увеличава броя на използваните бази от данни без да се разруши с-мата. Позволява да се откриват нови типове отношения чрез добавянето на нови интегриращи обекти. Software Engineering, 7 th edition. Chapter 12 Slide 31

CORBA l l CORBA е международен стандарт за ORB – мидълуер за управление на CORBA l l CORBA е международен стандарт за ORB – мидълуер за управление на комуникацията м/у разпределени обекти. Той изисква 2 нива: • • На логическо комуникационно ниво той позволява на обектите от различни компютри да обменят данни и управляваща информация. На компонентно ниво, той дава основа за разработване на съвместими компоненти. Дефинирани са CORBA компонентни стандарти. Software Engineering, 7 th edition. Chapter 12 Slide 32

Структура на CORBA приложение Software Engineering, 7 th edition. Chapter 12 Slide 33 Структура на CORBA приложение Software Engineering, 7 th edition. Chapter 12 Slide 33

Структура на приложението l l Приложни обекти Стандартни обекти, дефинирани от OMG, за специфична Структура на приложението l l Приложни обекти Стандартни обекти, дефинирани от OMG, за специфична област, напр. застраховане. Основни CORBA услуги като управление на директории и сигурност. Хоризонтални (т. е които пресичат приложенията) като средства за потребителски интерфейс. Software Engineering, 7 th edition. Chapter 12 Slide 34

CORBA стандарти l Модел на обект за приложни обекти • l l l CORBA CORBA стандарти l Модел на обект за приложни обекти • l l l CORBA обектът е капсулирано състояние с добре дефиниран, езиково неутрален интерфейс дефиниран на IDL (interface definition language). Обектен брокер, който управлява заявките за услуги от обектите. Набор от общи обектни услуги за използване от много разпределени приложения Набор от общи компоненти изградени в/у тези услуги. Software Engineering, 7 th edition. Chapter 12 Slide 35

CORBA обекти l l По принцип CORBA обектите са сравними с обектите в C++ CORBA обекти l l По принцип CORBA обектите са сравними с обектите в C++ и Java. Те ТРЯБВА да имат отделна дефиниция на интерфейса, която се описва чрез общ език (IDL), подобен на C++. Има съответствие м/у IDL и програмните езици (C++, Java, и др. ) Следователно обекти писани на различни езици могат да комуникират помежду си. Software Engineering, 7 th edition. Chapter 12 Slide 36

Обектен брокер на заявки (ORB) l l l ORB осигурява комуникацията м/у обектите. Той Обектен брокер на заявки (ORB) l l l ORB осигурява комуникацията м/у обектите. Той познава всички обекти в с-мата и техните интерфейси. Като използва ORB, викащият обект свързва един IDL стъб, който дефинира интерфейса на извиквания обект. Извикването на този стъб има за резултат извикване на ORB, който след това извиква искания обект чрез публикуван IDL скелет, който свързва интерфейса с осъществяването на услугата Software Engineering, 7 th edition. Chapter 12 Slide 37

Комуникация м/у обектите базирана на ORB Software Engineering, 7 th edition. Chapter 12 Slide Комуникация м/у обектите базирана на ORB Software Engineering, 7 th edition. Chapter 12 Slide 38

Между-ORB комуникации l l Обикновено ORB не са отделни програми, а набор от обекти Между-ORB комуникации l l Обикновено ORB не са отделни програми, а набор от обекти в библиотека, които се свързват с приложението при неговата разработка. ORB осъществяват комуникацията м/у обектите на една и съща машина. Много ORB могат да са на разположение и всеки компютър в разпределена с-ма има свой собствен ORB. Между-ORB комуникациите се използват за извикване на разпределени обекти. Software Engineering, 7 th edition. Chapter 12 Slide 39

Между-ORB комуникации Software Engineering, 7 th edition. Chapter 12 Slide 40 Между-ORB комуникации Software Engineering, 7 th edition. Chapter 12 Slide 40

CORBA услуги l Наименоване и преговори • l Нотификация • l Позволяват на обектите CORBA услуги l Наименоване и преговори • l Нотификация • l Позволяват на обектите да откриват и да се обръщат към други обекти в мрежата. Позволяват на обектите да известят други обекти са това, че е настъпило определено събитие. Трансакции • Поддържат се атомарни трансакции и ролбек при неуспех. Software Engineering, 7 th edition. Chapter 12 Slide 41

Разпределени с-ми между различни организации l l l Повечето разпределени с-ми са осъществени на Разпределени с-ми между различни организации l l l Повечето разпределени с-ми са осъществени на ниво организация по съображения за сигурност и оперативност. Прилагат се местни стандарти, управление и работни процеси. Разработват се нови модели, които да поддържат разпределение м/у организациите, където различните възли са разположени в различни организации. Software Engineering, 7 th edition. Chapter 12 Slide 42

Равнопоставени (Peer-to-peer) архитектури l l l Равнопоставените (p 2 p) с-ми са децентрализирани с-ми, Равнопоставени (Peer-to-peer) архитектури l l l Равнопоставените (p 2 p) с-ми са децентрализирани с-ми, в които всеки компютър в мрежата може да извършва всички операции. Цялата с-ма е проектирана така, че да се възползва от мощността на голям брой компютри в мрежа. Повечето p 2 p с-ми са от персонални компютри, но все повече се увеличава използването на тази технология от бизнеса. Software Engineering, 7 th edition. Chapter 12 Slide 43

P 2 p архитектурни модели l Архитектура на логическата мрежа • • l Архитектура P 2 p архитектурни модели l Архитектура на логическата мрежа • • l Архитектура на приложението • l Децентрализирани архитектури; Полу-централизирани архитектури; Общата организация на компонентите съставящи p 2 p приложение Тук се съсредоточаваме в/у архитектурата на мрежата Software Engineering, 7 th edition. Chapter 12 Slide 44

Децентрализирана p 2 p архитектура Software Engineering, 7 th edition. Chapter 12 Slide 45 Децентрализирана p 2 p архитектура Software Engineering, 7 th edition. Chapter 12 Slide 45

Полу-нтрализирана p 2 p архитектура Software Engineering, 7 th edition. Chapter 12 Slide 46 Полу-нтрализирана p 2 p архитектура Software Engineering, 7 th edition. Chapter 12 Slide 46

Ориентирани към услуги архитектури l l Основават се на понятието доставяни отвън услуги (уеб Ориентирани към услуги архитектури l l Основават се на понятието доставяни отвън услуги (уеб услуги) Уеб услугата е стандартен подход да се направи една многократно използваема компонента достъпна в уеб пространството • Услуга за попълване на данъци поже да даде поддръжка на потребителите да попълнят данъчните си формуляри и да ги изпрати на данъчната служба Software Engineering, 7 th edition. Chapter 12 Slide 47

Услуга изобщо l l Действие или работа предоставена от една страна на друга. Въпреки Услуга изобщо l l Действие или работа предоставена от една страна на друга. Въпреки че процесът може да е свързан с физически продукт, работата е обикновено неосезаема и нормално не води до собственост на никой от посредниците. Следователно доставянето на услугата е независимо от приложението използващо услугата Software Engineering, 7 th edition. Chapter 12 Slide 48

Уеб услуги Регистър на услуги Публикува Намира Доставчик Услуга на услуги Заявител на услуги Уеб услуги Регистър на услуги Публикува Намира Доставчик Услуга на услуги Заявител на услуги Свързва се Software Engineering, 7 th edition. Chapter 12 Slide 49

Услуги и разпределени обекти l l l l Независимост на доставчика Публично обявяване на Услуги и разпределени обекти l l l l Независимост на доставчика Публично обявяване на достъпните услуги Скрито рън-тайм свързване с услугата Опортюнистично изграждане на нови услуги чрез композиция. Плащане за използване на услугите По-малки, компактни приложения Реактивни и адаптивни приложения Software Engineering, 7 th edition. Chapter 12 Slide 50

Стандарти за услуги l l Услугите основават на общоприети, XML бзирани стандарти, така че Стандарти за услуги l l Услугите основават на общоприети, XML бзирани стандарти, така че да се доставят на всякакви платформи и да се пишат на всякакви програмни езици. Основни стандарти: • • • SOAP - Simple Object Access Protocol; WSDL - Web Services Description Language; UDDI - Universal Description, Discovery and Integration. Software Engineering, 7 th edition. Chapter 12 Slide 51

Сценарий за услуги l l Една с-ма за информиране в колите доставя на водачите Сценарий за услуги l l Една с-ма за информиране в колите доставя на водачите информация за времето, пътните условия, местни новини и др. Тя е свързана с радиото на колата и се предава като сигнал на специфичен радио канал. Колата е снабдена с GPS приемник за да определя местоположението си и според това смата има достъп до различни информационни услуги, Информацията се предава на определения от водача език. Software Engineering, 7 th edition. Chapter 12 Slide 52

Система за автомобили Software Engineering, 7 th edition. Chapter 12 Slide 53 Система за автомобили Software Engineering, 7 th edition. Chapter 12 Slide 53

Обобщение l l Разпределените с-ми поддържат поделянето на ресурси, отвореност, конкурентност, разширяемост, толерантност към Обобщение l l Разпределените с-ми поддържат поделянето на ресурси, отвореност, конкурентност, разширяемост, толерантност към грешки, прозрачност. При клиент-сървър архитектурата сървърите доставят услуги на програми работещи на клиенти. Потребителският интерфейс винаги работи на клиента, управлението на данните – на сървъра. Приложната функционалност може да се реализира или от клиента или от сървъра. При разпределените обекти няма разлика м/у клиент и сървър. Software Engineering, 7 th edition. Chapter 12 Slide 54

Обобщение. . . l • • l С-мите с разпределени обекти имат нужда от Обобщение. . . l • • l С-мите с разпределени обекти имат нужда от мидълуер за да поддържа комуникацията м/у обектите и да добавя и отстранява обекти. CORBA стандартите са набор от стандарти за мидълуера, които поддържат архитектурата с разпределени обекти. Равнопоставената архитектура е децентрализирана архитектура без разлика м/у клиент и сървър. С-мите ориентирани кум услуги се създават чрез свързване на софтуерни услуги от различни доставчици. Software Engineering, 7 th edition. Chapter 12 Slide 55