Статья: Некоторые прикладные вопросы реализации сервис-ориентированной архитектуры в специализированных АСУ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ЦНИИ МО РФ

Институт радиотехники и электроники им. В.А. Котельникова РАН

Некоторые прикладные вопросы реализации сервис-ориентированной архитектуры в специализированных АСУ

В.А. Балыбердин, О.А. Степанов

Р.П. Быстров,

Введение

В настоящее время при создании больших информационных систем различного назначения получает большое распространение концепция сервис-ориентированной архитектуры (СОА).

Функционирование систем с такой архитектурой обеспечивается базовыми и прикладными сервисами, которые могут храниться и выполняться на различных ЭВМ, входящих в информационно-вычислительную сеть, обеспечивая формирование адаптивной распределённой вычислительной среды.

Концепция СОА заявлена в качестве перспективной архитектуры также ведущими разработчиками ряда отечественных АСУ.

1. Концепция сервис-ориентированной архитектуры

В соответствии с определением OASIS (Организация по распространению открытых стандартов структурированной информации) сервис-ориентированная архитектура -- это парадигма организации и использования распределенных информационных ресурсов, таких как приложения и данные, находящихся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителем, которым может быть конечный пользователь или другое приложение [1].

В качестве более простого и понятного можно предложить следующее определение.

Сервис-ориентированная архитектура (СОА) - это современный модульный подход к созданию распределённых АС, основанный на использовании сервисов, т.е. программных и информационных модулей, интегрируемых посредством набора стандартизованных интерфейсов и протоколов в единую систему в соответствии с потребностями функционального назначения.

Отдельные программы (модули) и элементы информации могут быть распределены по разным узлам сети и используются как независимые слабо связанные сервисы, доступ к которым стандартизован. Основная идея, заложенная в концепции СОА, заключается в стремлении обеспечить построение АС в виде «сборочного процесса из стандартных комплектующих» по аналогии с производством промышленных изделий. Практическая реализация этой идеи обеспечивает значительное сокращение сроков и удешевление процессов создания и модернизации АС. Вместе с тем, при внедрении СОА при разработке ряда специальных АСУ необходимо учитывать особенности построения и функционирования систем управления специального назначения.

На рис. 1 представлена общая схема информационных взаимодействий при реализации СОА.

Рис. 1. Общая схема СОА.

Здесь представлены также основные стандарты, используемые при реализации этой схемы. Поясним их сущность.

XML (eXtensible Markup Language -- расширяемый язык разметки) -- рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML -- текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки [1,2,3].

SOAP (Simple Object Access Protocol) - это достаточно простой, основанный на XML-механизме, протокол доступа к объектам в сети. Он обеспечивает создание структурированных пакетов данных для обмена между объектами. В свою очередь SOAP использует НТТР и другие протоколы Интернета. WSDL (Web Services Description Language, язык описания Web-сервисов) - язык описания программных интерфейсов сервисов, также основанный на XML. Существующие сервисы описываются в WSDL-документах, часто называемых контрактами.

Контракты составляет провайдер сервиса. Чтобы потребители могли найти нужный сервис, провайдер регистрирует его с помощью спецификаций UDDI в реестре сервисов. В архитектуре СOA такие UDDI-реестры играют роль посредника.

UDDI (Universal Description, Discovery and Integration - универсальный стандарт описания, обнаружения и интеграции) - это стандарт на базе XML, позволяющий создавать реестры, в которых провайдеры регистрируют свою контактную информацию, предлагаемые сервисы и техническую информацию о них. Классическая схеме функционарования системы на базе СОА заключается в следующем.

В результате появления некоторого события формируется информационное сообщение или событие, которое публикуется в реальном времени в информационной среде АСУ (в реестре сервисов). При этом информация о публикуемом событии располагается в ЭВМ источника информации. В результате публикации событие становится доступным другим абонентам АСУ. При этом рассылается уведомление о событии всем абонентам-подписчикам, которые могут получить требуемую информацию.

Построенная на базе указанных стандартов система не зависит от технологий и программно-технических платформ, использующихся для реализации сервисов. В обозначенном на схеме асинхронном протоколе общения провайдера и потребителя сервисов реестр сервисов выполняет функции посредника.

Провайдер размещает информацию о своих сервисах в реестре. Это даёт возможность потребителю в любой момент найти необходимый ему сервис. Такой способ общения обеспечивает основное качество СOA -- слабую связанность. Благодаря этому, сервисы обретают мобильность, т.е. способность перемещаться с одного сервера на другой, не требуя согласования и координации со всеми потребителями. При этом потребители сервисов не должны принимать во внимание возможное перераспределение ресурсов, вызванное техническими, либо иными потребностями.

Введение процедуры связывания позволяет отложить момент конечной сборки связей на время исполнения, а не на время разработки программы, что характерно для традиционного подхода. При таком подходе любые изменения в услуге провайдера, не затрагивающие существо сервиса, могут легко осуществляться в динамике работы системы. Это важно для обеспечения корректировки и модернизации приложений.

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

Таким образом, СOA позволяет одновременно удовлетворить кажущиеся несовместимыми потребности во взаимодействии и в адаптивности, не требуя при этом кардинальных изменений в образе деятельности каждой из взаимодействующих сторон.

2. Основные достоинства и недостатки сервис-ориентированной архитектуры

