CORBA

CORBA (англ. Common Object Request Broker Architecture — загальна архітектура брокера об'єктних запитів) — це запропонований консорціумом OMG технологічний стандарт розробки розподілених застосунків.

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

Загальний огляд

CORBA об'єднує програмний код в об'єкт, що містить інформацію про функціональність та інтерфейси доступу. Готові об'єкти можуть викликатися з інших програм або розташованих у мережі об'єктів CORBA.

CORBA використовує мову опису інтерфейсів OMG IDL для визначення протоколів взаємодії об'єктів із зовнішнім світом. Стандарт CORBA описує правила відображення IDL у мову реалізації об'єкта: Ada, C, C++, Lisp, Smalltalk, Java, COBOL, Pl/i і Python. Також існують нестандартні відображення у Perl, Visual Basic, Ruby і Tcl, які реалізовані розробленими для них засобами ORB.

Ключові поняття технології

Об'єкти за значенням (ОЗЗ)

Крім віддалених об'єктів в CORBA 3.0 визначено поняття ОЗЗ. Код методів таких об'єктів за замовчуванням виконується локально. Якщо ОЗЗ був отриманий з віддаленого боку, то необхідний код повинен або бути наперед відомий обом сторонам, або бути динамічно завантажений. Щоб це було можливо, запис, що визначає ОЗЗ, містить поле Code Base — список URL, звідки може бути завантажено код. У ОЗЗ можуть також бути і віддалені методи.

У ОЗЗ можуть бути поля, які передаються разом з самим ОЗЗ. Вони також можуть бути ОЗЗ, формуючи таким чином списки, дерева або довільні графи. ОЗЗ можуть мати ієрархію класів, включаючи множинне наслідування і абстрактні класи.

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

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

Модель CCM надає контейнер компонентів, в якому можуть поставлятися програмні компоненти. Контейнер надає набір служб, які може використовувати компонент. Ці служби включають, але не обмежені, службами повідомлень, авторизації, незмінності і керування транзакціями. Ці служби найбільш часто використовуються розподіленими додатками. Перенесення реалізації сервісів до контейнера додатку дозволяє значно знизити складність реалізації власне компонентів, оскільки дозволяє уникнути необхідності реалізації цього функціоналу самим додатком.

Загальний протокол взаємодії брокерів (GIOP)

GIOP — абстрактний протокол в стандарті CORBA, що забезпечує взаємодію брокерів. Стандарти, пов'язані з протоколом, випускає Object Management Group (OMG). Архітектура GIOP включає декілька конкретних протоколів:

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

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.

Object Management Architecture

OMG восени 1990 року вперше опублікувала документ Object Management Architecture Guide (OMA Guide) та відкоригували 1972 року. У січні 1995 року додані деталі щодо Common Facilities (Спільні засоби).[1]

рис 2. OMG's Object Management Architecture

Основні елементи архітектури:[1]

  • Object Request Broker, що визначає об'єктну шину CORBA.
  • Common Object Services, служби з об'єктивним інтерфейсом, які забезпечують підтримку базових функцій об'єктів.
  • Common Facilities, набір класів та об'єктів для підтримки багатьох різних функцій
  • Application Objects, прикладні бізнес-об'єкти та додатки, основна всієї CORBA-інфраструктури.

Список брокерів (CORBA Orbs)

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

Література

  • Б. В. Кузенко, О. А. Чайковська «ТЕХНОЛОГІЯ РОЗПОДІЛЕНИХ СИСТЕМ ТА ПАРАЛЕЛЬНИХ ОБЧИСЛЕНЬ» Навчальний посібник. — Київ — 2011. — С. 19-32.
  • Корнеев В. В. Параллельные вычислительные системы. — М.: Нолидж, 1999.

Див. також

Посилання

  1. Сергей Семихатов, Технологии WWW, Corba и Java в построении распределенных объектных систем. Май, 1999.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.