Требования к COM компонентам

COM  – это метод разработки программных компонентов – небольших двоичных исполняемых файлов, которые предоставляют необходимые сервисы приложениям, операционным системам и другим интерфейсам.

COM – это спецификация. Она указывает как создавать динамически взаимозаменяемые компоненты.

На основе COM построены технологии Active X,DirectX, OLE (2 версия). OLE 1 была реализована с использованием DDE (динамический обмен данными). DDE в свою очередь построен на основе архитектуры передачи сообщений Windows.

 

Технология Com позволяет выполнить разделение монолитного приложения на отдельные компоненты, что делает приложение

§  более динамичным;

§  облегчает обновление частей приложения;

§  позволяет собирать новые приложения из имеющихся частей – библиотеки компонентов;

§  легче выполнить адаптацию приложения к уонкретным требованиям;

§  позволяет заменять компоненты во время работы приложения;

§  упрощает процесс разработки распределенных приложений.

Компоненты COM должны:

§  подключаться динамически;

§  инкапсулировать (скрывать) детали своей реализации.

Клиент – это программа или компонент, использующий другой компонент.

Клиент подсоединяется к компоненту через интерфейс.

Если компонент изменяется без изменения интерфейса, то изменения в клиенте не требуются.

Изоляция клиента (предоставляемого ему интерфейса) от реализации накладывает на компоненты следeдующие ограничения:

1.    Компонент должен скрывать используемый язык программирования.

2.    Компонент  должен распространятся в двоичной форме.

3.    Новые версии компонента должны работать как с новыми, так и со старыми клиентами.

4.    Компоненты должны быть (прозрачно) перемещаемы по сети. Удаленный компонент для клиента рассматривается также, как и локальный (иначе это бы вызывало перекомпиляцию клиента при перемещении компонента).

5.    Компонент должен одинаково выполняться :           

– внутри одного процесса        
– в разных процессах    
– на разных машинах.

Библиотека COM

В состав COM входит библиотека API. Она предоставляет сервисы управления компонентами. Эти функции можно использовать как из библиотеки, так и реализовать самостоятельно.

Для подключения COM-библиотеки следует вызвать метод CoInitialize или OleInitialize. Освобождение библиотеки выполняется вызовом CoUninitialize.

Для каждого процесса библиотеку следует инициализировать только один раз. По общему соглашению COM инициализируется в EXE, а не в DLL.

Для того чтобы использовать возможности не только COM, но и OLE следует для инициализации библиотеки использовать функции (это требует больше ресурсов):

OleInitialize и OleUninitialize соответственно.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100