Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Статьи - разминка для умаСравнительный обзор BPM - систем

Сравнительный обзор 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 является удобным и более предпочтительным по следующим причинам:

  1. Наглядная связь процесса с внешними сервисами (partnerLink);
  2. Инструментарий, использующий drag-and-drop для реализации операции связываний (assign), что делает этот процесс очень удобным и наглядным;
  3. Удобные механизмы импорта сервисов, что позволяет использовать довольно просто переменные находящиеся во внешних пространствах имен;
  4. Удобство 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. Жду от Вас предложений, пожеланий и конструктивной критики. Все вопросы можно обсудить на форуме портала!











Б.Б. Жмайлов (землянин),

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


Опрос
Считаете ли вы целесообразным сделать аналог упражнений по Hibernate на базе вопросов www.sql-ex.ru?
Да, полный аналог упражнений
Да, но с реализацией основных конструкций объектной модели
Нет, Hibernate не актуален, использую др. технологии
Нет



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95