Автоматизированное проектирование. Норенков И.П. - 145 стр.

UptoLike

Составители: 

:&:#*%)K* :(*AK & +($5(!%%)$
-%*#$A&F*:,&* ,$%+@*,:K :!+(
5@!"! 5
Компонентно-ориентированные системы построены на основе инкапсуляции компонентов. В
архитектуре этих систем можно выделить следующие части: 1) прикладная программа (клиент), со-
здаваемая для удовлетворения возникшей текущей потребности; 2) посредник (брокер или менеджер),
служащий для установления связи между взаимодействующими компонентами и для согласования их
интерфейсных данных; 3) множество компонентов , состоящих каждый из программного модуля, реа-
лизующего некоторую полезную функцию, и оболочки (интерфейса). В спецификации интерфейса
могут быть указаны характеристики модуля, реализуемые методы и связанные с модулем события (на-
пример, реакции на нажатие клавиш).
Собственно интерфейс представляет собой обращения к функциям модуля, называемым в СВD-
технологиях методами. Эти обращения переводятся в двоичный код, что обеспечивает при их исполь-
зовании независимость от языка программирования. Один и тот же модуль может реализовывать не-
сколько разных функций, поэтому у него может быть несколько интерфейсов или методов. Каждый
новый создаваемый интерфейс обеспечивает доступ к новой функции и не отменяет прежние возмож-
но еще используемые интерфейсы.
Схематично взаимодействие компонентов можно представить следующим образом. Клиент об-
ращается с запросом на выполнение некоторой процедуры. Запрос направляется к посреднику. В по-
среднике имеется предварительно сформированный каталог (реестр или
репозиторий) интерфейсов
процедур с указанием компонентов-исполнителей. Посредник перенаправляет запрос соответствую-
щему исполнителю. Исполнитель может запро сить параметры процедуры. После выполнения проце-
дуры полученные результаты возвращаются клиенту.
При этом пользователь оперирует удобными для его восприятия идентификаторами компонен-
тов и интерфейсов, а с помощью каталога эти идентификаторы переводятся в указатели (ссылки), ис-
пользуемые аппаратно-программными средствами и которые однозначно определяют интерфейс в
распределенной сети из многих компьютеров.
В большинстве случаев реализуется синхронный режим работы, подразумевающий приостанов-
ку процесса клиента после выдачи запроса до получения ответа.
Наиболее популярными в настоящее время являются следующие CBD-технологии.
— OpenDoc — технология, основанная на спецификациях CORBA, разработанных в начале 90-
х г.г. специально созданным консорциумом OMG, в который вошли представители ведущих компью-
терных фирм. В OpenDoc реализуется технология распределенных вычислений на базе программ-по-
средников ORB.
— COM (Common Object Model) — технология, развиваемая корпорацией Microsoft на базе ме-
ханизма OLE. Сетевой вариант этой технологии (для систем распределенных вычислений) известен
под названием DCOM (Distributed COM). Объекты DCOM (в частности, объекты, которые можно
вставлять в HTML-документы или к которым можно обращаться из Web-браузеров) известны под на-
званием компонентов ActiveX. В СОМ/DCOM, как и в OpenDoc, можно использовать компоненты, на-
писанные на разных объектно-ориентированных языках программирования. Но в отличие от OpenDoc
в СОМ /DCOM остается естественная для Microsoft ориентация только на операционные системы
Windows (реализация DCOM предусмотрена в ОС Windows NT 4.0). Технология ActiveX (прежнее на-
звание OLE Automation) обеспечивает интерфейс для управления объектами одного приложения из
другого. В общем плане ActiveX — технология интеграции программного обеспечения фирмы
Microsoft. Например, используя эту технологию, можно в среде VBA организовать доступ к объектам
AutoCAD.
— JavaBeans — сравнительно новая технология, в которой используются компоненты, написан-
ные на языке Java.
Рассмотрим подробнее основные CBD-технологии.
Организация связи клиента с серверными компонентами и в CORBA, и в DCOM происходит с помощью разновид-
ностей языка IDL (Interface Definution Language). Язык IDL в CORBA позволяет описывать интерфейсы создаваемых ком-
понентов. Описание, называемое метаданными, представляется в виде модуля, состоящего из заголовка, описаний типов
данных, интерфейсов и операций. В заголовке указывается идентификатор модуля. В части типов данных перечисляются
атрибуты, возвращаемые значения, исключительные ситуации. Примерами типов данных могут служить типы базовые
(например, float, double, char, boolean, struct), конструируемые пользователем (например, записи и массивы) и объектные
&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&*
145
 5@!"! 5                           :&:#*%)K*      :(*AK & +($5(!%%)$-%*#$A&F*:,&* ,$%+@*,:K                  :!+(

       Компонентно-ориентированные системы построены на основе инкапсуляции компонентов. В
