- •Розподілені системи обробки інформації
- •Передмова
- •Розділ 1. Огляд компонентних технологій створення розподілених програмних систем
- •1.1. Узагальнена архітектура і механізм функціонування об'єктних розподілених систем
- •1.2. Основні приклади технологій створення розподілених систем
- •1.3. Переваги використання розподілених технологій
- •Розділ 2. Розроблення розподілених систем на основі модели com/dcom у Delphi
- •2.1. Використання dll у Delphi
- •2.1.1. Поняття dll
- •2.1.2. Створення dll у середовищі Delphi (експорт)
- •2.1.3. Використання dll у Delphi (імпорт)
- •2.1.4. Створення динамічних бібліотек для редагування ресурсів
- •2.2. Основи сом-технології
- •2.2.1. Загальний опис
- •2.2.2. Базові поняття
- •2.2.3. Бібліотека сом
- •2.2.4. Бібліотека типів
- •2.3.2. Сервер сом у Delphi
- •2.3.3. Бібліотека типів у delphі
- •2.4. Створення системи клієнт-сервер на основі базового com-об’єкту у складі внутрішнього сервера
- •2.4.1. Створення сом-сервера
- •2.4.2. Створення сом-клієнта
- •2.4.3. Використання сом-об’єкту в клієнтській програмі
- •2.5. Механізм міжпроцесного обміну
- •2.6. Створення систем клієнт-сервер на основі зовнішнього базового сом-об’єкту
- •2.6.1. Основні поняття
- •2.6.2. Засоби організації потокової взаємодії клієнта і сервера
- •2.6.3. Методи формування екземпляра сом-об’єкту
- •2.6.4. Формування екземпляра зовнішнього сом-об’єкту
- •2.6.5. Створення сом-сервера
- •2.6.6. Створення сом-клієнта
- •2.7. Автоматизація
- •Створення сервера автоматизації;
- •2.7.1. Базові поняття
- •2.7.2. Сервер автоматизації
- •2.7.3. Контролер автоматизації
- •2.8. Створення системи клієнт-сервер на основі внутрішнього сервера автоматизації
- •2.8.1. Об'єкт автоматизації. Клас tAutoObject
- •2.8.2. Вбудований сервер автоматизації
- •2.8.3. Створення клієнта автоматизації
- •2.9. Зовнішній сервер автоматизації
- •2.9.1. Основні визначення
- •2.9.2. Виконання маршалінгу з рядками, шрифтами і зображеннями
- •2.9.3. Перетворення наявного застосунка в сом-сервер автоматизації
- •2.9.4. Створення клієнта автоматизації
- •2.10. Події в сом і зворотні виклики на основі інтерфейсів диспетчирування
- •2.10.1. Створення сервера автоматизації
- •3. Формування бібліотеки типів
- •4. Формування методів
- •5. Реєстрація сервера
- •2.10.2. Створення клієнтського застосунка
- •2.10.3. Підключення множини клієнтів до сервера
- •2.11. Інтерфейси зі зворотним викликом
- •2.11.1. Створення сервера
- •2.11.2. Створення клієнтського застосунка
- •2.12. Технологія ActiveХ
- •2.12.1. Використання готових елементів АctiveХ
- •2.12.2. Розроблення власних елементів АctiveХ
- •2.12.3. Поширення елементів керування ActiveХ і форм ActiveХForm у Web-середовище
- •2.14. Dcom технологія
- •2.14.1. Загальна схема взаємодії сом-клієнта і сом-сервера
- •2.14.2. Розроблення системи «клієнт-віддалений сом-сервер»
- •Розділ 3. Проектування розподілених систем на платформі Microsoft .Net
- •3.1.1. Здійсненя викликань з типів .Net до типів сом
- •3.1.2. Звернення клієнта сом до збірки .Net
- •3.2. Об’єктно-орієнтована архітектура .Net Remotіng – основа створення розподілених систем Mіcrosoft .Net.
- •3.2.1. Створення системи клієнт-сервер на основі технології Remoting
- •Розділ 4. Створення системи "клієнт - сервер" на основі технології corba
- •4.1. Загальні теоретичні відомості
- •4.2. Створення серверного застосунка
- •1. Створення файла опису інтерфейсу
- •Викликання конструктора створення corba сервера
- •Формуємо модуль Unit1
- •Формуємо реалізацію методу
- •4.3. Створення клієнтського застосунка
- •Викликання конструктора corba-клієнта
- •2. Формування форми
- •3. Запуск застосунка
- •Приклад програмних кодів сервера
- •4.4. Порівняльний аналіз технологій сом і соrва
- •4.4.1. Основні принципи об'єктних моделей
- •4.4.2. Об'єктні моделі
- •4.4.3. Підтримка операційних систем
- •4.4.4. Формальний опис архітектури і проблеми реалізації
- •4.4.5. Підсумки порівняння
- •Літературні джерела
4.4.4. Формальний опис архітектури і проблеми реалізації
Обидві технології описуються у специфікаціях, але статус, ступінь деталізації і принципи написання цих документів дуже різняться.
CORBA визначається за допомогою формалізованої специфікації, написаної мовою IDL. Появі чергової версії передує чітко організований процес адаптації нового стандарту, що звичайно завершується швидше, ніж аналогічні процедури в ISO. Як результат, CORBA може похвалитися значною кількістю реалізацій. Первісний варіант специфікації з'явився у 1991 році, і вже у 1992-му був випущений комерційний продукт — брокер об'єктних запитів DEC ObjectBroker.
Специфікація CORBA — це строго організований опис, не обтяжений деталями реалізації, що залишаються для розроблювачів конкретних продуктів. Передбаченість реалізацій від різних постачальників, з одного боку, стимулює конкуренцію і, як наслідок, удосконалення технології, але з іншого боку — породжує проблеми несумісності різнорідних продуктів. Так, специфікація CORBA включає визначення Basic Object Adapter, що забезпечує доступ до сервисів брокера об'єктних запитів з боку сервера об’єкту. Ця частина специфікації виявилася занадто загальною, так що розроблювачі одержали занадто великий ступінь свободи в реалізації власних об'єктних адаптерів. У підсумку, часто виявлялося неможливо перенести серверні компоненти архітектури з одного ORB на інший. У новій специфікації об'єктного адаптера (Portable Object Adapter, POA) виправлено цей недолік.
Різні брокери запитів взаємодіють між собою за протоколом General Inter ORB Protocol (GIOP). У зв'язку з активним перенесенням у середовище Web критично важливих корпоративних застосунків найбільший інтерес викликає реалізація протоколу GIOP на базі TCP/IP — протокол Internet Inter ORB Protocol (IIOP).
Специфікація СОМ розроблена Microsoft, належить Microsoft і контролюється тільки Microsoft. На відміну від CORBA – це не настільки строго організований документ. Деталей в описі досить, однак вони не завжди доречні. Так, наприклад, у специфікації докладно визначається модель Connectable Objects, що лежить в основі механізму обробки подій у Visual Basic, але не має явної підтримки в самій СОМ. А розділ опису бібліотеки типів, необхідного компонента для динамічного виклику методів, не містить практично ніяких подробиць реалізації, і розроблювачу доводиться шукати їх в інших джерелах, наприклад, у документації щодо SDK для ОС Windows.
Донедавна реалізації СОМ належали тільки самій Microsoft. І це можна вважати її перевагою, оскільки не виникало проблем несумісності продуктів різних постачальників. Зараз це питання може стати актуальним, якщо Microsoft дійсно зацікавлена в реалізації СОМ іншими виробниками. Засумніватися ж у такій зацікавленості змушує її удосконалена версія, СОМ+, що вводить у цю об'єктну модель ряд важливих функцій і служб, доступних тільки на платформах Microsoft.
Отже, СОМ не має такої широкої підтримки як CORBA, це рішення однієї компанії для одного сімейства операційних систем. Однак звернемо увагу на те, що цією компанією є Microsoft, а таким сімейством операційних систем – Windows.
Обидві специфікації поступово усе більше і більше розростаються. Так, постійно росте число підтримуваних API-інтерфейсів в архітектурі СОМ. У CORBA стає все більше IDL-інтерфейсів, що описують нові служби. І це ускладнює завдання підтримки документів у погодженому і зручному для використання вигляді, і для однієї компанії, як у випадку СОМ, і тим більше для цілого конгломерату організацій, який являє собою Консорціум OMG.
У CORBA деякі служби, наприклад, Collections і Queries, перекриваються по реалізованих функціях, і існує відразу три стандарти, що описують базові концепції метамоделі — Object Management Architecture, Meta-Object Facility і Business Object Facility.