Веб-сервис, предоставляющий API к ARIS
Встроенные в ARIS возможности для взаимодействия с иными системами заключаются в использовании двух механизмов: официальный ARIS API и скрипты.
Официальный ARIS API предоставляет ограниченные возможности для взаимодействия, но решает важнейшую задачу – ответ ARIS на внешние запросы. С помощью официального ARIS API можно получать некоторую информацию из баз данных ARIS в чистом виде. Каждое обращение к ARIS API представляет собой единичную транзакцию с получением дискретной разрозненной и никак не необработанной информации. Для существенных объемов данных этот механизм сулит существенные задержки при взаимодействии систем, а также сложную разработку вне ARIS. В конце концов этот механизм не может являться основным при нетривиальных манипуляциях в ARIS.
Скрипты, напротив, являются универсальным средством получения информации из баз данных ARIS, их обработки и подготовки к передаче в иные системы. Данный механизм обладает наиболее полными возможностями с точки зрения получения данных или наоборот сохранении данных в ARIS, однако, он тоже не лишен минусов. Первым является отсутствие в ARIS готовых решений для взаимодействия с иными системами. Говоря языком программиста – отсутствуют соответствующие библиотеки. Вторым и очень существенным минусом является то, что скрипты могут выполняться только по инициативе пользователя ARIS. Наиболее привлекательным сценарием взаимодействия является запрос от внешней системы к ARIS, его обработка скриптами и отправка ответа. Скрипты – это мощной готовый механизм, но ввиду описанной особенности, такой сценарий работы с ними не доступен.
Рисунок 1. Доступный и недоступный сценарии взаимодействия ARIS с иными системами.
Компанией «Дайнова Консалтинг» разработан специальный Веб-сервис, который обеспечивает взаимодействие с ARIS и имеет следующие преимущества: используются возможности скриптов, а также сервис открыт для внешних обращений. Сценарий взаимодействия выглядит следующим образом (Рисунок 2): внешняя система отправляет запрос к Веб-сервису (1), сервис запускает скрипт в ARIS и передает в него данные запроса (2), далее скрипт подготавливает ответ и передает его обратно Веб-сервису (3), который возвращает ответ системе, запросившей данные (4).
Рисунок 2. Сценарий взаимодействия с использованием Веб-сервиса.
Получается, что Веб-сервис выступает прослойкой между двумя взаимодействующими системами, обеспечивает применение возможностей скриптов, передачу инициативы их запуска, а также транспортировку информации. Взаимодействие происходит синхронно (нет разрыва между запросом и ответом на него) и многопоточно (могут обрабатываться несколько запросов одновременно). Объектом двусторонней передачи может являться как небольшой текст, так и целые файлы, причем несколько штук в рамках одной транзакции запрос-ответ.
Для удобства работы с Веб-сервисом, существуют следующие артефакты:
- WSDL-описание Веб-сервиса и доступа к его функциям.
WSDL-описание может быть использовано при подготовке внешней системы к взаимодействию. Веб-сервис, как и его WSDL-описание являются универсальными для любых платформ и языков программирования, используемых во внешних системах.
- Java-библиотека для интеграции со скриптами в ARIS.
Данная библиотека дает возможность использовать для взаимодействия любой существующий или вновь разработанный скрипт. Библиотека делает из скрипта – независимую службу со стандартизированными входами и выходами. Для разработчиков скриптов это фактически означает добавление в код нескольких строчек:
- Примеры работы с Веб-сервисом при реализации на языке Java на платформах Java RE и Android SDK.
Веб-сервис может использоваться как поставщик информации, имеющейся в ARIS, так и, наоборот, обеспечивать получение ARIS’ом данных для генерации моделей, автоматизированного обновления атрибутов объектов, внесения иных изменений.
Решение является зрелым также с точки зрения обеспечения защиты передаваемой информации. Между Веб-сервисом и внешней системой передача данных происходит по защищенному HTTPS-протоколу с использованием SSL. Это также дает возможность не ограничиваться взаимодействием систем в рамках одного контура информационной сети. Например, применимо взаимодействие со следующей архитектурой:
Рисунок 3. Пример архитектуры взаимодействия.
Применение Веб-сервиса открывает дорогу к полноценной интеграции ARIS с производственными системами, а также может стать основой для разработки новых полезных ARIS-совместимых решений.