Содержание
- 2. Компонентная архитектура является развитием модульной реализации систем управления, при которой конкретная конфигурация собирается из готовых модулей.
- 3. Компонентная модель СОМ лежит в основе таких технологий разработки прикладного программного обеспечения систем управления, как DCOM,
- 4. Технологии разработки прикладного программного обеспечения систем управления
- 5. От стандартного СОМ-интерфейса IUnknown произведены все остальные. Интерфейс IUnknown обязателен в любом компоненте и предназначен для
- 6. Компонент может располагать одним или несколькими СОМ-интерфейсами; клиент, в свою очередь, может пользоваться сервисом от нескольких
- 7. Клиент-серверные отношения
- 8. Компоненты СОМ бинарно совместимы, что означает, что компонент будет совместимым для использования с любыми другими СОМ-компонентами
- 10. Скачать презентацию
Слайд 2
Компонентная архитектура является развитием модульной реализации систем управления, при которой
Компонентная архитектура является развитием модульной реализации систем управления, при которой
конкретная конфигурация собирается из готовых модулей. Однако компоненты привносят в программное обеспечение новые возможности. Так, компоненты можно подключать к приложению и отключать от него. Для этого они должны удовлетворять двум требованиям: компоноваться динамически и скрывать (инкапсулировать) детали внутренней организации. При этом компонентный подход использует все возможности объектно-ориентированного подхода.
Слайд 3Компонентная модель СОМ лежит в основе таких технологий разработки прикладного программного обеспечения
Компонентная модель СОМ лежит в основе таких технологий разработки прикладного программного обеспечения
систем управления, как DCOM, OLE, OLE Автоматизация, ActiveX и ОРС. Компонентная объектная модель СОМ делает стандартную структуру объекта регулярной, управляет его жизненным циклом и общением с другими объектами. Другими словами, СОМ определяет правила структурирования объектов и их распределения в памяти, создания и уничтожения объектов, взаимодействия объектов между собой. Компонентная модель существует в рамках клиент-серверной архитектуры, когда клиент и сервер (компонент) связаны через СОМ-интерфейс. СОМ-интерфейс специфицирует функциональные возможности, которые компонент предлагает некоторой программе или другим компонентам
Слайд 4Технологии разработки прикладного программного обеспечения систем управления
Технологии разработки прикладного программного обеспечения систем управления
Слайд 5От стандартного СОМ-интерфейса IUnknown произведены все остальные. Интерфейс IUnknown обязателен в любом
От стандартного СОМ-интерфейса IUnknown произведены все остальные. Интерфейс IUnknown обязателен в любом
компоненте и предназначен для (С++)программистов; он обращает к методам (функциям) интерфейса через таблицу виртуальных методов. Располагая указателем на IUnknown, клиент может запросить и другие интерфейсы компонента. Производный от IUnknown интерфейс наследует три базовых метода:
QuerylnterfaceO, позволяющий клиенту получить указатель на любой интерфейс компонента из другого указателя интерфейса;
AddO и ReleaseO, поддерживающие механизм управления временем жизни клиента. С этой целью компонент хранит внутренний «счетчик ссылок» на своих клиентов. Если счетчик обнуляется, объект выгружает себя из памяти. При запросе указателя на интерфейс метод QuerylnterfaceO неявно вызывает метод AddO для увеличения содержимого счетчика, а после окончания работы с интерфейсом клиент явно вызывает метод ReleaseO для уменьшения содержимого счетчика ссылок.
QuerylnterfaceO, позволяющий клиенту получить указатель на любой интерфейс компонента из другого указателя интерфейса;
AddO и ReleaseO, поддерживающие механизм управления временем жизни клиента. С этой целью компонент хранит внутренний «счетчик ссылок» на своих клиентов. Если счетчик обнуляется, объект выгружает себя из памяти. При запросе указателя на интерфейс метод QuerylnterfaceO неявно вызывает метод AddO для увеличения содержимого счетчика, а после окончания работы с интерфейсом клиент явно вызывает метод ReleaseO для уменьшения содержимого счетчика ссылок.
СОМ-интерфейс IUnknown
Слайд 6
Компонент может располагать одним или несколькими СОМ-интерфейсами; клиент, в свою
Компонент может располагать одним или несколькими СОМ-интерфейсами; клиент, в свою
очередь, может пользоваться сервисом от нескольких СОМ-интерфейсов. Это значит, что один СОМ-сервер может обслуживать нескольких клиентов, а один СОМ-клиент может получать сервис от нескольких компонентов .
СОМ-сервер и СОМ-интерфейс имеют свои глобальные уникальные идентификаторы GUID (Globally Unique Identifier). Один и тот же СОМ-сервер на двух разных компьютерах будет иметь один и тот же идентификатор GUID, а разные СОМ-серверы на разных компьютерах не могут иметь одинаковых интерфейсов. Уникальность GUID обеспечивается тем, что при изменении компонента или интерфейса утилита guidgen.exe генерирует новые идентификаторы на основе уникального сетевого адреса и точного времени запроса на создание GUID. Идентификаторы компонента (класса) и интерфейса обозначаются соответственно CLSID и IID.
СОМ-сервер и СОМ-интерфейс имеют свои глобальные уникальные идентификаторы GUID (Globally Unique Identifier). Один и тот же СОМ-сервер на двух разных компьютерах будет иметь один и тот же идентификатор GUID, а разные СОМ-серверы на разных компьютерах не могут иметь одинаковых интерфейсов. Уникальность GUID обеспечивается тем, что при изменении компонента или интерфейса утилита guidgen.exe генерирует новые идентификаторы на основе уникального сетевого адреса и точного времени запроса на создание GUID. Идентификаторы компонента (класса) и интерфейса обозначаются соответственно CLSID и IID.
Слайд 7Клиент-серверные отношения
Клиент-серверные отношения
Слайд 8Компоненты СОМ бинарно совместимы, что означает, что компонент будет совместимым для использования
Компоненты СОМ бинарно совместимы, что означает, что компонент будет совместимым для использования
с любыми другими СОМ-компонентами независимо от языка, на котором он создан. Объекты и компоненты, разработанные на разных языках программирования и работающие в различных операционных системах, могут взаимодействовать без каких-либо изменений в двоичном (исполняемом) коде.
Любой клиент, желающий воспользоваться сервисом компонента, нуждается в предварительных сведениях о его интерфейсе. Существует технология, которая обеспечивает клиентов информацией о типах компонента. Файл, содержащий такую информацию, создается с помощью языка определения интерфейсов - IDL (Interface Definition Language).
Любой клиент, желающий воспользоваться сервисом компонента, нуждается в предварительных сведениях о его интерфейсе. Существует технология, которая обеспечивает клиентов информацией о типах компонента. Файл, содержащий такую информацию, создается с помощью языка определения интерфейсов - IDL (Interface Definition Language).