Нам нужно добавить WorkFlow в наше приложение, управляемое Spring. Есть ли у кого-нибудь полезный опыт использования любого из множества решений OSS Work Flow? Какой из них лучше? Какой из них лучше всего интегрируется в Spring? Чего нам следует избегать?
Если вам нужна только простая оркестровка процессов, собственный Web-поток Spring , несмотря на его название, может служить диспетчером задач оркестровки. Если вам нужно сохранить состояние в течение нескольких дней, вам нужно стать «ранним последователем» одного из проектов с открытым исходным кодом. Возможно, вы захотите взглянуть на проект Eclipse BPEL .
Я догадываюсь, что как только появится более четкое представление о пространстве BPEL / BPM / Workflow, вы увидите, что Spring предоставляет слой абстракции точно так же, как это делается для JDBC, транзакций, сред ORM и т. Д. ...
Мы смотрим на Drools / Guvnor, возможно, интегрированную с jBPM (как в этой презентации ), чтобы добавить движок рабочего процесса в наше приложение Spring / Java EE, но мы все еще находимся на самых ранних этапах его тестирования.
Я второй Spring Web Flow. В зависимости от того, насколько сложен процесс, Web Flow отлично подходит для управления различными состояниями, и я обнаружил, что его довольно легко подобрать, и для этого есть достаточно документации.
Как сказал Брайан, если вы делаете что-то очень сложное, вы можете посмотреть на использование BPEL.
Существует несколько BPEL-движков с открытым исходным кодом, один из которых приходит на ум - Apache Orchestration Director Engine.
ActiveVOS, на мой взгляд, является лучшим двигателем BPEL. Загрузите ознакомительную версию и попробуйте. JBoss даже принял их предложение с открытым исходным кодом.