- •Розподілені системи обробки інформації
- •Передмова
- •Розділ 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.3. Підтримка операційних систем
Крім механізмів інтегрування об'єктів, СОМ і CORBA надають набір визначених об'єктних служб загального призначення, без реалізації яких, як правило, не обходиться жодне прикладне середовище. Перелік і призначення однойменних служб у двох об'єктних архітектурах не ідентичні. У СОМ передбачені такі загальні служби, як захист (security), керування життєвим циклом (lifecycle managemеnt), інформація про типи (type information), іменування (naming), доступ до баз даних (database access), передавання даних (data transfer), реєстрація (registry) і асинхронна взаємодія. У CORBA інформація про типи і реєстрація входять у число базових функцій брокера об'єктних запитів ORB. Служба іменування в CORBA — це каталог, у якому задані відповідності між об’єктуми і їхніми іменами. У СОМ під іменуванням мається на увазі схема перетворення імен у вказівники на об'єкт за допомогою механізму moniker.
У СОМ служби захисту, реєстрації, іменування й інформації про типи безпосередньо включені в об'єктну модель. Ряд об'єктних служб реалізовані в MTS, що створює на базі архітектури СОМ багатофункціональне середовище часу виконання для реалізації компонентних прикладних систем, реалізує такі служби, як гарантоване виконання транзакцій, контроль за розподілюваним доступом до ресурсів, керування життєвим циклом екземплярів об'єктів, керування сеансами баз даних і захист. СОМ+ цілком інтегрує MTS.
Механізм виклику віддаленої процедури забезпечує синхронна взаємодія клієнта і сервера, але для багатьох розподілених застосунків можуть знадобитися і асинхронні взаємодії між компонентами. Це завдання вирішує сервер черг повідомлень Microsoft Message Queuing (MSMQ), що забезпечує гарантовану, асинхронну доставку повідомлень за допомогою механізму черг. MSMQ доступний як у рамках СОМ, так і незалежно, за допомогою API-інтерфейсів.
Служби СОМ і сервери MTS і MSMQ реалізовані на платформах родини Windows і тісно інтегровані зі службами самих цих операційних систем. Подібна інтеграція націлена на створення на базі Windows гнучкого і надійного середовища розробки і виконання обєктно-орієнтованих систем.
Відповідно до загальних принципів архітектури CORBA, інтерфейси її об'єктних служб (специфікація CORBAservices) написані на IDL. Визначено 15 загальних служб CORBA: іменування (naming); подій (events); життєвого циклу (life cycle); довгострокового збереження об'єктів (persistent); транзакцій (transactions); контролю за доступом до розподілюваних ресурсів (concurrency control); відношень (relationsips); імпорту/експорту (externalization); запитів (query); ліцензування (licensing); властивостей (property); часу (time); захисту (security); переговорів між об’єктуми (object trader); збирання об'єктів (object collections).
Об'єктні служби CORBA відповідоють строго погодженій моделі. Найбільш значущі з них присутні принаймні в одній з численних реалізацій архітектури. До найпоширеніших відносяться служби іменування, керування життєвим циклом і подіями, що були першими із прийнятих OMG. Пізніші пропозиції OMG, наприклад, служба транзакцій, поки що мають більш обмежений спектр реалізацій.
Новий варіант об'єктної моделі СОМ покликаний спростити розроблення компонентів СОМ на мовах Java, Visual Basic і Visual C++. Правда, на відміну від CORBA, де трансляція описів на IDL у конкретну мову здійснюється найбільш природним для цієї мови способом і не вимагає ніяких його модифікацій, у СОМ+ включені засоби налаштування мови для підтримки компонентів СОМ.
Якщо Visual Basic тісно прив'язаний до операційних систем Microsоft, то Java за своєї суттю — кросплатформна мова. У віртуальну Java-машину від Microsоft додані засоби підтримки СОМ. Завдяки цьому об'єкти на Java без проблем відображаються в СОМ, але лише при використанні Microsоft JVM. Щоб перебороти це обмеження, Microsоft треба або реалізувати віртуальні Java-машини для інших платформ, або забезпечити підтримку СОМ у Java, минаючи JVM.
У CORBA початково була закладена кросплатформність і підтримка множини популярних мов програмування без необхідності яких-небудь змін у них. Тому реалізації CORBA можуть використовуватися з довільними компілятором, засобами розробки й операційною системою.
Відображення CORBA-інтерфейсів у Java не вимагають жодних змін від віртуальної Java-машини.
