MQ Workflow
Деятельность любого предприятия строится по определенным формальным процедурам (рабочим процессам). В процессе автоматизации предприятия разработчикам приходится осуществлять реализацию всего набора рабочих процессов в рамках информационной системы. Большое значение при этом имеет обмен данными между элементами рабочего процесса. Логичным представляется использование для решения этой проблемы WebSphere MQ как средства, обладающего мощными возможностями для передачи сообщений и интеграции различных приложений.
MQ Workflow входит в состав семейства MQ и представляет собой систему управления рабочими процессами (бизнес-процессами). MQ Workflow позволяет в графическом режиме осуществлять построение и отладку бизнес-процессов. Созданная с помощью специальных средств MQ Workflow модель может быть затем инициирована для реальных приложений таким образом, что приложения осуществляют взаимодействие друг с другом в соответствии с описанным процессом. Управление взаимодействием (передача управления приложению; ветвление процесса в зависимости от условий и текущей ситуации и пр.) реализуется в рамках MQ Workflow, вследствие чего бизнес-приложения подвергаются минимальной модификации.
Наиболее часто MQ Workflow применяется для автоматизации бизнес-процессов, в которые вовлечены как сотрудники предприятия, так и информационные системы.
Как правило, процесс работы MQ Workflow можно разбить на три стадии. На первой стадии с помощью компонента Buildtime происходит определение процесса, включающее:
- графическое моделирование бизнес-процесса;
- определение персонала (люди, организации, роли);
- регистрация программ, используемых для реализации отдельных бизнес-процедур;
- определение структур данных;
- определение топологии этапа исполнения.
Результатом процесса определения является готовая к работе модель (описание) бизнес-процесса. Данная модель может быть записана в репозитарий компонента Buildtime для дальнейшего использования или модификации. Кроме того, Buildtime поддерживает специальный формат описания бизнес-процессов MQ Workflow Flow Definition Language - FDL, что позволяет применять описанный процесс в рамках других систем, а также импортировать готовое описание бизнес-процесса для его дальнейшего выполнения.
Создание модели процесса происходит с помощью специализированного графического редактора. Для отображения процесса используются ориентированные графы, что предотвращает, в частности, случайное появление бесконечных циклов в ходе выполнения процесса. В рамках графического интерфейса проектировщик может определить участвующих пользователей, программы, структуры данных, последовательность выполнения операций, условия перехода между операциями и пр.
Если определение процесса становится слишком сложным или если часть процесса предполагается использовать в других приложениях, то процесс делится на компоненты (подпроцессы). При этом у проектировщика появляется библиотека подпроцессов, которая может применяться для других реализаций.
Передача информации между отдельными операциями процесса или между подпроцесами осуществляется с использованием специальных контейнеров. Контейнер ввода данных содержит информацию, которая требуется для выполнения операции, контейнер вывода данных - результирующую информацию о выполнении операции.
Готовая модель передается в специализированный компонент MQ Workflow Runtime, где на основе модели формируется копия бизнес-процесса - реальный набор операций, которые будут выполнены приложениями и людьми в ходе данного бизнес-процесса. Управление бизнес-процессом включает:
- навигацию по всему потоку операций;
- извещение администратора о задержках или автоматическое выполнение других действий, определенных ранее;
- назначение индивидуальных задач соответствующим сотрудникам, участвующим в бизнес-процессе;
- автоматический запуск приложений, если это предусмотрено описанием бизнес-процесса;
- анализ проведенных операций.
Реализация данных функций возможна благодаря наличию в MQ Workflow широкого набора API для интеграции со сторонними приложениями, а также набора GUI для обеспечения комфортной работы пользователей с системой управления бизнес-процессами.
Подлежащие исполнению операции появляются в рабочих списках назначенных пользователей. Данные списки содержат постоянно обновляемые наборы операций, которые должны быть выполнены пользователем.
Они являются первичным интерфейсом, с помощью которого пользователи начинают выполнение операций. В ходе самого выполнения могут также вызываться различные приложения, задействоваться другие пользователи. Управление этим процессом осуществляется MQ Workflow, вследствие чего пользователь ограждается от выполнения ненужных или запрещенных действий, а также сокращается время, затрачиваемое на выполнение работы.
Современные бизнес-процессы включают в себя как ориентированные на человека рабочие операции, так и автоматизированные приложения. Модель потока операций должна объединять операции, выполняемые людьми (<ручные операции>) с автоматически выполняемыми операциями.
Длительность ручных операций может измеряться минутами, часами, сутками, неделями. Оценка эффективности работы сотрудника, фиксирование времени выполнения им тех или иных операций производится путем обработки соответствующей информации внутри MQ Workflow. После проведения анализа данной информации может быть сделан вывод о результатах деятельности сотрудника или приняты рекомендации по оптимизации процесса выполнения им своих функций.
Клиентским интерфейсом для выполнения операций является продукт Client, входящий в стандартную поставку MQ Workflow. Именно в нем и содержится рабочий список назначенных пользователю задач. Кроме стандартного клиента MQ Workflow позволяет применять в качестве клиентского приложения Lotus Notes, Web-браузер и пр. В последнем случае предполагается использование специализированного API.