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.

Список брокерів (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.

Дивись також[ред.ред. код]

Посилання[ред.ред. код]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.