Опыт работы с Drools Flow и / или OSWorkflow?
Я ищу простой Java-движок, который:
- может обрабатывать как автоматизированные, так и ручные (на основе графического интерфейса) шаги в рабочем процессе
- поддерживает длительные асинхронные задачи
- обеспечивает поддержку перезапуска рабочих процессов в случае сбоя сервера
- хранит полную историю аудита ранее выполненных рабочих процессов
- обеспечивает легкий доступ к данным истории аудита
Возможные кандидаты включают новый движок процесса Drools Flow в Drools 5 и OSWorkflow из OpenSymphony. Исходя из моего нынешнего понимания, OSWorkflow предлагает больше того, что я хочу (Drools Flow, кажется, не хранит много в истории аудита); однако последний выпуск OSWorkflow был выпущен в начале 2006 года. Является ли ошибкой использование OSWorkflow, когда он больше не находится в активной разработке?
Кто-нибудь имеет большой опыт работы с любой из этих платформ? Есть ли какие-либо другие механизмы рабочего процесса, на которые я должен обратить внимание? Все рекомендации приветствуются - спасибо.
4 ответа
Просто чтобы уточнить, как 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
У меня не было опыта работы с кандидатами, которых вы упомянули, но, судя по проектам, над которыми я работал, стоит взглянуть на jBPM. Многие разработчики, с которыми я работал, клянутся этим, и я думаю, что это вполне соответствует вашим критериям.
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 для чата.
отметка
У меня есть опыт работы с обоими... также я был вовлечен в инструмент для миграции существующих процессов в OSWorkflow на Drools 5.0. Вы можете прочитать статью об этом в: http://blog.athico.com/2009/01/drools-flow-and-osworkflow-migration.html. Важно отметить, что этот инструмент миграции / переводчик был создан, чтобы позволить старым проектам, использующим OSWorkflow, перейти на Drools 5.0 и использовать преимущества всей платформы бизнес-интеграции Drools 5.0.
Привет