工作流引擎 工作流引擎架构分层式体系架构,共分为三层:Foundation层、Service层和API层。 ·客户端通过编程接口访问工作流引擎,以实现工作流流程实例的创建、启动、控制、查询等。 ·工作流引擎通过组织机构映射关系,可将客户系统现有的组织结构和用户数据集成到工作流系统。 ·工作流引擎可调用的组件包括 Java Bean、 Remote EJB、 Local EJB、 Jsp、 BSH Script等多种类型。
控制平台 控制平台功能介绍: ·监控运行实例统计 ·监控运行实例状态、数据、日志 ·过程模板列表、查询 ·创建过程实例 ·过程实例列表、查询、详情 ·过程实例操作(启动、挂起、恢复、终止、重起…) ·活动列表、查询、详情 ·活动操作(强制重起、强制停止、执行人员再安排…) ·日志查询
流程相关人员角色及相应权限设定 TongWorkFlow相关人员角色共分为: ·模板责任人: 负责流程需求采集及设计维护流程模板 ·实例创建者:具有创建流程实例的权限 ·实例管理者:监控、管理流程实例的运行 ·任务执行者:执行流程手工类型活动 TongWorkflow在定义具体流程的各类型角色时均可通过三种类型(个人、 角色、 组织)的组合来最终确定, 而且每种类型包括选择定义好的参与人员与通过过程实例数据值来动态指定。
工作流数据 工作流数据是指和业务及流程相关联的数据,用于初始业务组件输入参数和确定活动分支转移条件,TongWorkflow工作流数据分为流程实例数据(Process Instance Data)和活动实例数据(Activity Instance Data): ·通过设计工具可定义流程实例数据(Data Fields), 流程实例数据包括活动、活动集、子流程的输入、输出数据,并通过数据结构(Data Structure)方式进行描述。 ·创建流程实例时,输入活动实例数据,在流程实例运行过程中,TongWorkflow给每一个流程实例分配一个实例池,保存流程实例数据。 ·在引擎创建活动时,首先, 从流程实例数据池中取出需要的数据,按照模板中定义的流程实例数据与活动实例数据的映射关系,将取出的数据映射为活动数据,并将活动数据存储以供执行和错误恢复时使用。 ·执行业务组件时,引擎从活动实例池中取出活动实例数据传递给业务组件,业务组件执行完毕后,将输出的数据写入流程实例池中,修改原有的数据。
事务处理 TongWorkflow基于应用服务器的事务机制,根据具体情况结合使用CMT和BMT方式, 当活动调用服务器端组件时,如果组件抛出AppException异常,工作流将自动回滚整个活动执行的事务,并将该活动和所属流程实例状态设定为InError;对于调用客户端组件活动的事务,由开发人员自己划定事务边界。
异常处理 在TongWorkflow中,异常分为系统级异常和应用级异常,应用级异常为可修复异常,由开发人员控制,当服务器端抛出应用级别异常时(AppException), 系统自动设定调用活动实例和所属流程实例为InError状态,异常原因排除后,可以通过控制平台或API编程调用实现重复执行;当系统级别异常出现时(如数据被破坏),异常为不可修复异常,系统自动设定状态为Abort, 只能删除该实例,不能再重复执行。
|