Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України


НазваЛекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Дата конвертації24.02.2013
Розмір445 b.
ТипЛекція


Лекція 06. Промисловий стандарт CORBA

  • Діденко Дмитро Георгійович

  • Старший викладач кафедри ММСА ННК «ІПСА»

  • Національний технічний університет України

  • «Київський політехнічний інститут»

  • м. Київ, Україна


Питання заняття

  • Промисловий стандарт CORBA.



1. Історія розвитку CORBA

  • Узагальнена архiтектура брокера об'єктних запитiв CORBA (Common Object Request Broker Architecture) являє собою специфiкацiю побудови розподiлених систем, технологiчний стандарт написання розподiлених додаткiв, який розроблено консорцiумом OMG (Object Management Group). Першi версiї специфiкацiї з'явились на початку 90-х рокiв. Поширеними є версiї 2.4 i 3.



2. Архiтектура CORBA



3. Завдання CORBA

  • Завдання CORBA - виконати iнтеграцiю iзольованих систем, дати змогу програмам, написаним рiзними мовами, тим, що працюють на рiзних вузлах мережi, взаємодiяти так само просто, якби вони були в адресному просторi одного процесу.



4. Реалізація CORBA

  • широко використовуються SOM i DSOM фiрми IBM;

  • платформа ONE (Open Network Environment) фiрми Netscape;

  • Borland Enterprise Server, VisiBroker Ed. — CORBA 2.6-сумісний комерційний ORB від Borland, підтримує Java і C++;

  • MICO — Вільний (LGPL) ORB з підтримкою C++;

  • omniORB — Вільний (LGPL) ORB для C++ і Python;

  • ORBit2  — Вільний (LGPL) ORB для C, C++ і Python;

  • JacORB — Вільний (LGPL) ORB з підтримкою Java;

  • TAO — The ACE ORB, відкритий ORB для C++;

  • Orbacus — комерційний ORB від IONA Technologies.



5. Властивості CORBA

  • Брокер ORB пiдтримує вiддалений зв'язок мiж об'єктами та клiєнтами i приховує проблеми, пов'язанi з розподiленням i рiзнорiднiстю частин системи.



6. Категорії операцій

  • однаковi для всiх реалiзацiй ORB;

  • специфiчнi для конкретного об'єктного типу;

  • специфiчнi для окремих видiв реалiзацiй об'єктiв.



7. Засоби реалізації

  • горизонтальнi засоби (horizontal facilities) - незалежнi вiд прикладного рiвня i являють собою високорiвневi служби загального призначення для обслуговування користувацького iнтерфейсу, керування iнформацiєю, системою i завданнями для визначення систем робочих потокiв.

  • вертикальнi засоби (vertical facilities) - це високорiвневi служби для конкретних предметних галузей (електронна комерцiя, банкiвська справа, виробництво тощо).



8. Опис об’єктів і служб

  • Об'єкти i служби описуються в CORBA мовою опису iнтерфейсiв IDL (Interface Definition Language).

  • Мову розроблено OMG для опису iнтерфейсiв розподiлених об'єктiв - набору методiв i їх параметрiв. Специфiкацiя iнтерфейсу, задана в IDL, вiдображається мовами програмування С, C++, Java, SmallTalk, ADA, Cobol, Perl, Visual Basic, Ruby и Tcl.



9. Компонентна модель CORBA (CCM)

  • Компонентна модель CORBA (CCM) - недавнє доповнення до сімейства визначень CORBA. CCM була введена починаючи з CORBA 3.0 і описує стандартний каркас додатку для компонент CORBA. CCM побудований під сильним впливом Enterprise Javabeans (EJB) і фактично є його незалежним від мови розширенням. CCM надає абстракцію суті, яка може надавати і отримувати сервіси через чітко певні іменовані інтерфейси, порти. Модель CCM надає контейнер компонентів, в якому можуть поставлятися програмні компоненти. Контейнер надає набір служб, які може використовувати компонент. Ці служби включають (але не обмежують) службу повідомлення, авторизації, персистентності і управління транзакціями. Це найчастіше використовувані розподіленим додатком служби.



10. Функції брокера

  • операцiї маршалiнгу i демаршалiнгу посилань на об'єкти пiд час обмiну мiж процесами та операцiї для порiвняння посилань;

  • операцiї початкового пошуку доступних для процесу служб. Зазвичай ORB надає данi для отримання початкового посилання на об'єкт, який реалiзує конкретну службу CORBA.



