[]
        
(Showing Draft Content)

架构设计

架构图

image

角色

流程引擎可实现以下角色的协同工作:

  • 开发人员使用活字格桌面设计器开发应用,设计流程。

  • 业务人员在应用上线后,使用浏览器填报审批,运转流程。

  • 系统管理员在应用上线后,使用浏览器在线编辑流程,迭代流程版本。

环境

  • 开发环境:使用活字格桌面设计器打开工程文件,在本地计算机里运行并在浏览器里完成业务操作。

  • 部署环境:将活字格应用部署到特定物理服务器,物理服务器上需要提前安装有活字格服务器。业务人员可通过浏览器访问应用,而系统管理员可通过用户管理站点管理后台配置。

定义层

在定义层,流程引擎提供了可视化设计器和在线编辑发布的功能,使流程设计人员能够轻松创建和修改流程定义。在活字格中,允许一个工程同时创建多个流程定义。

  • 开发环境下,流程定义文件包含在活字格的工程文件中,并由设计器通过文件系统进行存储和访问。

  • 部署环境下,流程定义文件直接存储在应用的部署文件夹下。

持久化层

持久化层负责存储流程定义、流程数据以及与流程引擎相关的持久化信息。它包括流程数据库和业务数据库,流程数据库用于存储流程定义和执行过程中的数据,而业务数据库用于存储与业务应用相关的数据。在活字格中,你可以选择将流程数据库和业务数据库集成到同一个数据库中,或者将它们分别存储在不同的数据库中。这一层还支持流程定义的版本控制,通过在流程数据库中存储同一流程定义的多个版本来实现。

  • 流程数据库用来存储流程定义、流程实例、任务实例等数据。

  • 业务数据库用来存储业务相关的数据,例如客户信息、订单信息等。

执行层

执行层是流程引擎的核心,负责实际执行流程。它包括流程服务器、业务应用服务器和用户管理服务器。在活字格开发环境中,每启动一个单独的设计器时,将同时启动一个流程服务器、一个用户管理服务器以及一个应用服务器。而在活字格生产部署环境中,每当发布一个应用时,会启动一个新的应用服务器,但流程服务器和用户管理服务器仅会存在一个实例。

流程服务器负责流程的执行和流转,从流程数据库中读取流程定义并执行相应的操作。

  • 业务应用服务器是与流程引擎集成的实际业务应用程序,它们与流程服务器进行交互,办理流程任务。

  • 用户管理服务器负责存储用户信息、角色定义以及组织结构数据。这些数据可在用户管理站点中修改,并在流程执行过程中被利用,主要用于查找流程节点的负责人。