1 / 50

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

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

erling
Download Presentation

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

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. Лекція 06. Промисловий стандарт CORBA Діденко Дмитро Георгійович Старший викладач кафедри ММСА ННК «ІПСА» Національний технічний університет України «Київський політехнічний інститут» м. Київ, Україна

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

  3. 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. Промисловий стандарт CORBA

  4. 2. Архiтектура CORBA Промисловий стандарт CORBA

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

  6. 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. Промисловий стандарт CORBA

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

  8. 6. Категорії операцій • однаковi для всiх реалiзацiй ORB; • специфiчнi для конкретного об'єктного типу; • специфiчнi для окремих видiв реалiзацiй об'єктiв. Промисловий стандарт CORBA

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

  10. 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. Промисловий стандарт CORBA

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

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

  13. 11. Структура клiєнта i сервера на основi брокера ORB Промисловий стандарт CORBA

  14. 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в). Промисловий стандарт CORBA

  15. 13. Послiдовнiсть проходження Промисловий стандарт CORBA

  16. 14. Інтерфейсів та набори служб Iнтерфейс - це набiр методiв, а об'єкт визначає, якi служби клiєнт може запросити. Система об'єктiв забезпечує клiєнта набором служб. Промисловий стандарт CORBA

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

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

  19. 17. Типи служб CORBA • транзакцiй; • подiй; • сповiщень; • служби обмiну; • схоронностi; • захисту. Промисловий стандарт CORBA

  20. 18. Види зв’язку • асинхронний запит без вiдповiдi - використовується одностороннiй запит (one-way request) з використанням служби доставляння з максимальним зусиллям (best effort delivery) без гарантiї якостi доставки. • вiдкладений синхроний запит (differed synchronous reqest) - ресурс повертається клiєнтовi асинхронно пiсля отримання результату сервера. Iснує також одноразовий синхронний запит. Промисловий стандарт CORBA

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

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

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

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

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

  26. 24. Модель опитування (polling model) За модель опитування клiєнту надається набiр операцiй для опитування брокера ORB на наявнiсть отриманих результатiв, тобто метод опитування реалiзує клiєнтський брокер ORB. Повiдомлення мiж непрацездатним клiєнтом або сервером зберiгається базовою системою. Промисловий стандарт CORBA

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

  28. 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). Промисловий стандарт CORBA

  29. 27. Повiдомлення GIOP Промисловий стандарт CORBA

  30. 28. Склад загального протоколу межброкерного взаємодії GIOP • Internet INTERORB Protocol (IIOP) — Міжброкерний протокол для Інтернет, це протокол для організації взаємодії між різними брокерами, опублікований консорціумом OMG. IIOP використовується GIOP в середовищі інтернет, і забезпечує відображення повідомлень між GIOP і шаром TCP/IP. • SSL INTERORB Protocol (SSLIOP) — це IIOP поверх SSL, підтримуються шифрування і аутентифікація. • Hypertext INTERORB Protocol (HTIOP) — це IIOP поверх HTTP. Промисловий стандарт CORBA

  31. 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лить за фрагментами), що надходить через ОС на сервер. Промисловий стандарт CORBA

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

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

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

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

  36. 34. Моделi агентiв CORBA Промисловий стандарт CORBA

  37. 35. Операції системи агентів • створення агенту; • припинення роботи агента; • ведення списку агентiв i мiсць, де вони розташованi; • призупинення i повторний запуск агента. Регiон має шукача (Finder), який визначає мiсцеположення агента, реєструє та знiмає агента з реєстрацiї. Промисловий стандарт CORBA

  38. 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 служби. Промисловий стандарт CORBA

  39. 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бну для звернення до об'єкта. Промисловий стандарт CORBA

  40. 38. Структура IOR CORBA Промисловий стандарт CORBA

  41. 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бну для звернення до об'єкта. Промисловий стандарт CORBA

  42. 40. Пряма і непряма прив'язка IOR • пряма прив'язка (direct binding); • непряма прив'язка (indirect binding), за якими вони спочатку пересилаються у сховище реалiзацiй, яке являє собою процес, iдентифiкований в IOR об'єкта. Сховище реалiзацiй переглядає свої таблицi реєстру i шукає потрiбний сервер об'єктiв. Промисловий стандарт CORBA

  43. 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 зазвичай лише для зчитування. Промисловий стандарт CORBA

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

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

  46. 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 об'єкти. Промисловий стандарт CORBA

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

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

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

  50. Питання? Розподілені інформаційні системи www.simulation.kiev.ua/dis/

More Related