Опыт работы с Drools Flow и/или OSWorkflow?

Я ищу простой механизм рабочего процесса Java, который:

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

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

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


person Alan Gairey    schedule 09.06.2009    source источник


Ответы (4)


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

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

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

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

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

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

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

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

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

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

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

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

Крис Верлаенен
Ведущий пускает слюни

person Community    schedule 09.06.2009
comment
Kris, Большое спасибо за исчерпывающий ответ. Сейчас я собираю концептуальный рабочий процесс с использованием Drools Flow — пока все хорошо. Скорее всего, у меня возникнет несколько вопросов по пути — надеюсь, увидимся на irc. Еще раз спасибо. - person Alan Gairey; 10.06.2009
comment
Только что покинул jBPM после ужасного разочарования в их новом API (4.3). Нашел Drools Flow и полюбил его. - person Richard Clayton; 15.04.2010

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

person digitalpardoe    schedule 09.06.2009
comment
jBPM, похоже, работает не так хорошо. Поскольку некоторые из основных разработчиков покидают корабль, я подозреваю, что JBoss в конечном итоге перейдет на Drools Flow в качестве стандартной реализации рабочего процесса; думал, что это с точки зрения постороннего. - person Richard Clayton; 15.04.2010

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

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

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

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

отметка

person Mark Proctor    schedule 09.06.2009
comment
Марк, спасибо за ваши (и Криса) ответы. Я обязательно буду использовать irc для любых дальнейших вопросов, которые у меня есть. - person Alan Gairey; 10.06.2009

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

Привет

person Community    schedule 09.06.2009