22
Станимир Стоянов 1 Интеграция на приложения доц. д-р Станимир Стоянов ПУ “Паисий Хилендарски”, Катедра “Компютърни систми”

Интеграция на приложения

Embed Size (px)

DESCRIPTION

Интеграция на приложения. доц. д-р Станимир Стоянов ПУ “ Паисий Хилендарски ” , Катедра “ Компютърни систми ”. Модул “CORBA”. 8. CORBA базирана интероперативност. Съдържание. Достъп до обекти върху отдалечени ORBs Мащабируеми сървъри. Достъп до обекти върху отдалечени ORBs. Клиент. - PowerPoint PPT Presentation

Citation preview

Page 1: Интеграция на приложения

Станимир Стоянов 1

Интеграция на приложения

доц. д-р Станимир СтояновПУ “Паисий Хилендарски”, Катедра “Компютърни систми”

Page 2: Интеграция на приложения

Станимир Стоянов 2

Модул “CORBA”

Page 3: Интеграция на приложения

Станимир Стоянов 3

8. CORBA базирана интероперативност

Page 4: Интеграция на приложения

Станимир Стоянов 4

Съдържание

Достъп до обекти върху отдалечени ORBs

Мащабируеми сървъри

Page 5: Интеграция на приложения

Станимир Стоянов 5

Достъп до обекти върху отдалечени ORBs

Page 6: Интеграция на приложения

Станимир Стоянов 6

Клиент Обект

Stub Skel

ORB1

Клиент Обект

Stub Skel

ORB2

Достъп до обекти върху отдалечен ORB

Извикването се насочва към локален обект

Извикването се насочва към отдалечен обект

Page 7: Интеграция на приложения

Станимир Стоянов 7

При отдалечените извиквания клиентите не правят нищо различно в сравнение с локалния случай;

Те изпращат обичайното IDL-базирано извикване към техните локални ORB: Ако извикването съдържа референция на обект,

реализиран локално: ORB го насочва към целевия обект;

В противен случай – го препраща към отдалечения ORB, който е host на целевия обект:

След това отдалечения ORB го насочва към целевия обект.

Page 8: Интеграция на приложения

Станимир Стоянов 8

Клиентите не могат да определят формата на извикването или референцията, както и това дали целевият обект е локален или отдалечен;

Те могат да знаят, че целта е например обект на банкова сметка и обект за принтер;

Всички детайли, свързани с извикването се извършват от ORB: Разрешаване на референции към специфичен

отдалечен ORB или обект; Транслиране реда на байтовете и форматите.

Page 9: Интеграция на приложения

Станимир Стоянов 9

Всеки ORB трябва да поддържа една IR: Когато се увеличат ORBs и интерфейсите, това

става едно значително разпределено приложение, използващо БД;

Трябва да се синхронизират също така комуникациите – ORB мрежови протоколи и gateways;CORBA архитектурата не занимава клиентите и приложните програмисти с този слой;Клиентите и реализацията на обектите извършват или получават само локални извиквания: понеже тяхната комуникация е през stub към

техния локален ORB.OMG стандартът гарантира, че ORB ще взаимодейства правилно с мрежата.

Page 10: Интеграция на приложения

Станимир Стоянов 10

Комуникацията между ORBs е ключово свойство, което доставя на CORBA допълнителна гъвкавост;

Клиентът и реализацията на обект могат да се разполагат:

Върху различни ORBs; Върху различни платформи; Различни операционни системи; Различни мрежи; Написани на различни езици;

Те ще взаимодействат перфектно, ако клиентът и обектът използват един и същ синтаксис и семантика.

Многократно използване – интегриране на придобити реализации на обекти

Page 11: Интеграция на приложения

Станимир Стоянов 11

Това от което се нуждае програмистът за създаване на един клиент, който има достъп до един отдаличен обект е следното:Копие на неговия IDL файл;Описание на това, което прави всяка