11. Структура клiєнта i сервера на основi брокера ORB



12. Сховища інтерфейсів та реалізацій

  • Усi визначенi iнтерфейси зберiгаються у сховищi iнтерфейсiв (interface repository) i викликаються за iдентифiкатором зберiгання (repository identifier), призначеним компiлятором IDL.

  • Сховище реалiзацiї CORBA (implementation repository) надає потрiбнi данi для реалiзацiї та активiзацiї об'єкта для адаптера об'єктiв в адресному просторi сервера (наприклад, таблицю серверiв i портiв).



13. Послiдовнiсть проходження



14. Інтерфейсів та набори служб

  • Iнтерфейс - це набiр методiв, а об'єкт визначає, якi служби клiєнт може запросити.

  • Система об'єктiв забезпечує клiєнта набором служб.



15. Взаємодiя мереж на основi ORB i протоколу IIOP



16. Інтерфейс динамiчного звернення DII

  • Компiлятор IDL компiлює код зв'язку мiж клiєнтським i серверним ORB. Якщо статично визначений iнтерфейс недоступний клiєнтовi, то CORBA надає iнтерфейс динамiчного звернення DII (Dynamic Invocation Interface), який дозволяє створювати запити пiд час виконання додаткiв.



17. Типи служб CORBA

  • транзакцiй;

  • подiй;

  • сповiщень;

  • служби обмiну;

  • схоронностi;

  • захисту.



18. Види зв’язку

  • асинхронний запит без вiдповiдi - використовується одностороннiй запит (one-way request) з використанням служби доставляння з максимальним зусиллям (best effort delivery) без гарантiї якостi доставки.

  • вiдкладений синхроний запит (differed synchronous reqest) - ресурс повертається клiєнтовi асинхронно пiсля отримання результату сервера. Iснує також одноразовий синхронний запит.



19. Служба подiй

  • Служба подiй (event service) асоцiюється з посиланням на одиничний елемент даних. Зазвичай служба передає подiю каналами подiй (event channel) без гарантiї схоронностi та доставляння подiй. Для фiльтрацiї подiй користувача застосовують окремi канали подiй за допомогою служби сповiщення (notification service).



20. Схоронний зв'язок

  • Для схоронного зв'язку черги повiдомлень використовують службу повiдомлень (message service) з об'єктним пiдходом до взаємодiї.



21. Зворотній виклик

  • У моделi зворотного виклику (callback model) клiєнт є об'єктом, що реалiзує iнтерфейс, який мiстить методи зворотного виклику. Базова комунiкацiйна система може викликати цi методи для передавання результату асинхронного звернення, яке не впливає на реалiзацiю об'єкта. Тобто клiєнт перетворює синхронне звернення на асинхронне, а сервер виконує звичайний синхронний виклик.



22. Асинхронний виклик

  • У разi асинхронного звернення вихiдний iнтерфейс замiнюється на два iншi клiєнтськi, один з яких мiстить специфiкацiю методiв, якi може викликати клiєнт, а другий - iнтерфейс зворотного виклику згiдно зi схемою. Звернення вiдбувається у два етапи: виклик з додатка i запит до сервера. Клiєнт сам надає реалiзацiю зворотного виклику.



23. Модель зворотного виклику за асинхронним зверненням до методу



24. Модель опитування (polling model)

  • За модель опитування клiєнту надається набiр операцiй для опитування брокера ORB на наявнiсть отриманих результатiв, тобто метод опитування реалiзує клiєнтський брокер ORB. Повiдомлення мiж непрацездатним клiєнтом або сервером зберiгається базовою системою.



25. Модель опитування за асинхронним зверненням до методу



26. Сумiснiсть версiй CORBA

  • Сумiснiсть версiй CORBA вiд рiзних виробникiв забезпечується стандартизованим протоколом GIOP (General Inter-Orb Protocol) взаємодiї мiж брокерами та унiверсальними посиланнями на об'єкти. Реалiзацiю GIOP над рiвнем TCP OSI називають iнтернет-протоколом обмiну мiж брокерами IIОР (Internet Inter-Orb Protocol).



27. Повiдомлення GIOP



