- •Розподілені системи обробки інформації
- •Передмова
- •Розділ 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.5. Підсумки порівняння
Отже, дві ведучі технології побудови розподілених об'єктних середовищ мають подібні базові принципи і безліч розходжень у деталях реалізації. Обидві технології мають солідний багаж проектів на їхній основі, що наочно демонструють численні «історії успіху» на Web-вузлі консорціуму OMG (www.omg.org) і домашній сторінці СОМ (www.microsoft.com/com). Приклади конкретних реалізацій систем на базі CORBA групуються за галузями промисловості, і їхній список дуже довгий — аерокосмічна індустрія, банківська справа і фінанси, хімічна промисловість, охорона здоров'я, виробництво, видавничі компанії, роздрібна торгівля, телекомунікації, урядові і наукові організації і, нарешті, реклама і маркетинг.
СОМ також може похвалитися значною кількістю інсталяцій. Однак донедавна в її єпархію входили переважно настільні системи і мережі масштабу робочої групи чи групи підрозділу. Подібні СОМ-застосунки довели свою надійність і ефективність. Додатковий плюс — інтеграція з мовами програмування й інструментальними засобами, що спрощує розроблення застосунків на базі СОМ. Без Windows-систем зараз не обходиться більшість підприємств, тому СОМ/DСОМ неминуче буде важливим елементом корпоративних архітектур. Питання в тім, чи зможе ця технологія взяти на себе складні застосунки корпоративного масштабу, як це робить CORBA (для чого вона, власне, і створювалася).
Побудова розподілених об'єктних систем — не тільки організація викликів віддалених методів об'єктів. Необхідно шукати ефективне рішення таких проблем, як розгортання, забезпечення захисту, керування транзакціями і координоване використання розподілюваних ресурсів, обробка виняткових і помилкових ситуацій, підтримка асинхронних комунікацій і забезпечення високої продуктивності. СОМ пройшла серйозний шлях від підтримки складених документів до розподілених об'єктів. Тепер її успіх як технології корпоративного масштабу залежить від того, наскільки ефективними будуть зусилля Microsoft у вирішенні перерахованих вище завдань. Відсутність чіткої формалізації архітектури, орієнтація на оптимізацію під окрему мову або платформу, а не на загальні рішення, типовий для корпорації процес внесення змін за принципом «ad-hoc» ("спеціально підібраний до даного випадку", "епізодичний") — усе це аргументи не на користь СОМ.
З іншого боку, у СОМ, безумовно, є серйозні напрацювання, що дозволяють розраховувати на успіх. Сервер транзакцій MTS здатний значно підвищити продуктивність клієнт-серверних застосунків. Повна інтеграція MTS і служби асинхронних взаємодій MSMQ з базовими можливостями СОМ у специфікації СОМ+, а також засобу підтримки успадкованих застосунків на мейнфреймах і тісний взаємозв'язок СОМ і її служби з операційною системою роблять цю модель привабливою базовою технологією для побудови об’єктно-орієнтованих розподілених застосунків. Але тільки для тих обчислювальних середовищ, що спираються на Windows.
У порівнянні із СОМ, CORBA являє собою чітку і повну об'єктну архітектуру, початково орієнтовану на гетерогенне середовище. Використання IDL для всіх визначень елементів архітектури робить модель погодженою, чітко організованою і легко розширюваною. Концепція відображення в мови програмування забезпечує взаємодію об'єктів, створюваних у різних мовних середовищах. Поняття об'єктного посилання забезпечує строгу ідентифікацію об’єкту і спрощує роботу з розміщення об’єкту.
CORBA забезпечує реальну багатоплатформенність. Реалізації CORBA численні і належать багатьом виробникам (з їхнім повним списком і описом продуктів можна познайомитися у Web за адресою www.corba.org/vendors). Ці продукти підтримують великий діапазон апаратних платформ, у тому числі мейнфрейми, мінікомп’ютери і Unix-системи. Однак розмаїтість реалізацій має і свої недоліки, насамперед потенційну проблему несумісності.
Ряд продуктів дозволяє співіснувати об’єктум СОМ/CORBA. Взаємодія об'єктів CORBA з OLE/COM визначається в специфікації Part B COM-to-CORBA Interworking, що являє собою розширення специфікації моста COM-CORBA (визначеної ще в специфікації CORBA2.0), що підвищує продуктивність завдяки використанню DistributedCOM (DCOM). Специфікація моста містить у собі відображення (тобто трансляцію) з мови визначення інтерфейсу (IDL) платформи CORBA на мову IDL платформи COM (він зветься MIDL) і протокол зв'язку між компонентами. Підтримку змішаного середовища СОМ/CORBA забезпечують у своїх системах, наприклад, компанії Iona, Visual Edge і NobleNet. Так, Iona одержала ліцензію від Microsoft на використання технології СОМ у системі Сомet, що дозволяє організувати «міст» між об’єктуми в різних архітектурах. Безпосередню інтеграцію СОМ, CORBA, RPC і Java забезпечує система Nouveau компанії NobleNet.
Контрольні запитання та завдання:
-
Назвіть базові концепції технології CORBA.
-
Опишіть процес розроблення CORBA-сервера.
-
Опишіть процес розроблення клієнта в технології CORBA.
-
Які основні принципи об’єктних моделей СОМ та CORBA.
-
Назвіть базові об’єкти та інтерфейси в технологіях СОМ та CORBA.
-
Зробіть порівняння специфікацій СОМ та CORBA.