У меня есть требование, когда я должен прийти с дизайном для управления потоком выполнения кода через 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, но все же не очень ясно, что вышеупомянутое может быть достигнуто или нет с этим.
Не могли бы вы предложить некоторые подходящие рамки для вышеуказанного требования?
jBPM теперь использует спецификацию BPMN2, а не собственный собственный язык для определения процессов. Вы считали, что читаете эту спецификацию и используете ее вместо этого?