Интеграция научных информационных систем посредством механизма рабочих процессов.
Нестеренко А.К., Сысоев Т.М., Бездушный А.Н., (Вычислительный центр РАН)Введение
Рабочие процессы привлекают большое внимание со стороны разработчиков информационных систем, потому что автоматизация исполнения рабочих процессов [13], протекающих в различных областях деятельности человека, позволяет:
На данный момент существует целый ряд систем управления потоками работ. Большая часть усилий разработчиков программного обеспечения в последнее время направлена на исследование рабочих процессов в бизнес-среде. Хотя бизнес-процессы и заслуживают того внимания, которое им уделяется, существует еще один класс рабочих процессов, наиболее часто встречающихся при решении сложных научных вычислительных задач [1,2,3]. Процессы данного класса получили название научных потоков работ. К основным отличиям бизнес-процессов и научных вычислений можно отнести следующие:
Термин научные потоки работ описывает набор структурированных действий и вычислений, которые возникают при решении научной проблемы. Данный тип рабочих процессов особенно важен с точки зрения автоматизации повседневной деятельности научных сотрудников. Несколько причин, по которым научные потоки работ представляют особый интерес для исследователей в данной области:
Специфика научных вычислительных процессов определяет ряд задач, которые должна решать система управления потоками работ:
На текущий момент большая часть действий, составляющих научные вычислительные процессы, уже выполняется учеными-экспериментаторами. Однако, при их автоматизации с помощью научных потоков работ, повышается эффективность обеспечения вычислений, которая определяется такими факторами, как: выразительные языки описания рабочих процессов, эффективные средства их исполнения и мониторинг выполнения этапов вычислительного процесса.
Проблемы, возникающие на пути решения задачи автоматизации научных вычислительных процессов
Научные потоки работ выходят за рамки обычных бизнес процессов. Для практического использования научных рабочих процессов должен быть решен ряд возникающих при этом задач. Первая категория таких задач относится к рабочим процессам в целом. Она включает такие задачи, как:
Вторая категория задач характерна для научных потоков работ и включает требования, выполнение которых необходимо при проведении научных вычислений, но которые не могут быть полностью адресованы традиционным системам управления потоками работ:
На основании приведенного сравнения требований к функциональности стандартных и научных рабочих процессов можно выделить список общих требований к системе исполнения потоков работ для возможности моделирования сложных научных вычислений:
Архитектура системы управления научными потоками работ
В данном разделе описывается архитектура разрабатываемой системы автоматизации исполнения научных потоков работ. Данное решение следует ряду WEB-стандартов для поддержки открытой модульной архитектуры. На следующей диаграмме приведена компонентная структура системы исполнения научных рабочих процессов:
Рис. 1. Компонентная схема системы исполнения рабочих процессов
В качестве языка описания автоматизированных рабочих процессов в системе используется язык BPEL4WS (Business Process Execution Language For WEB-Services[4]) как наиболее выразительный язык, позволяющий описывать как блочные, так и графовые потоки работ. Вычислительные сервисы, сервисы преобразования данных и другие участники рабочего процесса представлены WEB-сервисами, следующими архитектуре WSA и стандартам WSDL (Web Services Description Language[5]) и SOAP (Simple Object Access Protocol[6]). Язык описания композиций WEB-сервисов BPEL4WS поддерживает основные конструкции, необходимые для эффективного описания вычислительных процессов:
Для возможности визуального моделирования описаний научных процессов реализованы средства моделирования BPEL4WS-документов с поддержкой средств синтаксической и структурной верификации, а также механизмов управления уровнями детализации редактируемых описаний (рис.2).
Рис. 2. Средства визуального моделирования описаний рабочих процессов
Регистрация новых описаний рабочих процессов и их размещение в репозитории системы управления осуществляется посредством административного WEB-сервиса, после чего информация о зарегистрированном процессе и списке активных экземплярах доступна для просмотра и модификации (рис.3).
Рис. 3. Интерфейс просмотра и модификации зарегистрированной информации
Динамический запуск и исполнение потоков работ осуществляются через визуальное приложение, оформленное в виде Java-апплета и взаимодействующее с сервером исполнения по специальному XML-протоколу. Данный клиентский интерфейс позволяет визуализировать процесс исполнения потока работ (рис.4).
Рис. 4. Клиентский интерфейс интерпретатора описаний рабочих процессов
Разработанная система исполнения рабочих процессов имеет развитые средства визуальной отладки потоков работ. При этом реализована клиент-серверная архитектура, состоящая из сервера отладки, визуального клиента и XML-протокола для их взаимодействия, позволяющая выполнять полноценную отладку рабочих процессов в реальном времени (рис.5).
Рис. 5. Клиентский интерфейс модуля отладки
Для возможности протоколирования хода исполнения рабочего процесса предназначен модуль журналирования состояний действий и исключительных ситуаций, возникающих на маршруте рабочего процесса. Доступ к журналу сообщений осуществляется через WEB-интерфейс. Фрагмент протокола исполнения рабочего процесса представлен на рис. 6.
Рис. 6. Протокол исполнения рабочего процесса
Управление безопасностью доступа к операциям рабочего процесса осуществляется посредством подключаемых модулей безопасности, с помощью которых можно реализовать любую схему управления доступом. Для аутентификации и авторизации пользователя внешними системами, к которым производится обращение на маршруте потока работ, поддерживается возможность распространения контекста безопасности в заголовках SOAP-сообщений, передаваемых внешним вычислительным сервисам.
Применение технологии научных потоков работ к решению задачи гидрофизических исследований и мониторинга
В этом разделе рассматривается задача применения технологии рабочих процессов к решению задачи автоматизации исследований гидрофизических процессов.
В течение длительного периода на стационарном гидрофизическом полигоне ТОИ ДВО РАН “мыс Шульца” проводятся комплексные океанологические наблюдения. Полученные сведения описывают разнообразные гидрофизические процессы в прибрежной области и являются основой для дальнейшего изучения шельфовой зоны Японского моря.
В настоящее время накоплен и продолжает поступать разнообразный материал экспериментальных измерений, результатов обработки и интерпретации. По результатам натурных данных гидроакустических измерений проводилось численное моделирование эволюции внутренних волн и распространения звука в шельфовой области [7,8,11,12]. Соответствующая схема исследований представлена на следующей диаграмме (рис.7):
Рис. 7.
Базовая схема мониторингаВ соответствии с приведенной схемой процесс гидрофизического мониторинга условно разбивается на три основных этапа:
Рис. 8.
Пример процесса последовательного сбора экспериментальных данныхКаждая из групп экспериментальных установок управляется отдельным микропроцессором [9,11] и представлена снаружи Web-сервером, поддерживающим взаимодействие по протоколу SOAP. Для снятия показаний с приборов в рамках рабочего процесса происходит последовательное обращение к методам таких Web-сервисов. Полученный таким образом массив информации является входным параметром процесса первичной обработки данных.
Рис. 9.
Пример простого процесса первичной обработки экспериментальных данныхНа данном этапе происходит обращение рабочего процесса к Web-сервисам конвертирования, а затем агрегирования данных, в задачу которых входит преобразование форматов данных, получаемых с различных измерительных устройств, к каноническому формату и их агрегирование [10] в соответствии с каноническим описанием (метаданными) [12]. После этого процесс обращается к Web-сервису импорта-экспорта хранилища экспериментальных данных для загрузки обработанной информации. Дальнейшая процедура анализа полученных данных – математическая обработка.
Рис. 10.
Типовая схема процесса математической обработки экспериментальных данныхДанный процесс обращается к подключаемым Web-сервисам, реализующим различные алгоритмы математической обработки экспериментальных данных. При этом на этапе контроля применимости данного алгоритма процесс может привлекать людей для формирования экспертной оценки. В случае успешной отработки алгоритма происходит сохранение результата обработки в хранилище данных посредством обращения к сервису импорта. Число подобных итераций равно числу доступных математических алгоритмов. При этом сам процесс выполнения такого алгоритма может также быть представлен в виде отдельного потока работ, выполняя, например:
Таким образом, весь процесс гидрофизического мониторинга укладывается в применение набора стандартных технологий, предлагаемых потоками работ, в значительной степени автоматизирующих данный процесс и делающих его более гибко определяемым и управляемым. На данном этапе работ над проектом выполняется прототипирование системы управления гидрофизическими наблюдениями на базе технологии научных рабочих процессов.
Заключение
Научные потоки работ представляют собой интересный объект для исследования. Во-первых, научные вычислительные процессы имеют ключевые характеристики традиционных рабочих процессов, что делает их полигоном для обширного применения уже имеющихся наработок и исследований в этой области. Во-вторых, научные рабочие процессы достаточно сильно отличаются от бизнес-процессов, чтобы являться объектом отдельных исследований. В процессе этих исследований появляется множество интересных задач, которые не возникают в результате анализа традиционных потоков работ. Процессы, аналогичные научным вычислениям, имеют место и в других применениях технологии рабочих процессов, что гарантирует актуальность рассматриваемых в данной статье проблем и их решений.
Литература