Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций РСОИ.doc
Скачиваний:
25
Добавлен:
04.11.2018
Размер:
1.93 Mб
Скачать

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-машини.