Поток вызовов на основе XML - альтернативы JBPM JPDL
У меня есть требование, где я должен прийти с дизайном для управления потоком выполнения кода через XML. Это своего рода государственная машина, где я должен перемещаться между штатами. Я использовал JPDL XML на JBPM 4, около 5 лет назад. Но похоже, что JPDL больше не доступен в последних версиях JBPM.
В основном я хочу что-то вроде ниже, (только смоделировано на основе JPDL)
<start-state name="request a purchase">
<transition to="evaluating"/>
</start-state>
<state name="evaluating"> <!-- Invokes a Java Class and based on the output make transition to next state-->
<transition name="approve" to="purchase approved"/>
<transition name="disapprove" to="done"/>
</state>
<fork name="purchase approved">
<transition to="decrement inventory" />
<transition to="increment revenue" />
</fork>
.
.
.
<end-state name="done" />
Выше можно легко сделать с JBPM и JPDL, но в последней JBPM, без JPDL, я не уверен, как это сделать. Переход между состояниями основан на выводе класса Java (как, например, "оценивающее" состояние), и класс Java будет взаимодействовать с внешними системами. Нет взаимодействия с пользователем.
Мне нужно контролировать поток вызовов из XML, потому что это позволит нам интенсивно обрезать каждый сценарий, не касаясь кода Java. Я прошел через веб-потоки Activiti и Spring, но все еще не очень ясно, что вышеизложенное может быть достигнуто или нет с этим.
Не могли бы вы предложить некоторые подходящие рамки для вышеуказанного требования?
1 ответ
jBPM теперь использует спецификацию BPMN2, а не собственный проприетарный язык для определения процессов. Рассматривали ли вы чтение этой спецификации и использовать ее вместо этого?