архитектуре этих систем можно выделить следующие части: 1) прикладная программа (клиент), со-
здаваемая для удовлетворения возникшей текущей потребности; 2) посредник (брокер или менеджер),
служащий для установления связи между взаимодействующими компонентами и для согласования их
интерфейсных данных; 3) множество компонентов, состоящих каждый из программного модуля, реа-
лизующего некоторую полезную функцию, и оболочки (интерфейса). В спецификации интерфейса
могут быть указаны характеристики модуля, реализуемые методы и связанные с модулем события (на-
пример, реакции на нажатие клавиш).
       Собственно интерфейс представляет собой обращения к функциям модуля, называемым в СВD-
технологиях методами. Эти обращения переводятся в двоичный код, что обеспечивает при их исполь-
зовании независимость от языка программирования. Один и тот же модуль может реализовывать не-
сколько разных функций, поэтому у него может быть несколько интерфейсов или методов. Каждый
новый создаваемый интерфейс обеспечивает доступ к новой функции и не отменяет прежние возмож-
но еще используемые интерфейсы.
       Схематично взаимодействие компонентов можно представить следующим образом. Клиент об-
ращается с запросом на выполнение некоторой процедуры. Запрос направляется к посреднику. В по-
среднике имеется предварительно сформированный каталог (реестр или репозиторий) интерфейсов
процедур с указанием компонентов-исполнителей. Посредник перенаправляет запрос соответствую-
щему исполнителю. Исполнитель может запросить параметры процедуры. После выполнения проце-
дуры полученные результаты возвращаются клиенту.
       При этом пользователь оперирует удобными для его восприятия идентификаторами компонен-
тов и интерфейсов, а с помощью каталога эти идентификаторы переводятся в указатели (ссылки), ис-
пользуемые аппаратно-программными средствами и которые однозначно определяют интерфейс в
распределенной сети из многих компьютеров.
       В большинстве случаев реализуется синхронный режим работы, подразумевающий приостанов-
ку процесса клиента после выдачи запроса до получения ответа.
       Наиболее популярными в настоящее время являются следующие CBD-технологии.
       — OpenDoc — технология, основанная на спецификациях CORBA, разработанных в начале 90-
х г.г. специально созданным консорциумом OMG, в который вошли представители ведущих компью-
терных фирм. В OpenDoc реализуется технология распределенных вычислений на базе программ-по-
средников ORB.
       — COM (Common Object Model) — технология, развиваемая корпорацией Microsoft на базе ме-
ханизма OLE. Сетевой вариант этой технологии (для систем распределенных вычислений) известен
под названием DCOM (Distributed COM). Объекты DCOM (в частности, объекты, которые можно
вставлять в HTML-документы или к которым можно обращаться из Web-браузеров) известны под на-
званием компонентов ActiveX. В СОМ/DCOM, как и в OpenDoc, можно использовать компоненты, на-
писанные на разных объектно-ориентированных языках программирования. Но в отличие от OpenDoc
в СОМ/DCOM остается естественная для Microsoft ориентация только на операционные системы
Windows (реализация DCOM предусмотрена в ОС Windows NT 4.0). Технология ActiveX (прежнее на-
звание OLE Automation) обеспечивает интерфейс для управления объектами одного приложения из
другого. В общем плане ActiveX — технология интеграции программного обеспечения фирмы
Microsoft. Например, используя эту технологию, можно в среде VBA организовать доступ к объектам
AutoCAD.
       — JavaBeans — сравнительно новая технология, в которой используются компоненты, написан-
ные на языке Java.
      Рассмотрим подробнее основные CBD-технологии.
      Организация связи клиента с серверными компонентами и в CORBA, и в DCOM происходит с помощью разновид-
ностей языка IDL (Interface Definution Language). Язык IDL в CORBA позволяет описывать интерфейсы создаваемых ком-
понентов. Описание, называемое метаданными, представляется в виде модуля, состоящего из заголовка, описаний типов
данных, интерфейсов и операций. В заголовке указывается идентификатор модуля. В части типов данных перечисляются
атрибуты, возвращаемые значения, исключительные ситуации. Примерами типов данных могут служить типы базовые
(например, float, double, char, boolean, struct), конструируемые пользователем (например, записи и массивы) и объектные

 &.+.)$(*),$" . !"#$%!#&'&($"!))$*                 +($*,#&($"!)&*                                             145