Опыт работы с Drools Flow и / или OSWorkflow? - PullRequest
4 голосов
/ 09 июня 2009

Я ищу простой движок Java, который:

  • может обрабатывать как автоматизированные, так и ручные (на основе графического интерфейса) шаги в рабочем процессе
  • поддерживает длительные асинхронные задачи
  • обеспечивает поддержку перезапуска рабочих процессов в случае сбоя сервера
  • хранит полную историю аудита ранее выполненных рабочих процессов
  • обеспечивает легкий доступ к данным истории аудита.

Возможные кандидаты включают новый механизм процесса Drools Flow в Drools 5 и OSWorkflow из OpenSymphony. Исходя из моего нынешнего понимания, OSWorkflow предлагает больше того, что я хочу (Drools Flow, кажется, не хранит много в истории аудита); однако самый последний выпуск OSWorkflow был в начале 2006 года. Является ли ошибкой использование OSWorkflow, когда он больше не находится в активной разработке?

Есть ли у кого-нибудь большой опыт использования одной или обеих этих платформ? Есть ли какие-либо другие механизмы рабочего процесса, на которые я должен обратить внимание? Все рекомендации приветствуются - спасибо.

Ответы [ 4 ]

7 голосов
/ 10 июня 2009

Просто чтобы уточнить, как Drools Flow поддерживает описываемые вами требования (см. Документацию Drools Flow ):

  • может обрабатывать как автоматизированные, так и ручные (на основе графического интерфейса) шаги в рабочем процессе

Drools Flow использует (доменные) рабочие элементы (глава 8) для взаимодействия с внешними системами. Это могут быть автоматизированные службы или компонент управления неавтоматизированными задачами (глава 9) для ручных задач. Этот компонент задачи для человека полностью подключаем, но Drools Flow поддерживает реализацию WS-HumanTask из коробки. Drools 5.1 будет включать веб-списки задач, включая пользовательские формы задач.

  • поддерживает длительные асинхронные задачи

Двигатель позволяет запускать процессы, которые могут жить долго. Процесс поддерживает различные виды состояний ожидания (узлы рабочих элементов, узлы событий, узлы ожидания событий, подпроцесс и т. Д.) Для моделирования длительных процессов. Внешние задачи могут быть интегрированы синхронно или асинхронно.

  • обеспечивает поддержку перезапуска рабочих процессов в случае сбоя сервера

Состояние выполнения всех экземпляров процесса можно легко сохранить в источнике данных, включив постоянство (Глава 5.1). Поэтому все процессы можно просто восстановить в том состоянии, в котором они находились после сбоя сервера.

  • хранит полную историю аудита ранее выполненных рабочих процессов

Drools Flow генерирует события о том, что происходит во время выполнения ваших процессов. Включив ведение журнала аудита (Глава 5.3), эти события можно сохранить в базе данных, предоставляя полную историю аудита всего, что произошло во время выполнения.

  • обеспечивает легкий доступ к данным истории аудита.

Данные истории хранятся с использованием нескольких простых таблиц базы данных. Эти таблицы могут быть запрошены напрямую, или вы можете использовать их для создания пользовательских отчетов (глава 12.1), которые показывают ключевые показатели эффективности, которые имеют отношение к вашему приложению.

Кроме того, мы считаем, что подход, ориентированный на знания, позволяющий беспрепятственно комбинировать процессы с правилами и обработкой событий при необходимости, обеспечит вам большую мощность и гибкость по сравнению с вышеупомянутыми процессно-ориентированными механизмами.

Крис Верлаенен
Drools Flow Lead

4 голосов
/ 10 июня 2009

Drools Flow намного сложнее и мощнее, чем jBPM и OSWorkflow, и разработка идет быстрее, чем любой другой. Мы предоставляем много деталей и скриншотов здесь: http://www.jboss.org/drools/drools-flow.html

Но в заключение. Вы получаете интерактивную отладку по правилам, рабочему процессу и обработке событий. У вас есть больший набор встроенных узлов, что увеличивает количество проблем, которые вы можете напрямую декларативно моделировать. Корреляция (по правилам, процессам и событиям) ведения журнала аудита и отчетности. Мы предоставляем очень простой и в то же время мощный механизм для создания специфичного для домена рабочего процесса с помощью наших подключаемых рабочих элементов.

Drools 5.0 только что был выпущен, и 5.1 будет в ближайшие 4-6 недель. Мы добавляем симуляцию и тестирование для этого, используя MVEL DSL, который, по нашему мнению, будет иметь огромный успех. Это также будет включать в себя более обширную работу для удаленного администрирования GUI для процессов, интегрированных в Guvnor.

Команда Drools также гордится тем, что она более доступна, чем любой из упомянутых проектов. Не стесняйтесь заходить на IRC для чата.

Mark

4 голосов
/ 09 июня 2009

У меня не было опыта работы с кандидатами, которых вы упомянули, но, судя по проектам, над которыми я работал, возможно, стоит взглянуть на jBPM . Многие разработчики, с которыми я работал, клянутся этим, и я думаю, что это вполне соответствует вашим критериям.

1 голос
/ 09 июня 2009

У меня есть опыт работы с обоими ... также я был вовлечен в инструмент для миграции существующих процессов в OSWorkflow на Drools 5.0. Вы можете прочитать статью об этом в: http://blog.athico.com/2009/01/drools-flow-and-osworkflow-migration.html. Важно отметить, что этот инструмент миграции / переводчик был создан, чтобы позволить старым проектам, использующим OSWorkflow, обновиться до Drools 5.0 и воспользоваться всеми преимуществами Drools 5.0 Business Интеграционная платформа.

Привет

...