Просто чтобы уточнить, как 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