В качестве основных достоинств использования СОА можно отметить следующие [1,2,3].

1. Сокращение времени на разработку больших АС и повышение производительности труда разработчиков программного обеспечения (ПО). Это достигается за счёт возможности и простоты многократного использования сервисов в системе, иными словами - за счёт «промышленной сборки» приложений из «стандартных программных комплектующих».

2. Более быстрая и менее затратная интеграция новых и корректировка существующих приложений при развитии и модернизации системы. Этот аспект является очень важных для больших АСУ, которые в процессе функционирования могут неоднократно подвергаться модернизации в связи с изменившимися требованиями.

Вместе с тем, использование СОА имеет ряд недостатков, к основным из которых можно отнести следующие [1,2,3].

1. При использовании в СОА языковых возможностей XML в качестве базового средства взаимодействия в системе размер передаваемых документов существенно больше бинарного представления соответствующей информации (примерно в 10 раз) и значительно больше, чем в альтернативных текстовых форматах, особенно - в форматах данных, оптимизированных для конкретного применения АСУ. Это особенно важно учитывать при использовании в АСУ радиоканалов невысокого быстродействия.

2. XML-документ содержит метаданные. При передаче между абонентами большого числа документов одного типа передача этих метаданных не имеет смысла, хотя они будут содержаться в каждом экземпляре.

3. Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной и сетевой моделями. Существует множество объектов, для описания которых естественными являются другие модели, и отображение таких объектов в XML может быть не вполне адекватным.

4. Высокая степень универсализации и унификации технических решений, заложенная в СОА, не в полной мере учитывает специфику уникальных систем управления, к каким относятся специализированные АСУ.

3. Анализ СОА в плане соответствия базовым требованиям к АСУ

С учётом изложенного целесообразно произвести анализ особенностей СОА в рамках основных требований, предъявляемых к АСУ. В качестве таких требований будем рассматривать [5]:

· устойчивость управления, т.е. способность органа управления эффективно выполнять свои функции в реальной обстановке;

· оперативность управления, т.е. способность руководства решать задачи управления в режиме времени, обеспечивающем своевременное влияние на управляемые объекты;

· качество отработки решений - т.е. степень оптимальности (правильности, точности и т.д.) решений, отрабатываемых должностными лицами органов управления посредством АСУ.

Отличительной особенностью многих специализированных АСУ как сложных информационных систем является их функционирование в условиях различного рода деструктивных воздействий. Такие воздействия, в конечном счёте, выражаются в выходе из строя одного или нескольких узлов (объектов) системы. При этом в соответствии с оперативными требованиями АСУ должна обеспечивать выполнение наиболее важных функций управления даже при выходе из строя значительного числа узлов. Рассмотрим указанные аспекты функционирования АСУ в плане использования идеологии СОА.

Обратимся вначале к характеристике устойчивости управления. Обеспечение устойчивого управления в условиях деструктивных внешних воздействий осуществляется за счёт резервирования технических и программных средств и информационного обеспечения. В первом приближении различают два основных подхода к реализации резервирования: структурный и функциональный.

При структурном резервировании осуществляется полное дублирование технических и программных средств некоторого узла, включая базу данных. Такой подход отличается значительной избыточностью средств автоматизации и не всегда приемлем по соображениям практического характера.

Функциональное резервирование обеспечивается за счёт дублирования программного и информационного обеспечения в рамках основной функциональной системы. При этом дублирование осуществляется таким образом, чтобы наиболее важные функции системы сохранялись даже при выходе из строя нескольких узлов. Подобный подход позволяет обеспечить устойчивое управление без излишних затрат на средства автоматизации. Рассмотрим вопросы реализации требований устойчивости управления в рамках СОА. архитектура сеть информационный протокол сервис

Прежде всего, отметим, что тезис СОА об однократном размещении сервисов в системе, приемлемый для корпоративных стационарных информационных систем и широко пропагандируемый в литературе, в отношении многих специализорованных АСУ не вполне корректен. Выход из строя узла, в котором размещается важный и часто используемый сервис, может во многом осложнить выполнение функций управления в системе. Следовательно, резервирование сервисов, хотя бы наиболее важных, должно быть обеспечено в АСУ. Форма такого резервирования может иметь различные варианты исполнения. Наиболее простым в реализации представляется подход, связанный с использованием нескольких имён для одного сервиса с размещением его копий в разных узлах.

Далее встаёт вопрос о размещении в системе реестра сервисов. Если он размещается централизованно в некотором узле, то прекращение функционирования этого узла (например, в результате некоторого внешнего воздействия) может парализовать работу АСУ в целом. Поэтому при реализации требований обеспечения устойчивого функционирования АСУ неизбежно встанет вопрос о резервировании реестра сервисов. Такое резервирование может быть, например, выполнено в варианте «горячего резерва» так, чтобы в случае выхода из строя основного узла реестра сервисов автоматически включался резервный. В целом же можно отметить, что вопросы обеспечения устойчивого управления в специализированной АСУ при реализации концепции СОА требуют отдельного и достаточно детального исследования.

Оперативность управления выражается временными характеристиками процессов управления, в том числе - решения основных управленческих. Решение таких задач связано с использованием некоторой исходной информации. В первом приближении исходную информацию можно разделить на два больших класса: