基于Spring Boot的业务流程自动化JBPM

18-11-02 banq
                   

在当今的云和容器世界中,业务流程执行开始从流程执行引擎的传统集中部署(从SOA时代)转移到更小的流程定义的更灵活,分散的部署。这些较小的流程部署非常适合微服务架构。通过自动化流程协调和编排微服务。

RedHat今天发布了其JBPM基于微服务的演示案例:JBoss Demo Central GitHub存储库,主要涵括:

  • 案例管理:IT订单流程是作为动态的数据驱动案例实施的。数据的变化推动了案例/流程的执行。
  • 文档管理:上传的文档通过PAM 7文档管理服务存储
  • 人/用户任务:需要完成各种用户任务才能完成整个订单流程。用户/人工任务服务与前端应用程序之间的集成是通过REST完成的
  • API集成:AngularJS UI通过RESTful API与PAM执行引擎集成。
  • SpringBoot:PAM执行引擎在SpringBoot运行时上运行。运行时连接到PAM 7 Business Central环境以进行进程管理。
  • Vert.x集成:订单服务使用Vert.x实现。Vert.x应用程序和PAM执行引擎之间的集成是通过RESTful API完成的
  • Saga模式:当订单时间结束时,订单服务中的订单通过BPMN2补偿流程取消。这实际上是在BPMN2流程中实现Saga模式。

banq评:通过补偿流程显式实现事务,实际是将事务变成交易去做,没有什么亮点,真正亮点是:如果BPMN流程没有设计补偿流程,Saga系统应该能自动退回整个流程。这种自动化事务才有可能替代传统的分布式事务。