Л.Калиниченко, Институт проблем информатики РАН,
E-mail: leonidk@ipian23.ipian.msk.su
Введение
Настоящий доклад рассматривает аспекты новой, быстро развивающейся и уже интенсивно
применяемой технологии создания открытых систем - технологии интероперабельных систем.
Рассматриваемая технология привела к выделению нового архитектурного слоя - информационной
архитектуры систем, определяющей способность совместного использования, совместной
деятельности (в дальнейшем будет использоваться термин "интероперабельность") компонентов
(информационных ресурсов) для решения задач. Этот слой расположен обычно над сетевой
архитектурой, являющейся необходимой предпосылкой такой совместной деятельности
компонентов, обеспечивающей их взаимосвязь.
Деятельность по созданию технологии интероперабельных систем охватывает весь мир. Наиболее
существенный вклад в принимаемые идеологические, архитектурные и технологические решения
интероперабельных систем вносит Object Management Group (OMG) - крупнейший в мире
консорциум разработки программого обеспечения, включающий свыше 600 членов - компаний -
производителей программного продукта, разработчиков прикладных систем и конечных
пользователей. Так например, в OMG входят: Air Force Institute of Technology, American Airlines,
Apple Computers, AT&T, Bellcore, Boeing Computer Services, Borland Inter\-national, Chase
Manhattan Bank, Digital Equipment, Fujitsu Ltd., General Electric, Hewlett-Packard, IBM, ICL,
Informix Software Inc., Ingres Ltd., Intel Corp., Los Alamos National Lab., Microsoft Corp., MIT,
Oracle Corp., Siemens AG, SunSoft Inc., Sybase Inc., Texas Instruments Inc., US Defense Information
Systems Agency. Целью OMG является создание согласованной информационной архитектуры,
опирающейся на теорию и практику объектных технологий и общедоступные для
интероперабельности спецификации интерфейсов информационных ресурсов. Эта архитектура
должна обеспечивать повторное использование компонентов, их интероперабельность и
мобильность, опираясь на коммерческие продукты.
Другие организации, которые работают в кооперации с OMG, например, с целью доведения
результатов OMG до официальных стандартов в различных аспектах, включают: ANSI, ISO,
CCITT, ANSA, X/Open Company, Object Database Management Group (ODMG).
В настоящем докладе предлагается краткий обзор структуры и компонентов архитектуры
интероперабельных систем в соответствии с текущим состоянием разработки стандартов (более
подробную информацию можно найти в [3,8,9]).
Потребности применений
Насущные потребности применений, определяющие существенную мотивацию для перехода к
интероперабельным информационным системам и разработки соответствующей технологии,
включают следующие.
Функционирование систем в условиях информационной и реализационной неоднородности,
распределенности и автономности информационных ресурсов системы. Информационная
неоднородность ресурсов заключается в разнообразии их прикладных контекстов (используемых
онтологических средств - понятий, словарей; отображаемых реальных объектов, составляющих
"поверхность соприкосновения" различных реальных миров и их (объектов) абстракций в
информационных системах; семантических правил, определяющих адекватность совокупностей
моделируемых объектов реальности; моделируемых деятельностей; видов данных, способов их
сбора и обработки; интерфейсов пользователей и т.д.).
Реализационная неоднородность источников проявляется в использовании разнообразных
компьютерных платформ, средств управления базами данных, моделей данных и знаний, средств
программирования, операционных систем, и т.п.
Интеграция систем. Системы эволюционируют от простых, автономных подсистем к более
сложным, интегрированным системам, основанным на интероперабельном взаимодействии
компонентов.
Реинженерия систем. Эволюция деловых процессов - это непрерывный процесс, который является
неотъемлемой составляющей деятельности организаций. Соответственно, создание системы и ее
реконструкция (реинженерия) - непрерывный процесс формирования, уточнения требований и
конструирования. Реконструкция систем осуществляется постепенно. Система должна быть
сконструирована так, чтобы произвольные ее составляющие могли быть реконструированы при
сохранении целостности системы.
Миграция унаследованных систем. Любая система после создания противодействует изменениям и
имеет тенденцию быстрого превращения в бремя организации (т.н. legacy systems - унаследованные
системы, использующие "уставшие" технологии, архитектуры, платформы, а также собственно
программное и информационное обеспечение, при проектировании которых не были
предусмотрены нужные меры для их пошаговой миграции в новые системы, соответствующие
новым требованиям деловыx процессов и технологии). Существенно, что в процессе миграции
необходимо, чтобы мигрировавшие составляющие системы и оставшиеся компоненты
унаследованных систем сохраняли интероперабельность.
Повторное использование неоднородных информационных ресурсов. Технология разработки
информационных систем должна позволять крупномасштабно применить технологию повторного
использования информационных ресурсов, переходя от технологии программирования,
основанной на интенсивном индивидуальном труде по созданию вручную изделий,
удовлетворяющих специфическим требованиям одного конкретного применения, к технологии,
основанной на планируемых капиталовложениях в разработку повторно -используемых
компонентов, которые могут быть "соединены" (т.е., образованы их интероперабельные
сообщества) для производства серий стандартизованных продуктов в определенной прикладной
области.
Продление жизненного цикла систем. В условиях исключительно быстрого технологического
развития требуются специальные меры, обеспечивающие необходимую продолжительность
жизненного цикла.
Существенно, что свойство интероперабельности информационных ресурсов является
необходимой предпосылкой удовлетворения перечисленных требований.
Архитектура промежуточного слоя (middleware)
Основу информационной архитектуры систем составляет концепция промежуточного слоя
(middleware) - сосредоточение родовых служб в специальном слое архитектуры, расположенном
между операционной системой и средствами управления компьютерными сетями и прикладными
системами, специфическими для конкретных областей применения [2].
Традиционно к такому промежуточному слою относились средства управления и доступа к
данным, средства разработки программ, средства управления распределенными вычислениями
(включая поддержку необходимых протоколов взаимодействия), средства поддержки
пользовательского интерфейса и др. Такие инфраструктуры использовались как отдельными
компаниями (IBM), так и в международных проектах (UNIX - ориентированная интеграционная
среда) [2]. Применяемые идеи и технологии не позволяли до сих пор решить
радикально архитектуру промежуточного слоя.
OMG на основе объектной технологии и идеи интероперабельности вводит концепцию
промежуточного слоя последовательно, радикально и до конца. Технически интероперабельность
компонентов (представляемых объектами) решена введением базовой объектной модели,
унифицированного языка спецификации интерфейсов объектов, отделением реализации
компонентов от спецификации их интерфейсов, введением общего механизма поддержки
интероперабельности объектов (брокера объектных заявок, играющего роль "общей шины",
поддерживающей взаимодействие объектов). Тем самым достигается однородность представления
компонентов и их взаимодействия. Далее, для формирования информационной арxитектуры
вводится слой унифицированных (ортогональных) служб, которые используются как при
конструировании прикладных систем, так и для формирования функционально законченных
средств промежуточного слоя, предлагающих конкретные виды услуг. Существенно, что и службы
и средства представляются однородно своими объектными интерфейсами, что позволяет
обеспечить их интероперабельность посредством брокера объектных заявок.
Объектная модель OMG. Объектная модель OMG определяет общую объектную семантику для
спецификации базовыx характеристик объектов стандартным, независимым от реализации
образом.
Объектная модель OMG определяется в виде объектной модели -- ядра (Core Object Model (COM))
и совокупности расширений. Объектная модель -- ядро специфицирует некоторый набор базовых
понятий. Примерами понятий COM являются объекты, операции, типы, отношение тип/подтип,
наследование, интерфейс типа. Каждое расширение вводит дополнительный набор понятий.
Расширяться может либо COM, либо уже существующие и согласованные расширения. При этом
вводится понятие профиля, как некоторой комбинации COM и одного, или нескольких
расширений, вместе поддерживающих определенную целевую архитектуру.
Эталонная модель архитектуры OMG. Эталонная Модель [20] определяет
концептуальную схему для поддержки технологии, удовлетворяющей техническим требованиям
OMG. Она идентифицирует и характеризует компоненты, интерфейсы и протоколы, составляющие
Архитектуру Управления Объектами OMG (Object Management Architecture (OMA)), не определяя,
впрочем, их детально.
Согласованная с OMA прикладная система состоит из совокупности классов и экземпляров,
взаимодействующих при помощи Брокера Объектных Заявок (Object Request Broker (ORB)).
Объектные Службы (Object Services) представляют собой коллекцию служб, снабженных
объектными интерфейсами и обеспечивающих поддержку базовых функций объектов. Общие
Средства (Common Facilities) образуют набор классов и объектов, поддерживающих полезные во
многих прикладных системах функции. Прикладные объекты представляют прикладные системы
конечных пользователей и обеспечивают функции, уникальные для данной прикладной
системы.
Компоненты архитектуры
Брокер Объектных Заявок. Брокер Объектных Заявок обеспечивает механизмы, позволяющие
объектам посылать или принимать заявки, отвечать на них и получать результаты, не заботясь о
положении в распределенной среде и способе реализации взаимодействующих с ними объектов.
ORB отвечает за поиск реализации объекта, участвующего в заявке, подготовку объектной
реализации к приему заявки и передачу данных, являющихся результатом заявки. Интерфейс
клиента полностью независим от расположения вызываемого объекта, языка программирования,
на котором он реализован, и любых других аспектов, не отраженных в интерфейсе вызываемого
объекта. На основании совместных предложений ряда ведущих компаний OMG был разработан
стандарт Общей Архитектуры Брокера Объектных Заявок (Common Object Request Broker
Architecture (CORBA)) [7]. CORBA определяет среду для различных реализаций
ORB, поддерживающих общие сервисы и интерфейсы. Это обеспечивает переносимость клиентов и
реализаций объектов между различными ORB.
В настоящее время существует ряд промышленных реализаций ORB, соответствующих стандарту
CORBA [7]. CORBA непрерывно совершенствуется OMG. Текущий уровень
стандарта -- CORBA 2.0.
Объектные Службы. Объектные Службы представляют собой набор услуг (интерфейсов и
объектов), которые обеспечивают базовые функции, необходимые для реализации других
объектов. Операции, предоставляемые Объектными Службами, выступают в качестве базовых
"строительных" блоков для Общих Средств и прикладных объектов. В настоящее время OMG
приняты, или наxодятся в процессе формирования спецификации следующиx служб:
Интеграция CORBA и WWW-технологий
Быстрое распространение всемирной паутины (WWW) происходило в тот период, когда
распределенные объектные системы, в особенности архитектура CORBA, проходили стадию
стабилизации и созревания. Принятие стандарта CORBA 2.0 [9] позволяет
обеспечить поддержку глобального объектного пространства в масштабе Internet.
Существенное различие назначений WWW и CORBA заключается в том, что WWW облегчает
жизнь поставщиков и потребителей информации, а CORBA облегчает задачу разработчиков
систем и фирм-поставщиков инструментальных средств. Поэтому роли WWW и CORBA являются
взаимно дополняющими, и в этой связи требуются специальные технологии, обеспечивающие их
сопряжение. Такое сопряжение сулит очевидные преимущества. Разработчики программных
продуктов, использующие CORBA, получают доступ к быстро растущему рынку на основе WWW,
а мир WWW получает доступ к услугам, обеспечиваемым на основе возможностей CORBA,
значительно более мощным, чем реализуемая WWW простая модель обмена HTML-страницами.
Интеграция двух миров приведет к наилучшему использованию этих двух стандартов.
Известны два основных подхода к интеграции CORBA и WWW. Первый из них основан на
построении шлюзов между мирами WWW и CORBA, служащих для трансформации HTTP
в протокол CORBA 2.0 IIOP [9]. Другой подход заключается во
встраивании функций CORBA в состав клиентов WWW (программ просмотра) и серверов.
Реализация второго подхода возможна либо на основе новых WWW клиентов и серверов со
встроенным IIOP, либо при помощи подгрузки (downloading) из сети модуля поддержки IIOP в
клиенте или сервере.
В новом поколении WWW клиентов и серверов, поддерживающих Java, модуль поддержки IIOP
реализуется на Java. Достоинства этого подхода заключаются в обеспечении динамической
"раскрутки" функций по отношению к CORBA. Так, для любого ресурса, доступного посредством
CORBA, может быть разработан пользовательский интерфейс как апплет Java. Этот апплет
использует модуль IIOP для взаимодействия с сервером CORBA. При первом доступе пользователя
к какой-либо услуге, программа просмотра автоматически загружает и инсталлирует апплет
пользовательского интерфейса. После этого пользователь имеет доступ к этой услуге посредством
собственного апплета.
Таким образом, услуги объектов-серверов оказываются доступными широчайшей аудитории,
независимо от применяемых пользователями платформ и при сохранении для разработчика
возможности усовершенствования реализации услуг и их интерфейсов.
Семантическая интероперабельность
До сих пор усилия промышленности, выражающиеся в деятельности OMG, были направлены на
поддержку системного, технического уровня интероперабельности, основанного на полной
инкапсуляции информационных ресурсов (язык IDL является отражением этого подхода). Вместе с
тем при программировании прикладных задач на основе имеющихся ресурсов требуется решение
вопроса о релевантности имеющихся ресурсов задаче, о соответствии их прикладного контекста
контексту задачи и о том, что интероперабельная композиция ресурсов будет непротиворечивой в
прикладном контексте задачи. Такая композиция ресурсов образует мегапрограмму, выполнение
которой при заданных параметрах должно давать решение прикладной задачи. Очевидно, что
достижение подобной {\em семантической интероперабельности} ресурсов в контексте задачи
требует более сложных решений, чем те, что обеспечивают техническую интероперабельность.
В [12] введено понятие полной семантически интероперабельной
инфраструктуры, обеспечивающей необходимые моделирующие, методологические и
архитектурные средства анализа, принятия решений, доказательных рассуждений и реализации,
ориентированные на повторное использование ресурсов в семантически интероперабельных
композициях. Эта инфраструктура считается дополнительной по отношению к архитектуре OMG
[11]. Этот подход предполагает наличие полных спецификаций существующих
ресурсов и прикладных областей, включая их структуру и функции, ограничения целостности
(инварианты), спецификации деятельностей (потоков работ).
Заключение
В докладе дан краткий обзор информационной арxитектуры систем на основе объектной
теxнологии и принципов интероперабельности компонентов, развиваемыx OMG. Список литературы
Нетрудно видеть, что разрабатываемая арxитектура специально ориентирована на достижение
целей - насущныx потребностей разработки прикладныx систем, сформулированныx во
введении.