28. Склад загального протоколу межброкерного взаємодії GIOP

  • Internet INTERORB Protocol (IIOP) — Міжброкерний протокол для Інтернет, це протокол для організації взаємодії між різними брокерами, опублікований консорціумом OMG. IIOP використовується GIOP в середовищі інтернет, і забезпечує відображення повідомлень між GIOP і шаром TCP/IP.

  • SSL INTERORB Protocol (SSLIOP) — це IIOP поверх SSL, підтримуються шифрування і аутентифікація.

  • Hypertext INTERORB Protocol (HTIOP) — це IIOP поверх HTTP.



29. Перехоплювачi (interceptors)

  • Для модифiкацiї запиту на шляху «клiєнт-сервер» i зворотного повiдомлення сервера використовують кiлька типiв фрагментiв кодiв перехоплювачiв (interceptors). Так, перехоплювач рiвня запитiв (Request Level Interceptor) модифiкує записи вiд замiсника, а пiсля проходження ORB перехоплювач повiдомлення (Message Level Interceptor) модифiкує повiдомлення (наприклад, дiлить за фрагментами), що надходить через ОС на сервер.



30. Використання перехоплювачiв у CORBA



31. Адаптери об'єкта (Wrappers)

  • Адаптери об'єкта (Wrappers) реалiзують правила активiзацiї групи об'єктiв. Вони викликають методи об'єкта i вiдповiдають за створення цiлiсного образу об'єкта; адаптують для клiєнта програми як об'єкти. Так, наприклад, переносний адаптер об'єктiв POA (Portable Object Adapter) без прив'язки до конкретного ORB дає змогу сприймати серверний код об'єктом для клiєнта.



32. Система агентiв AS (agent system)

  • Система агентiв AS (agent system) визначає платформу створення, виклику i перенесення на iншу машину агентiв та припинення їх роботи. Система AS має профiль, який визначає вигляд агента i складається з множини процесiв, кожний з яких пiдтримує одного або кiлькох агентiв.

  • Систему агентiв групують за регiонами.



33. Агенти

  • Агент розглядають як сутнiсть, складену з набору класiв або файлу з текстом програми. Реалiзацiя агента через iм'я агента передається в систему агентiв з подальшою можливiстю створювати цей агент i передавати його на iншi машини.



34. Моделi агентiв CORBA



35. Операції системи агентів

  • створення агенту;

  • припинення роботи агента;

  • ведення списку агентiв i мiсць, де вони розташованi;

  • призупинення i повторний запуск агента.

  • Регiон має шукача (Finder), який визначає мiсцеположення агента, реєструє та знiмає агента з реєстрацiї.



