Технология компонентной организации программного обеспечения

Содержание

Слайд 2


Компонентная архитектура является развитием модульной реализации систем управления, при которой

Компонентная архитектура является развитием модульной реализации систем управления, при которой конкретная конфигурация
конкретная конфигурация собирается из готовых модулей. Однако компоненты привносят в программное обеспе­чение новые возможности. Так, компоненты можно подключать к прило­жению и отключать от него. Для этого они должны удовлетворять двум требованиям: компоноваться динамически и скрывать (инкапсулировать) детали внутренней организации. При этом компонентный подход исполь­зует все возможности объектно-ориентированного подхода.

Слайд 3

Компонентная модель СОМ лежит в основе таких технологий разработки прикладного программного обеспечения

Компонентная модель СОМ лежит в основе таких технологий разработки прикладного программного обеспечения
систем управления, как DCOM, OLE, OLE Автоматизация, ActiveX и ОРС. Компонентная объектная модель СОМ делает стандартную структуру объекта регулярной, управляет его жизненным циклом и общением с другими объектами. Другими словами, СОМ определяет правила структурирования объектов и их распределения в памяти, создания и уничтожения объектов, взаимодействия объектов между собой. Компонентная модель существует в рамках клиент-серверной архитектуры, когда клиент и сервер (компонент) связаны через СОМ-интерфейс. СОМ-интерфейс специфицирует функциональные возможности, которые компонент предлагает некоторой программе или другим компонентам

Слайд 4

Технологии разработки прикладного программного обеспечения систем управления

Технологии разработки прикладного программного обеспечения систем управления

Слайд 5

От стандартного СОМ-интерфейса IUnknown произведены все остальные. Интерфейс IUnknown обязателен в любом

От стандартного СОМ-интерфейса IUnknown произведены все остальные. Интерфейс IUnknown обязателен в любом
компоненте и предназначен для (С++)программистов; он обращает к методам (функциям) интерфейса через таблицу виртуальных методов. Располагая указателем на IUnknown, клиент может запросить и другие интерфейсы компонента. Производный от IUnknown интерфейс наследует три базовых метода:
QuerylnterfaceO, позволяющий клиенту получить указатель на любой интерфейс компонента из другого указателя интерфейса;
AddO и ReleaseO, поддерживающие механизм управления временем жизни клиента. С этой целью компонент хранит внутренний «счетчик ссылок» на своих клиентов. Если счетчик обнуляется, объект выгружает себя из памяти. При запросе указателя на интерфейс метод QuerylnterfaceO неявно вызывает метод AddO для увеличения содержимого счетчика, а после окон­чания работы с интерфейсом клиент явно вызывает метод ReleaseO для уменьшения содержимого счетчика ссылок.

СОМ-интерфейс IUnknown

Слайд 6


Компонент может располагать одним или несколькими СОМ-интерфейсами; клиент, в свою

Компонент может располагать одним или несколькими СОМ-интерфейсами; клиент, в свою очередь, может
очередь, может пользоваться сервисом от нескольких СОМ-интерфейсов. Это значит, что один СОМ-сервер может обслуживать нескольких клиентов, а один СОМ-клиент может получать сервис от нескольких компонентов .
СОМ-сервер и СОМ-интерфейс имеют свои глобальные уникальные идентификаторы GUID (Globally Unique Identifier). Один и тот же СОМ-сервер на двух разных компьютерах будет иметь один и тот же идентификатор GUID, а разные СОМ-серверы на разных компьютерах не могут иметь одинаковых интерфейсов. Уникальность GUID обеспечивается тем, что при изменении компонента или интерфейса утилита guidgen.exe генерирует новые идентификаторы на основе уникального сетевого адреса и точного времени запроса на создание GUID. Идентификаторы компонента (класса) и интерфейса обозначаются соответственно CLSID и IID.

Слайд 7

Клиент-серверные отношения

Клиент-серверные отношения

Слайд 8

Компоненты СОМ бинарно совместимы, что означает, что компонент будет совместимым для использования

Компоненты СОМ бинарно совместимы, что означает, что компонент будет совместимым для использования
с любыми другими СОМ-компонентами независимо от языка, на котором он создан. Объекты и компоненты, разработанные на разных языках программирования и работающие в различных операционных системах, могут взаимодействовать без каких-либо изменений в двоичном (исполняемом) коде.
Любой клиент, желающий воспользоваться сервисом компонента, нуждается в предварительных сведениях о его интерфейсе. Существует технология, которая обеспечивает клиентов информацией о типах компонента. Файл, содержащий такую информацию, создается с помощью языка определения интерфейсов - IDL (Interface Definition Language).
Имя файла: Технология-компонентной-организации-программного-обеспечения.pptx
Количество просмотров: 174
Количество скачиваний: 0