В настоящее время я пытаюсь реализовать прототип движка процесса в Akka / Scala, который анализирует XML-файлы, а затем выполняет некоторые элементы процесса BPMN.Я хочу начать с базового BPMN-процесса, доступного в виде XML-файла.
Я думал, что хорошим способом для этого является использование FSM.Поэтому сначала может быть проанализирован XML-файл со структурой данных, например, разделенной на узлы (с подклассами, такими как задача, шлюзы и т. Д.) И объекты последовательности (например, должен иметь состояния, чтобы он знал, с какого узла он направляется в какой узел).
Чтобы узнать, когда закончится процесс, я думал об использовании токенов?Когда токен достигает элемента, он знает, что он завершен.
Это некоторые процессоры, на которые я смотрел, но которые я не совсем понимаю, и они также слишком сложны:
https://github.com/catify/bpmn-engine
Также я не совсем уверен, должен ли я написать свой собственный парсер или «просто» использовал уже данные парсеры и изменить их
У кого-нибудь есть опыт или совет?