Сборка технологического движка с использованием Akka / Scala - PullRequest
0 голосов
/ 25 февраля 2019

В настоящее время я пытаюсь реализовать прототип движка процесса в Akka / Scala, который анализирует XML-файлы, а затем выполняет некоторые элементы процесса BPMN.Я хочу начать с базового BPMN-процесса, доступного в виде XML-файла.

Я думал, что хорошим способом для этого является использование FSM.Поэтому сначала может быть проанализирован XML-файл со структурой данных, например, разделенной на узлы (с подклассами, такими как задача, шлюзы и т. Д.) И объекты последовательности (например, должен иметь состояния, чтобы он знал, с какого узла он направляется в какой узел).

Чтобы узнать, когда закончится процесс, я думал об использовании токенов?Когда токен достигает элемента, он знает, что он завершен.

Это некоторые процессоры, на которые я смотрел, но которые я не совсем понимаю, и они также слишком сложны:

https://github.com/catify/bpmn-engine

Также я не совсем уверен, должен ли я написать свой собственный парсер или «просто» использовал уже данные парсеры и изменить их

У кого-нибудь есть опыт или совет?

1 Ответ

0 голосов
/ 25 февраля 2019

Вы смотрели на Uber Cadence ?Он позволяет указывать вашу логику в виде кода, поэтому все, что вам нужно, это написать анализатор для вашего XML и интерпретировать ваши структуры данных.Вся отказоустойчивость и долговечность уже решены двигателем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...