摘要

针对软件即服务(SaaS)层应用采用单体架构方案时开发难度高、耦合性强、扩展性和可维护性差的问题,设计了一种由工作流引擎驱动业务流程的基于微服务架构的SaaS层云管平台(CMP)。基于工作流核心设计模型和微服务开发框架Spring Cloud,设计了基于微服务的工作流组件结构模型,由组件内工作流引擎(Activiti)驱动CMP业务流程;根据工作流引擎API封装模式提出面向业务流程的微服务组件间REST API设计方案、流程节点自由跳转算法以及命令查询职责分离(CQRS)模式数据操作方案。以面向OpenStack的云资源调度为具体应用场景,每个微服务组件的业务功能均可被独立设计开发,工作流组件将解耦的业务组件串联,驱动完成完整的业务流程,验证了REST API与流程节点自由跳转,以及CQRS模式数据操作的可行性。