операция;Референция на обекта – в run-time.

Така лесно може да се интегрира доставени реализации на обекти.

Page 12: Интеграция на приложения

Станимир Стоянов 12

Клиент

Stub

ORB

IDL

Клиентски код

Skeleton код Stub

код

Language compiler, Linker

Object

Обект

Skel

ORB

Върху десктопа Върху сървъра

Обобщение

Page 13: Интеграция на приложения

Станимир Стоянов 13

Когато поръчваме софтуер от доставчици ще получим:Изпълнима реализация на обекти; IDL файл.

Page 14: Интеграция на приложения

Станимир Стоянов 14

Инсталирането на поръчания софтуер се извършва на два етапа: Сървърна страна:

Инсталираме обектите върху сървъра;По време на инсталацията се генерират

обектни референции, които могат автоматично да се разполагат в директорийна услуга или услуга за именуване или може да бъде записана във файла, към който имаме достъп.

Page 15: Интеграция на приложения

Станимир Стоянов 15

Клиентска страна – пренестваме се към развойната платформата, която не трябва да бъде същата като тази, където ще работи обекта; Зареждаме IDL файла Компилираме го с локалния IDL

компилатор Отказваме се от генерирания skeleton – не

ни е необходим Използваме stub за достъп до ORB от

клиента

Page 16: Интеграция на приложения

Станимир Стоянов 16

Мащабируеми сървъри

Page 17: Интеграция на приложения

Станимир Стоянов 17

CORBA-обектите могат да бъдат с различна големина;

В терминологията на архитектурата те могат да бъдат:Fine-grained:

Например, множество от карти за разплащане в един сайт за електронна търговия;

Coarse–grained:Например, счетоводна система на фирма.

Page 18: Интеграция на приложения

Станимир Стоянов 18

Когато създаваме напр. CORBA-базиран сайт за електронна търговия – трябва да решим проблема скалируемост; Т.е. – как ще се обслужва натоварването, което

очакваме използвайки наличните ресурси;

Може да се очакват хиляди или стотици хиляди клиенти да използват сайта.

Page 19: Интеграция на приложения

Станимир Стоянов 19

CORBA притежава голямо множество от средства за създаване на скалируеми сървъри;

Вече разгледахме концепцията за инстанцииране: Когато нов клиент иска да купува – създаваме нов

обект-карта за пазаруване; Веднъж създадена картата е налична – клиентът

може да въвежда различни артикули, докато тя се даде на касиера за контрол;

След контрола картата се “затваря”; Когато иска да пазарува отново – генерира се

нова карта.

Page 20: Интеграция на приложения

Станимир Стоянов 20

След като клиентът се върне отново след един определен период: Какво трябва да прави клиентската програма за да

използва отново картата за пазаруване?

Нищо специално: Използва референцията към обекта за извикване

на операции върху него: Навярно съхранена в една бисквитка (cookie);

CORBA не поддържа активиращи и дезактивиращи операции;

От клиентска гледна точка един обект, веднъж инстанцииран работи непрекъснато докато не бъде премахнат явно.

Page 21: Интеграция на приложения

Станимир Стоянов 21

От клиентска гледна точка всичко е наред;

Какво обаче трябва да направи сървърът за да може да поддържа обектите-карти за милиони клиенти?

Между отделните посещения картите могат да не се използват с дни или месеци: Това натоварва допълнително изчислителните

ресурси и затруднява обработката на актуалните карти.

Page 22: Интеграция на приложения

Станимир Стоянов 22

Каква инфраструктура на сървъра е необходима, която да позволява въвеждане и извеждане на CORBA обекти от оперативното пространство;Когато за една инстанция се поддържа персистентно състояние – при извеждане от оперативното пространство тя може да се съхрани във вторичната памет и след това да се възстанови отново;CORBA поддържа такава инфраструктура – нарича се Portable Object Adapter (POA);CORBA Component Model – използва също така POA.