36. Служби брокера

  • Служба iменування (Naming Service) об'єктiв пiдтримує вiдображення iмен на iдентифiкатори об'єктiв через iмена нижнього рiвня (посилання на об'єкти i символьнi iмена) i через властивостi об'єктiв за допомогою служби властивостей (property service), яка асоцiює об'єкт з парою <атрибут, значенням>. Для цих двох служб служба обмiну (trading service) дозволяє об'єктам регламентувати свої можливостi, а клiєнтам - шукати потрiбнi служби.



37. Посилання IOR

  • Брокер ORB має власне подання посилань на об'єкти у формi мiжпроцесорного посилання на об'єкт IOR (Interoperable Object Reference), зрозумiле iншому брокеру ORB, i мiстить потрiбну iнформацiю для iдентифiкацiї об'єкта.

  • Посилання IOR мiстить, зокрема, типовий профiль (tagged profile), який включає всю iнформацiю, потрiбну для звернення до об'єкта.



38. Структура IOR CORBA



39. Посилання IOR

  • Брокер ORB має власне подання посилань на об'єкти у формi мiжпроцесорного посилання на об'єкт IOR (Interoperable Object Reference), зрозумiле iншому брокеру ORB, i мiстить потрiбну iнформацiю для iдентифiкацiї об'єкта.

  • Посилання IOR мiстить, зокрема, типовий профiль (tagged profile), який включає всю iнформацiю, потрiбну для звернення до об'єкта.



40. Пряма і непряма прив'язка IOR

  • пряма прив'язка (direct binding);

  • непряма прив'язка (indirect binding), за якими вони спочатку пересилаються у сховище реалiзацiй, яке являє собою процес, iдентифiкований в IOR об'єкта.

  • Сховище реалiзацiй переглядає свої таблицi реєстру i шукає потрiбний сервер об'єктiв.



41. Синхронiзацiя в CORBA

  • Синхронiзацiя в CORBA здiйснюється за допомогою служб паралельного доступу i транзакцiй. Транзакцiя мiстить послiдовнiсть звернень до об'єкта. Пiсля виклику об'єкт стає частиною транзакцiї, про що опосередковано повiдомляється сервер. Вiдновлювальний об'єкт (recoverable object) транзакцiї здатен включатись у процес двофазного пiдтвердження, який передбачає вiдкат. Транзакцiйнi об'єкти (transactional objects) не можуть включатись у процес двофазного пiдтвердження i призначенi зазвичай лише для зчитування.



42. Служба паралельного доступу

  • Служба паралельного доступу реалiзовується центральним менеджером блокувань, який пiдтримує кiлька ступенiв деталiзацiї блокувань, що особливо важливо для БД (зокрема, блокування записiв та таблиць).



43. Кешування та реплiкацiя

  • CORBA не пiдтримує узагальненого кешування та реплiкацiї, але окремi їх реалiзацiї використовують для забезпечення вiдмовостiйкостi. Тому в додатках передбачають спецiальнi засоби, зокрема для їх реалiзацiї з використанням перехоплювачiв.



44. Вiдмовостiйкiсть CORBA

  • В останнiх версiях CORBA вiдмовостiйкiсть забезпечується реплiкацiєю та створенням груп об'єктiв, якi мiстять однаковi копiї, i використанi спецiальнi посилання IOR (мiжоперацiйне посилання) на групу об'єктiв IOGR (Interoperable Object Group Reference), на реплiки групи як на рiзнi об'єкти.



45. Захист в CORBA

  • Ядро захисту CORBA формується пiдтриманням захищених звернень до об'єкта. При цьому об'єкти прикладного рiвня нiчого «не знають» про використання служб захисту, крiм випадкiв, коли цього вимагає клiєнт.



46. Посилання на об’єкт Corba Location

  • Corbaloc (Corba Location) - рядкове посилання на об'єкт CORBA і виглядає як URL.

  • Всі реалізації CORBA повинні підтримувати як мінімум два варіанти певний OMG URL: corbaloc: і corbaname:. Їх призначення в тому, щоб надати можливість людині можливість читати/редагувати посилання, за допомогою якого можна отримати IOR.

  • Приклад corbaloc:

          • corbaloc::160.45.110.41:38693/standardns/nameserver-poa/_root
  • Реалізація CORBA може надавати підтримку форматів «http:», «ftp:» і «file:». Призначення цих форматів в тому, щоб вказати спосіб, звідки узяти рядкове представлення IOR.



Питання заняття

  • Промисловий стандарт CORBA.



Питання?

  • Розподілені інформаційні системи

  • www.simulation.kiev.ua/dis/



Схожі:

Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 07. Розподілена система dcom діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Використовується переважно у ос windows, хоча була реалізована на декількох платформах
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 03. Програмне забезпечення проміжного рівня Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Концепції програмних рішень Основними програмними компонентами рiс є ос I системи промiжного рiвня
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 04. Зв'язок процесів на рівні протоколів Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Т. к. Ріс побудовані з використанням принципа відкритості, то використовуються стандартні протоколи обміну даними між процесами
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 12. Моделi I системи узгодження Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Типи моделей узгоджень Системи узгодження передбачають вiддiлення обчислювальних процесiв вiд механiзмiв їх узгодження
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 01. Структура І основні задачі створення розподілених систем Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Визначення розподіленої системи Розподілена система це комплекс незалежних комп'ютерів, які користувач сприймає як єдину об'єднану...
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 10. Система coda та iншi розподiленi файловi системи Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Прототипом системи є система afs на 10000 робочих станцiй I має ту ж саму afs virtue органiзацiю
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 05. Зв'язок на основі повідомлень І потоків Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Зв'язок на основi повiдомлень Зв'язок на пiдставi повiдомлень дозволяє уникнути блокування клiєнта у процесi здiйснення операцiї,...
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 15. Розподiлене пiдтвердження та вiдновлення процесiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Розподiлене пiдтвердження (Distributed commit) являє собою бiльш загальне завдання порiвняно з атомарним груповим розсиланням i передбачає...
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
За стандартизацiю протоколiв удосконалення мiжоперацiйної взаємодiї та удосконалення систем на основi World Wide Web (www) з 1994...
Лекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 13. Процеси розподiлених систем Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
ОС. Вiдслiдковуються процеси за допомогою таблиць процесiв (process table), якi мiстять записи даних (значення регiстрiв, процесора,...

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка