Windows, фирма Microsoft разработала архитектуру компонентных объектов (Component Object Model – COM). Для ее реализации в Windows предусмотрен код, который облегчает СОМ-программирование.
Традиционное приложение состояло из отдельных файлов, модулей или классов, которые компилировались и компоновались вместе.
Разработку приложений из компонентов, или приложений компонентной архитектуры, ведут иначе. Компонент подобен мини-приложению, он поставляется пользователю как двоичный код, скомпилированный, скомпонованный и готовый к использованию.
Модификация или расширение приложения сводится к замене одного из составляющих его компонентов новой версией.
Результат - быстрая разработка и развитие приложений. Из накапливаемого набора компонентов в библиотеках можно будет выбирать, как из деталей конструктора, требуемые цельные приложения.
Распределенные компоненты СОМ
Компонентная архитектура позволяет упростить разработку приложений, распределенных по различным узлам сети или сетей. Примером такой архитектуры являются приложения «клиент-сервер», разделенные на 2 части, клиентскую и серверную.
Создать из обычного приложения распределенное легче, если оно состоит из компонентов, так как оно уже разделено на функциональные части, которые могут размещаться на расстоянии друг от друга.
Кроме того, поскольку компоненты заменяемы, вместо некоторого компонента можно подставить другой, единственная задача которого - обеспечение связи с удаленным компонентом.
Так, если компоненты А и В переносятся с локальной машины на удаленные, то на локальной машине вместо компонентов А и В появляются переадресовщики, направляющие запросы к соответствующим компонентам по сети.
При наличии подходящих переадресующих компонентов приложение может просто игнорировать фактическое местоположение своих частей. Преимущество применения COM-технологии - способность компонентов подключаться к приложению и отключаться от него.
Для этого компоненты должны удовлетворять двум требованиям:1) они должны компоноваться динамически, 2) они должны скрывать или инкапсулировать детали своей реализации.
Программа или компонент, использующий другой компонент, называется клиентом (client). Клиент подключается к компоненту через интерфейс.Если компонент изменяется без изменения интерфейса, то изменений в клиенте не требуется. Аналогично, если клиент меняется без изменения интерфейса, то нет необходимости изменять компонент.
Таким образом, СОМ - это спецификация, указывающая, как создавать динамически взаимозаменяемые компоненты.
СОМ определяет стандарт, которому должны следовать компоненты и клиенты, чтобы обеспечить совместную работу.
Компоненты СОМ состоят из исполняемого кода в виде динамически компонуемых библиотек (DLL) или ЕХЕ-файлов Win32. Компоненты СОМ объявляют о своем присутствии стандартным способом. Используя схему объявлений СОМ, клиенты могут динамически находить нужные компоненты. Интерфейс СОМ состоит из набора функций, которые реализуются компонентами и используются клиентами. Интерфейсом в СОМ является определенная структура в памяти, содержащая массив указателей на функции.
Методы межпроцессной коммуникации в СОМ
Существуют общеизвестные методы межпроцессной коммуникации, включая
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.