В настоящее время у нас есть приложение, основанное на встроенном механизме рабочего процесса с DSL на основе YAML. Мы стремимся переместить часть его на Java.Рабочий процесс BPMN, Drools и т. Д. Или ESB?
Я обнаружил ряд Java-решений, таких как Intalio, JBPM, Drools Expert, Drools Flow и т. Д. Они, похоже, нацелены на предприятия, где бизнес-аналитик создает рабочие процессы с помощью графического редактора и отправляет их в механизм рабочего процесса , Они, похоже, ориентированы на простоту использования для нетехнических людей, а не для разработчиков, сосредоточенных на человеческом взаимодействии.
Рабочие процессы имеют тенденцию выглядеть.
Discover-a-file -\
-> join -> process-file -> move-file -> register-file
Discover-some-metadata -/
Если какой-либо шаг не удался, нам нужно повторить его X раз. Мы также должны иметь возможность остановить систему и перезапустить ее и продолжить ее с того места, где она была (долговечна).
Некоторые из наших рабочих процессов могут быть определены набором целей, которые нам нужно достичь, так что цепочка Jess's backward кажется интересной, но она не является открытым исходным кодом.
Возможно, что мы являемся машиной конечного состояния или просто служебной шиной предприятия и делаем все как очереди JMS.
Есть ли хороший механизм рабочего процесса с открытым исходным кодом, основанный на стандартах, но также ориентированный на разработчиков. Мы не особенно хотим использовать графический дизайнер рабочего процесса или писать столбцы XML, и в идеале он должен быть в Java или языке агностик (делает REST/Soap-вызовы внешним сервисам).
Спасибо, Том
http://java-source.net/open-source/workflow-engines - Я не буду публиковать это как ответ, так как у меня нет опыта с ними. – TrueWill