- •Межобъектная Связь
- •Ташкент
- •Содержание
- •2. Com модель
- •3. Сложные документы
- •4. РаспределенныйCom
- •Тема 2. Модель компонентных объектов (com)
- •1. Описание сом объектов
- •2. Интерфейсы вCom
- •3. Создание com объектов
- •Тема 3. Пакование и информация типов
- •1. Что такое пакование На что действительно указывает указатель интерфейса
- •2. Информация типов
- •Тема 4. Автоматизация
- •1.Что понимается под автоматизацией
- •2. Дуальный интерфейс
- •Тема 5. Постоянство
- •1. Понимание постоянства
- •2. Структурная память для файлов
- •3. Контроль постоянства объекта
- •Тема 6. Моникеры
- •1. Что такое моникеры?
- •2. Асинхронный моникер
- •Тема 7.ActiveXуправление
- •1. Эволюция ActiveX управления
- •2. Три взгляда наActiveXуправление
- •3. Методы и события вActiveXуправление
- •Тема 8. Однородная передача данных и соединяемые объекты
- •1. Однородная передача данных
- •2. Соединение объектов
- •Тема 9. Распределенный сом
- •1. Создание удаленного объекта
- •2. Использование моникера в распределенномCom
- •3. Средства безопасного доступа для удаленных объектов
- •Тема 10. ActiveX, Internet, и World Wide Web
- •1.ActiveXдокументы
- •2.ActiveXдокументы иWeb
- •Тема 11. Введение в corba
- •1. Знакомство с набором спецификаций omg
- •2. Поддержка Анализа & Проектирования
- •3. Основы объектов
- •Что такое объект?
- •4. Corba Основы взаимодействия
- •5. Что такое orb
- •Список Литературы
- •Приложение а. Глоссарий
Тема 9. Распределенный сом
План
1. Создание удаленного объекта
2. Использование моникера в распределенном COM
3 Средства безопасного доступа для удаленных объектов
1. Создание удаленного объекта
• DCOM позволяет объектам быть созданными и использованы на удаленных машинах
• DCOMобеспечивает доступ к распределенным сервисам безопасности
•Создание удаленного объекта
- Использование CoCreateInstance
• Клиент может создать удаленный объект, используя CoCreateInstance
• Где созданный объект может быть сконфигурирован в системном реестре
• Как названа удаленная машина зависит от протокола, используемого, чтобы получить доступ к этой машине
• Создание удаленного объекта требует только один пробег вокруг сети
- Используя CoCreateInstanceEx
• Клиент может создать удаленный объект с CoCreateInstanceEx
•
CoCreateInstanceEx
также позволяет клиенту определить где
объект должен быть создан
Рис. 9.1. Использование CoCreateInstance, чтобы создать удаленный объект

Рис. 9.2. Использование CoCreateInstanceEx, чтобы использовать удаленный объект и запросить указатели множественного интерфейса
2. Использование моникера в распределенномCom
Объединение создания и инициализации
• Клиент обычно инициализирует объект после его создания
• Удаленные объекты могут также потребовать инициализации
• CoGetInstanceFromFile и CoGetInstanccFromIStorage объединяют создание и инициализацию
• Значение ActivateAtStorage является причиной того, чтобы объект был создан там, где имеется его постоянное состояние
Использование Moniker
• Moniker может создать объект на удаленной машине
• Мoniker может создать удаленный объект через вызов CoCreateInstance
• Moniker использует значение ActivateAtStorage
• Мoniker файла может создать объект на машине, где файл , на который он ссылается
• URL moniker может создать объект на машине, определенной URL моникера

Рис. 9.3. Использование файлового moniker. Чтобы создать и инициализировать удаленный объект.
3. Средства безопасного доступа для удаленных объектов
• Доступ к удаленному объекту
-Объект вызова удаленной процедуры RPC
• Вызовы удаленных методов основываются на объекте RPC
• Объект RPC включает два различных протокола
• Вызов объекта RPC (ORPC ) требует соединение информации
-OXID и решатели OXID
• OXID идентифицирует экспортера объекта,который может быть процессом или его частью (если многопоточный процесс )
• Каждая машина DCOM запускает решатель объекта
• OXID отображает в информацию соединения для экспортера объекта
-OBJREF: Передача указателей интерфейса
• ORPC использует NDR, чтобы представить параметры вызова в сети
• Указатели объекта используются, чтобы передавать указатели интерфейса между объектами
• Данные OBJREF, ОХID решатель могут установить соединение информации для удаленного указателя интерфейса

Рис. 9.4. OXID решатель запускается на всех машинах, которые поддерживают DCOM
• Один OXID решатель может запросить другой, чтобы получить информацию соединения
• Дизайн DCOM уменьшает перегрузку, которою несет объект
• Объекты делают «ленивую» регистрацию протокола
-Роль SCM
• Создание удаленного объекта основывается на IActivation
-Оптимизация lUnknown
• Интерфейс IRemUnknown позволяет оптимизацию вызовов методов IUnknown
• Клиенты не вызывают IRemUnknown методы прямо
• Интерфейс IMultiQI позволяет клиенту запросить несколько указателей интерфейсов одновременно
-Pinging («свист»)
• Pinging позволяет удаленному объекту узнать о «безвременном отключении» клиента
• Отправляется единичный пакет, чтобы пропинговать несколько интерфейсов на нескольких объектах

Р
ис.
9.5. Чтобы получить информацию соединения
для нового объектаOBJREF,
OXID
resolver
делает запрос машине, на которой объект
определен запущен его OBJREF
Рис. 9.6. SCM спрашивает SCM в другой системе, чтобы создать объект через интерфейс IActivation

Рис 9.7. OXID объект управляет удаленными вызовами IUnknown для их объектов
• Обеспечение Безопасного Доступа к Отдаленным Объектам
• DCOM обеспечивает безопасность и активизации, и вызова
-Безопасность активизации
• Безопасность активации управляет кто может вызвать сервер удаленно
• Несколько опций существуют для установки основной идентичности нового объекта
-Безопасность вызова
• Безопасность вызова управляет тем, от кого объект может получать вызовы и др.
•Сегодня используются многие механизмы распределенной безопасности
• DCOM позволяет использовать несколько механизмов безопасности
• Автоматическая безопасность использует CoInitializeSecurity, чтобы установить опции безопасности для сего процесса
• Администратор может установить безопасность всей сети по умолчанию
• По-интерфейсная безопасность устанавливает опции безопасности для индивидуальных интерфейсов
• Клиенты используют IClientSecuritv, чтобы установить опции безопасности по-вызовам
• Методы IClientSecurity устанавливают опции безопасности, выполняемые proxy клиента
• Функции помощника облегчают использование методов IclientSecurity
• Объекты должны выполнять решения санкционирования
• Объекты используют IServerSecurity, чтобы узнать клиентам, которые позвонили им
•Важность DCOM
• Объектная технология сходится с распределенными вычислениями в DCOM
Новые понятия и термины:
Клиент может создать удаленный объект, используя CoCreateInstance
Моникер может создать объект на удаленной машине
OXID – определяет объект экспортер
DCOM (Distributed COM) – распределенный COM
SCM – Service Control Manager
Контрольные вопросы:
1. Создание удаленного объекта
2. Использование моникера в распределенном COM
3 Средства доступа для удаленных объектов
Литература:
1.David Chappell “Understanding Active X and OLE”.Microsoft Press, 1996
