Распределенная обработка данных. Найханова Л.В. - 109 стр.

UptoLike

Составители: 

109
позволяющий описывать вызываемые методы сервера и их параметры, не вдаваясь в
детали и правила реализации серверов и клиентов на том или ином языке
программирования. Используя IDL, можно описать интерфейсы сервера, а затем создать
его реализацию на любом языке программирования с помощью широкого спектра средств
разработки для различных платформ, равно как и реализацию клиента. В определенном
смысле IDL - это стандарт для описания взаимодействия между компонентами
распределенной системы, не зависящий от деталей реализации, языков программирования
и платформ.
Лекция 3. Использование Microsoft Transaction Server для управления
распределенными транзакциями
COM и распределенные вычисления
Выше во второй части курса были рассмотрены общие вопросы организации
распределенных вычислений и общие принципы взаимодействия клиентов и серверов в
распределенных системах. Данная лекция посвящена одной из многочисленных
реализаций технологии распределенных вычислений - технологии Microsoft COM (точнее,
ее расширению - COM+).
В отличие от технологий CORBA (Component Object Request Broker Architecture) или
DCE (Distributed Computing Environment), появившихся изначально в виде спецификаций
и лишь затем - в виде конкретных реализаций различных производителей, Microsoft COM
появилась одновременно и в виде спецификации (т.е. правил создания серверов и
клиентов, описания соответствующего API, диалекта IDL и др.), и в виде реализации
(функции Windows API, утилиты в составе различных SDK, поддержка и широкое
использование данной технологии в операционных системах Windows 95/98/NT, вплоть до
использования реестра в качестве регистрационной базы данных COM-сервисов и списков
пользователей сети при определении прав доступа к сервисам, а также поддержка COM в
других программных продуктах Microsoft). Это обусловило широкую популярность COM
как технологии, реализующей объектно-ориентированный подход не на уровне
реализации кода, а на уровне сервисов и приложений операционной системы, несмотря на
ограниченный спектр поддерживаемых этой технологией платформ (пока это различные
версии Windows, хотя информация о предстоящих реализациях для других операционных
систем уже начинает появляться). В COM, как в технологии организации распределенных
вычислений нет, по существу, ничего революционного. И вызовы удаленных процедур, и
создание stub- и proxy-объектов, и регистрация сервисов в специализированных базах
данных, и язык IDL как средство описания интерфейсов сервера и сервисов - все это было
придумано задолго до возникновения COM (и даже задолго до появления Windows).
Однако, COM согласно спецификациям, позволяет решить множество проблем
программирования для Windows, таких как:
- существование различных версий одних и тех же библиотек;
- возможность замены новых версий библиотек старыми при установке тех или
иных программных продуктов;
- наличие нескольких реализаций одной и той же спецификации сервиса;
- присутствие нескольких сервисов в одной библиотеке;
- и др.
Это также существенно повлияло на популярность COM. Однако подробное
обсуждение этих возможностей выходит за рамки данного курса. Интересующиеся этими
аспектами могут более подробно ознакомиться с ними на сайте Microsoft (см., например,
Brockschmidt K. What OLE is really about, www.microsoft.com/oledev/olecom/aboutole.html).
позволяющий описывать вызываемые методы сервера и их параметры, не вдаваясь в
детали и правила реализации серверов и клиентов на том или ином языке
программирования. Используя IDL, можно описать интерфейсы сервера, а затем создать
его реализацию на любом языке программирования с помощью широкого спектра средств
разработки для различных платформ, равно как и реализацию клиента. В определенном
смысле IDL - это стандарт для описания взаимодействия между компонентами
распределенной системы, не зависящий от деталей реализации, языков программирования
и платформ.



Лекция 3. Использование Microsoft Transaction Server для управления
        распределенными транзакциями
     COM и распределенные вычисления
      Выше во второй части курса были рассмотрены общие вопросы организации
распределенных вычислений и общие принципы взаимодействия клиентов и серверов в
распределенных системах. Данная лекция посвящена одной из многочисленных
реализаций технологии распределенных вычислений - технологии Microsoft COM (точнее,
ее расширению - COM+).
      В отличие от технологий CORBA (Component Object Request Broker Architecture) или
DCE (Distributed Computing Environment), появившихся изначально в виде спецификаций
и лишь затем - в виде конкретных реализаций различных производителей, Microsoft COM
появилась одновременно и в виде спецификации (т.е. правил создания серверов и
клиентов, описания соответствующего API, диалекта IDL и др.), и в виде реализации
(функции Windows API, утилиты в составе различных SDK, поддержка и широкое
использование данной технологии в операционных системах Windows 95/98/NT, вплоть до
использования реестра в качестве регистрационной базы данных COM-сервисов и списков
пользователей сети при определении прав доступа к сервисам, а также поддержка COM в
других программных продуктах Microsoft). Это обусловило широкую популярность COM
как технологии, реализующей объектно-ориентированный подход не на уровне
реализации кода, а на уровне сервисов и приложений операционной системы, несмотря на
ограниченный спектр поддерживаемых этой технологией платформ (пока это различные
версии Windows, хотя информация о предстоящих реализациях для других операционных
систем уже начинает появляться). В COM, как в технологии организации распределенных
вычислений нет, по существу, ничего революционного. И вызовы удаленных процедур, и
создание stub- и proxy-объектов, и регистрация сервисов в специализированных базах
данных, и язык IDL как средство описания интерфейсов сервера и сервисов - все это было
придумано задолго до возникновения COM (и даже задолго до появления Windows).
      Однако, COM согласно спецификациям, позволяет решить множество проблем
программирования для Windows, таких как:
       - существование различных версий одних и тех же библиотек;
       - возможность замены новых версий библиотек старыми при установке тех или
           иных программных продуктов;
       - наличие нескольких реализаций одной и той же спецификации сервиса;
       - присутствие нескольких сервисов в одной библиотеке;
       - и др.
      Это также существенно повлияло на популярность COM. Однако подробное
обсуждение этих возможностей выходит за рамки данного курса. Интересующиеся этими
аспектами могут более подробно ознакомиться с ними на сайте Microsoft (см., например,
Brockschmidt K. What OLE is really about, www.microsoft.com/oledev/olecom/aboutole.html).


                                                                                      109