Сравнительный обзор BPM - систем
Обзор рынка BPM систем позволил выявить несколько основных разработчиков к которым можно отнести коммерческие реализации от фирм ActiveVOS, Intalio и Oracle. Однако существуют не только коммерческие "движки исполнения бизнес-процессов", но и аналогичные продукты, распространяемые свободно, такие как JBPM от фирмы JBoss и WLMSE от фирмы Sun. Это позволяет приблизить людей бизнеса к автоматизированным системам, сократить время и затраты на автоматизацию и т.п.

Рисунок 1: Архитектура BPM системы
С точки зрения архитектуры системы, все продукты указанных производителей соответствуют архитектуре приведенной на рис 1. В состав BPM-системы обычно входят:
- графический дизайнер для рисования схемы бизнес-процесса;
- репозиторий для ее хранения и организации совместного доступа.
Основные различия касаются стоимости, поддержки стандартов BPEL, используемого дизайнера, а также других компонент на которые опирается продукт, например тип СУБД. И если BPM - движки от фирмы Oracle ориентированны естественно на свои и СУБД и сервер приложений, то в остальных случаях можно попытаться выбрать подходящую комбинацию СУБД — сервер приложений исходя из корпоративных интересов.
Хотя безусловно следует признать, что в архитектуре BPM системы базовым элементом является сервер приложений и фирмы производители стремятся продвигать его в стандартной комплектации, так для ActiveVOS это Tomcat, JBPM — JBoss, Sun — GlassFish. Аналогичным образом обстоят дела и с СУБД, как правило поддерживаются все основные типы.
Намного хуже обстоят дела при выборе дизайнера для разработки бизнес процессов. Здесь у пользователей нет выбора, так как необходимо использовать дизайнер от разработчика BPM-engine и графическую натацию для реализхации BPEL процессов. Интерфейсы дизайнеров предсталвены на рис 6-8. Слудет заметить что «движки» от ActiveVOS и Jboss (JBPM), используют в качестве основы для дизайнера IDE Eclipse. Следует признать, что выбор дизайнера является делом субъективным, однако по моему мнению, дизайнер от фирмы Sun на базе NetBeans является удобным и более предпочтительным по следующим причинам:
- Наглядная связь процесса с внешними сервисами (partnerLink);
- Инструментарий, использующий drag-and-drop для реализации операции связываний (assign), что делает этот процесс очень удобным и наглядным;
- Удобные механизмы импорта сервисов, что позволяет использовать довольно просто переменные находящиеся во внешних пространствах имен;
- Удобство WSDL дизайнера, что позволяет довольно просто добавлять элементы, атрибуты, комплексные типы, операции, связывания.
С точки зрения поддержки стандартов, сегодня ситуация такова, что бизнес процесс без участия человека мало интересен и довольно неплохо стандартизован, что отражено в стандартах спецификации BPEL 1 и BPEL 2. На передний план выходят процессы в которых человек должен принимать непосредственно управленческое решение, специально для таких процессов разработана спецификация BPEL4PEOPLE. На наш взгляд, в этом безусловным лидером является фирма ActiveVOS, которая также является одним из главных разработчиков и поставщиков этого стандарта.
В терминологии фирмы ActiveVOS, задача в которой решение принимает человек называется Human task. Эта задача имеет потребителей и поставщиков и соответственно ориентирована на определенную группу пользователей, которые могут выполнять различные роли, например исполнитель процесса, владелец, аналитик и т.п. Все это указывается в BPEL файле. После чего создается либо типовая пользовательская задача, либо специфичная для какого-то конкретного случая. Кроме того с процессом может быть связано несколько сервисов: оповещения, идентификации, почтовый. Это позволяет фиксировать события наступления определенных этапов задачи с оповещением всех заинтересованных лиц посредством, например отправки сообщения на e-mail, см. рис. 5.
Клиентский уровень BPM — системы должен отражать то, ради чего собственно и планировалось внедрение — мониторинг состояния процессов. Эту функциональную возможность принято называть - Business Activity Monitoring (BAM) рис. 3,4. BAM позволяет выполнять всесторонний статистический анализ по процессам, позволяя выявлять проблемные места процесса в целом, на основании чего можно выполнить реинжениринг процесса оптимизируя его параметры. Как правило BAM реализован в виде web - приложения в BPM системе. Однако предоставляемый многими BMP движками API - интерфейс системы позволяет реализовать его исходя из конкретных задач самим заказчиком системы. Также, некоторые системы допускают использование сторонних разработок. Так например в JBPM от JBoss про анонсировали возможность использования разновидности BAM системы - SAS от Google.
Реализацию остальных клиентских компонент нам удалось рассмотреть только на базе решения от ActiveVOS в котором очень удобно реализована возможность посредством Web — интерфейса выполнять обслуживание всей системы, рис. 2. К сожалению в свободно распространяемом движке JBPM обслуживание системы в целом сводится к обслуживанию СУБД используя для этого ее штатные средства.
Данная статья является небольшим обзором. В продолжении данной статьи планируется представить опыт внедрения курпной корпоративной системы на базе BPM - движка от компании ActiveVOS и некторые решения на базе бесплатного движка JBPM. Жду от Вас предложений, пожеланий и конструктивной критики. Все вопросы можно обсудить на форуме портала!






