Абстракция систем управления бизнес-процессами - PullRequest
4 голосов
/ 25 октября 2019

Есть несколько хороших BPM-программ: jBPM, Bonita BPM, Camunda BPM, Activity и т. Д.

Большинство из них поддерживает некоторый API для интеграции с ними, например, jBPM предоставляют интерфейс KieServicesClient и реализации для работыс этим. Это работает, но может работать только с jBPM. И то же самое с другими.

Я хочу, чтобы мое приложение могло переключаться между конкретными двигателями в минуту. Есть ли стандарт для этого? Уровень абстракции для процессов, задач и прочего, что используется в двигателях bpm? Один интерфейс для всех из них.

1 Ответ

3 голосов
/ 26 октября 2019

Не существует стандарта, который охватывает API. Однако, если выбранный вами механизм процесса соответствует стандарту BPMN 2 (и так должно быть!), Тогда объектная модель и терминология, с которой он работает, будут стандартизированы. В результате API должны получиться очень похожими.

Вы можете абстрагировать движок, используемый лучшими практиками архитектуры, такими как слабая связь , что в настоящее время, вероятно, приводит вас к использованию REST API этих продуктов. Они должны быть зрелыми, в соответствии с фактическими стандартами (https://martinfowler.com/articles/richardsonMaturityModel.html).

Сравнение, например,

Использовать стандарт BPMN2, соединять свободноне зависит от технологии, предпочтительно через REST и избегает использования проприетарных (серверных) объектов на стороне клиента для создания хорошей абстракции.

...