Дмитрий
Коротаев
старший программист отдела Интернет-решений, компания DIRECTUM
Сегодняшняя современная компания с точки зрения
автоматизации – это сложный организм, система программных комплексов, отдельных
продуктов и решений, которые должны взаимодействовать как друг с другом, так и
с пользователями. Необходимость взаимодействия очевидна: наиболее яркий
позитивный эффект любой автоматизации – это уменьшение рутинного труда по вводу
и обработке информации. Информация должна вводиться там, где она появляется, и
в дальнейшем использоваться повсеместно.
Формально можно выделить три основных пути интеграции
приложений:
● Интеграция
на уровне данных:
● Интеграция
на уровне функциональности;
● Интеграция
на уровне интерфейса.
Интеграция на уровне
данных подразумевает, что системы могут использовать информацию друг друга:
читать, модифицировать данные, организовывать двухсторонний обмен. Типичный
пример – связка системы электронного документооборота (ЭДО) и ERP-системы. Здесь возможны два
подуровня – однонаправленный (получение данных) и двунаправленный обмен
информацией (синхронизация данных).
Интеграция на уровне
функционала подразумевает, что одна система делегирует часть функций другой
системе. Например, одна система занимается сбором статистических данных и их
отображением, а для их анализа и обработки использует возможности другой
системы (на основе API
или объектной модели). Можно как частное решение выделить интеграцию с помощью
механизмов workflow: в
этом случае взаимодействие со сторонней системой осуществляется в процессе
движения работ по маршруту.
Интеграция на уровне
интерфейса означает, что интерфейс одной системы можно встроить в интерфейс
другой. Частый пример – интеграция с MicrosoftOffice: добавление новых пунктов меню,
кнопочек, диалоговых окон и т.п. На данном уровне можно выделить такой
специфический подуровень, как имитация интерфейса (актуально для веб-решений).
Рассмотрим, каким образом можно использовать портал для
интеграции приложений в каждом из трех направлений.
Роль портала – стать шлюзом к информационному пространству
компании, основная задача которого – обеспечить доступ пользователя к различной
корпоративной информации, помочь ему в первичном анализе и облегчить решение
его повседневных задач.
Инфраструктура портала (его платформа) изначально
ориентирована на консолидацию информации, причем самой разнообразной – текстов,
изображений, видео, звука, структурированных данных и т.п. В этом случае портал
использует однонаправленный обмен
информацией, обеспечивая интеграцию
на уровне данных. Эти данные портал может получать различным способом –
через веб-сервисы, через сервера приложений, напрямую SQL-запросами к базам данных.
Таким образом, пользователь видит готовый результат выборки
и не знает, где физически располагалась та или иная информация. Например,
веб-части Расширений DIRECTUMдля SharePointмогут получать информацию напрямую из справочников системы
(организации, сотрудники, контактные лица), из документов DIRECTUM (приказы,
инструкции, справки), из xml-данных,
сформированных любым удобным способом, из внешних Интернет-источников (погода,
новости, курсы валют).
Портал частично обеспечивает интеграцию на уровне интерфейса: встраивать интерфейс внешних
приложений в портал можно только имитируя
его. Посетитель взаимодействует с порталом при помощи веб-браузера, и хотя
интерфейс веб-решений до сих пор далек от настольных, преимущества
повсеместного доступа это перевешивают. Кроме того, есть перспективы построения
интерфейсно-богатых веб-приложений, используя такие технологии как AJAX или WindowsPresentationFoundation/Everyone (WPF/E). Как пример – веб-части Расширений DIRECTUM для SharePoint, предназначенные для
просмотра справочников, используют веб-элементы управления, реализованные с
помощью AJAX, которые
максимально повторяют интерфейс desktop-клиента
DIRECTUM.
Также портал позволяет реализовать такой интересный аспект,
как упрощение выполнения узкой задачи с точки зрения пользователя за счет
построения особого, более удобного и простого интерфейса. Есть целый комплекс
задач, при котором сложный визуальный интерфейс часто оказывается проблемой для
пользователя и раздражает его. Это рутинные операции, которые часто хочется
сделать одним щелчком мыши. Данные повторяются от операции к операции, или
меняются очень незначительно, но их приходится вводить постоянно.
В таких случаях удобно сделать специализированный интерфейс
и логику визуальных элементов конкретно под целевую задачу. Портал (или его
элементы) будет предоставлять свой интерфейс, используя при этом функционал другой системы. Например,
Расширения DIRECTUMсодержат ряд веб-частей, которые позволяют быстро, без
лишних запросов и экранных форм, стартовать бизнес-процессы (задачи DIRECTUM) определенного вида.
Таким образом, можно настроить место пользователя, с которого удобно будет выполнять
конкретные операции – оформления различного рода заявок, заявлений, отчетов о
проделанной работе и т.д.
И не только такие задачи позволяют говорить об интеграции портала с другими приложениями
на уровне функционала. Портал сам может выступать в роли приложения, с
которым интегрируются. Например, Расширения DIRECTUM для SharePoint
позволяют публиковать документы DIRECTUM
в различные библиотеки на веб-узлах MicrosoftSharePoint. Публикация документов на
портал может быть реализована как часть автоматизированного бизнес-процесса
согласования документов, который описан и реализован типовым маршрутом
подсистемы workflowсистемы DIRECTUM.
Таким образом, портал может полностью покрыть потребность в
интеграции на уровне функционала, и частично – на уровне данных и интерфейса.
Однако с помощью портала не имеет смысла осуществлять интеграцию систем,
которая не завязана на действиях пользователя.
Использование портала как механизма интеграции ведет к смене
концепции разработки – программистам необходимо встраиваться в уже существующую
инфраструктуру, разрабатывать не самостоятельные приложения, а отдельные
элементы сторонней системы (портлеты, или в терминологии Microsoft – веб-части).
Администраторам портал несет дополнительные преимущества в виде упрощения администрирования
клиентских рабочих мест. Однако, связь информационных систем с порталом и
портала – с внешними источниками данных, может осложнить работу администратора.
Порталы следует применять для решения четко очерченного
круга интеграционных задач – тех, где связующим звеном выступает пользователь.
Портал хорошо обеспечивает однонаправленный веб-доступ к данным сторонних
приложений. Портал позволяет интегрироваться с функционалом внешних систем
(включая передачу данных в эти системы), создавая специализированный интерфейс
для выполнения рутинных операций пользователями и выступая как площадка для
публикации информации. С помощью новых веб-технологий портлеты могут
дублировать интерфейс настольных приложений, встраивая таким образом его в
портал.