ВУЗ:
Составители:
Рубрика:
ния этих подпрограмм в конкретные прикладные программы требовалась ручная разработка значитель-
ной части программного кода на языках третьего поколения. Упрощение и ускорение разработки при-
кладного программного обеспечения достигается с помощью языков четвертого поколения (4GL), но
имеющиеся системы на их основе являются специализированными и не претендуют на взаимодействие
друг с другом.
Современные системы интеграции программного обеспечения построены на базе объектной мето-
дологии.
Так, выше приведены примеры библиотек классов, применяя которые прикладные программисты
могут создавать субклассы в соответствии с возможностями наследования, заложенными в используе-
мые объектно-ориентированные языки программирования. При этом интероперабельность компоентов
в сетевых технологиях достигается с помощью механизмов, подобных удаленному вызову процедур
RPC.
Преимущества использования готовых компонентов обусловлены тщательной отработкой много-
кратно используемых компонентов, их соответствием стандартам, использованием лучших из извест-
ных методов и алгоритмов.
В то же время в компонентах библиотек классов спецификации интерфейсов не отделены от собст-
венно кода, следовательно, использование библиотек классов не профессиональными программистами
проблематично. Именно стремление устранить этот недостаток привело к появлению компонентно-
ориентированных технологий разработки программного обеспечения.
Возможны два способа включения компонентов (модулей) в прикладную программу – модерниза-
ция (reengineering) или инкапсуляция (wrapping).
Модернизация требует знания содержимого компонента, интероперабельность достигается внесени-
ем изменений собственно в сам модуль. Такой способ можно назвать способом "белого ящика". Оче-
видно, что модернизация не может выполняться полностью автоматически, требуется участие профес-
сионального программиста.
Инкапсуляция выполняется включением модуля в среду с помощью интерфейса – его внешнего ок-
ружения (оболочки –wrapper). При этом компонент рассматривается как "черный ящик": спецификации,
определяющие интерфейс, выделены из модуля, а детали внутреннего содержимого скрыты от пользо-
вателя. Обычно компоненты поставляются в готовом для использования виде скомпилированного дво-
ичного кода. Обращения к модулю возможны только через его интерфейс. В спецификации интерфейса
включаются необходимые для интероперабельности сведения о характеристиках модуля – модульная
абстракция. В состав этих сведений могут входить описания всех входных и выходных для модуля
данных, структура командной строки для инициализации процедур, сведения о требуемых ресурсах.
Компонентно-ориентированные системы построены на основе инкапсуляции компонентов. В архи-
тектуре этих систем можно выделить следующие части: 1) прикладная программа (клиент), создаваемая
для удовлетворения возникшей текущей потребности; 2) посредник (брокер или менеджер), служащий
для установления связи между взаимодействующими компонентами и для согласования их интерфейс-
ных данных; 3) множество компонентов, состоящих каждый из программного модуля (объекта), реали-
зующего некоторую полезную функцию, и оболочки (интерфейса). В спецификации интерфейса могут
быть указаны характеристики модуля, реализуемые методы и связанные с модулем события.
Собственно интерфейс представляет собой обращения к функциям модуля, называемым в CBD-
технологиях методами. Эти обращения переводятся в двоичный код, что обеспечивает при их использо-
вании независимость от языка программирования. Один и тот же модуль может реализовывать несколь-
ко разных функций, поэтому у него может быть несколько интерфейсов или методов. Каждый новый
создаваемый интерфейс обеспечивает доступ к новой функции и не отменяет прежние возможно еще
используемые интерфейсы.
Схематично взаимодействие компонентов можно представить следующим образом. Клиент обра-
щается с запросом, выраженном на языке IDL, на выполнение некоторой процедуры. Запрос направля-
ется менеджеру. В менеджере имеется предварительно сформированный каталог каталог (реестр или
репозитарий) интерфейсов процедур с указанием компонентов-исполнителей. Менеджер перенаправля-
ет запрос соответствующему исполнителю. Исполнитель может запросить параметры процедуры. После
выполнения процедуры полученные результаты возвращаются клиенту.
В большинстве случаев реализуется синхронный режим работы, заключающийся в приостановке
процесса клиента после выдачи запроса до получения ответа.
Наиболее популярными в настоящее время являются следующие:
Страницы
- « первая
- ‹ предыдущая
- …
- 140
- 141
- 142
- 143
- 144
- …
- следующая ›
- последняя »
