工作流技术方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工作流技术方案

目录

1概述 (3)

1.1工作流现状 (3)

1.2建设原则 (3)

1.3建设目标 (3)

1 (4)

2总体设计方案 (4)

2 (4)

2.1业务架构设计 (4)

2.1.1业务功能设计 (4)

2.1.2业务模型设计 (5)

2.2总体架构设计 (6)

2.2.1工作流总体结构图 (6)

2.3技术架构设计 (7)

2.3.1展现层 (7)

2.3.2控制层 (7)

2.3.3业务逻辑层 (7)

2.3.4数据持久层 (8)

2.3.5缓存 (8)

3应用系统设计 (8)

3 (8)

3.1流程定义 (8)

3.2流程管理和监控 (8)

3.3工作流引擎 (8)

3.4工作项列表 (9)

1 (9)

1.1 (9)

1.2 (9)

1.3 (9)

1 (9)

1.1 (9)

1.2 (9)

1.3 (9)

1概述

1.1工作流现状

工作流是实现企业业务过程建模、业务过程仿真、业务过程管理与集成,从而实现最终业务过程自动化化的核心技术。

传统的工作流管理系统缺乏柔性,不能及时响应变化和相互之间缺乏互操作的缺点不能满足这种复杂业务流程管理的需要。针对这种情况,提出工作流管理平台的实现方案,以便更好地对企业业务流程实行管理。

1.2建设原则

工作流管理平台的设计主要遵循实用性、稳定性、高效性、灵活性等原则:

(1)稳定性原则:需要采用成熟的技术模型、稳定的软硬件产品、软件开发平台和工具。

(2)安全性原则:提供完整备份机制,提供安全的数据访问机制。

(3)友好性原则:考虑到平台将针对各个层面的用户群体,使用者的计算机水平参差不齐,所以需求平台提供的界面简便友好、操作方便。

(4)扩展性原则:系统设计应具有良好的可扩展性和升级能力,可以根据新的业务拓展,方便地追加新的模块,也可以根据运营的状况,自由地追加硬件,

以实现对系统有效的负载均衡。

(5)快速开发原则:提供封装的开发构件,提供基本的系统管理模块,提供简洁的开发模板,能够满足各类业务需求的快速开发。

1.3建设目标

根据上述原则,工作流管理平台建设的主要建设目标为:

(1)实现基于Jbpm的流程引擎的二次开发。

(2)实现图形化的流程定义工具和流程管理监控工具。

(3)实现工作项列表(包括待办事宜、已办事宜、历史事宜)的统一管理界面。

(4)实现在流程生命周期中应用系统对流程触发的动作的相关服务接口:工作流定义相关服务、工作流引擎相关服务、工作项列表相关服务。

2总体设计方案

2.1业务架构设计

2.1.1业务功能设计

以上图表说明系统功能的物理结构及调用关系。以下分四部分说明:

系统的层次结构大致是:前台功能模块—>后台功能模块(Action层+Service层+Dao层),即:前台功能模块通过Ajax与后台功能模块的Action交互,Action调用Service层相关接口,与底层Dao/Spring Framework交互,完成数据的存取。

【流程定义模块】涉及到语义解析,需通过【格式转换模块】转换并被【jbpm 引擎的定义模块】处理后才能存取。【流程管理监控模块】中的暂停/恢复/终止等管理功能需经过【工作流公共模块】并被【jbpm引擎的运行时模块】处理才能完成。其查询功能直接通过DAO层完成,【工作流工作项列表模块】也是如此。

外部接口实现,【工作流提供的外部接口】及【工作流调用的外部接口】为WebService形式,功能由【工作流公共模块】实现。

引擎增强实现方式,一是在已有的jbpm引擎类上增加属性及逻辑,如【预警定义】,【查询界面及处理界面设置】等功能;二是通过新增类来扩充功能,如【流程/流程节点数据定义】、【流程参与人表达式定义】,【参与人表达式解析模块】、【多实例(任务/子流程)模块】等功能。

2.1.2业务模型设计界面Url定义

流程定义工作流流程数据定义

节点数据定义

节点

任务

参与人及表达式定义

工作流分类

流程实例

流程令牌

数据实例

任务实例

非工作流待办

下一步参与人转移

【工作流分类】是对工作流进行管理的目录层次,在此目录下创建一个或多个【工作流】;

【工作流】是【流程定义】的总称,代表一个业务流程的名称。并且它为【流程定义】指定一个或多个可用的【界面Url定义】;

【界面Url定义】是指人工活动的操作界面或查看界面的url链接;

【流程定义】是【工作流】的具体内容,即一个业务流程的定义。【流程定义】是可变的,即有不同版本之分;【流程定义】是由【节点】和【转移】组成,并且拥有自己的【流程数据定义】;

【流程数据定义】(以及【节点数据定义】)是外部程序与工作流引擎交互的媒介。通过它外部程序可影响到工作流的【节点】调度;

【节点】是指【流程定义】的一个活动,【节点】中的人工活动拥有操作界面或查看界面,【节点】拥有一个或多个【任务】;

【任务】代表【节点】的一种类型,即“人工活动”,【任务】可指定完成人工活动的【参与人及表达式定义】;

【转移】是一个源【节点】跳转到下一个目的【节点】的条件;

【节点数据定义】类似【流程数据定义】,不同的是后者是全局数据,前者是局部数据;

【参与人及表达式定义】是定义完成【节点】(人工活动)的参与者。

【流程实例】是工作流引擎运行时依照【流程定义】创建的一个实例。它拥有一个或多个【流程令牌】;【流程令牌】代表流程运行时的一个路径分支,指示当前运行到达的【节点】;当到达一个人工活动【节点】时,将创建该【节点】的【任务】的一个或多个实例,即【任务实例】,并根据【参与人及表达式定义】创建完成【任务实例】的【下一步参与人】;

相关文档
最新文档