1、UAP6.5 流程平台关键技术说明关键技术大型企业与组织计算平台 关键技术说明2版权2014用友集团版权所有。未经用友集团的书面许可,本文档任何整体或部分的内容不得被复制、复印、翻译或缩减以用于任何目的。本文档的内容在未经通知的情形下可能会发生改变,敬请留意。请注意:本文档的内容并不代表用友软件所做的承诺。大型企业与组织计算平台 关键技术说明目录版权 .3目录 .41. 前言 .82. 流程平台 .92.1. 概述 .92.1.1. 流程平台整体架构 .92.1.2. UAP 流程平台特性 .112.1.3. 流程平台与业务产品的关系 .122.2. 交易 .122.2.1. 交易 .132.
2、2.2. 流程组件注册 .192.2.3. 单据动作及脚本 .202.2.4. 单据函数 .232.2.5. 分单依据注册 .262.2.6. 单据转换规则 .272.2.7. 单据接口定义 .292.3. 业务流平台 .302.3.1. 业务流设计器 .302.3.2. 业务流定义 .322.3.3. 流程配置 .332.3.4. 单据转换规则 .392.4. 审批流平台 .402.4.1. 流程定义 .402.4.2. 工作项 .502.4.3. 流程用户组管理 .522.4.4. 流程结果与单据状态 .542.4.5. 反向流转 .562.4.6. 流程监控 .572.4.7. 流程日志
3、 .592.4.8. 审批侧边栏 .592.5. 工作流平台 .60大型企业与组织计算平台 关键技术说明42.5.1. 展现 .612.5.2. 工作流组件 .622.5.3. 流程模板 .622.5.4. 流程嵌套 .632.5.5. 流程实例的状态 .632.5.6. 工作流工作项 .632.6. 审批术语 .643. 开发使用说明 .663.1. 平台缓存数据 .663.2. 动作处理 .673.2.1. UI 端调用 -PfUtilClient.693.2.2. BS 端调用 .743.2.3. 返回值 .753.3. 动作脚本 .753.3.1. 执行脚本编写 .763.3.2. 返
4、回值 .793.4. 审批流平台 API.803.4.1. 审批状态回写与查询 .803.4.2. 送审 .813.4.3. 审批 .833.4.4. 弃审 .863.4.5. 删除 .883.4.6. 审批流相关接口 .893.5. 工作流平台 .933.5.1. 单据开发,并注册流程平台相关信息。 .933.5.2. 工作流组件开发。 .933.5.3. 工作流相关方法: .933.6. 业务流平台 .943.6.1. 动作驱动 .943.6.2. 单据 VO 交换 .943.6.3. 单据 UI 菜单填充与响应 .963.6.4. 业务流相关接口 .994. 开发流程 .1035. 附录
5、 .104大型企业与组织计算平台 关键技术说明5.1. UAP5.0 短信服务 .1045.1.1. 应用模式 .1045.1.2. 短信发送 .1065.1.3. 短信接收 .1065.2. UAP6.0 动态组织 .1075.2.1. 实现类图 .1075.2.2. 注册 .1085.3. 流程平台消息模板整合说明 .1085.4. 业务流程跳转 .1185.4.1. 应用场景 .1185.4.2. 流程跳转规则 .1195.4.3. 一些说明 .1195.4.4. 实现方案 .1195.5. 数据交换升级方案 .1205.5.1. 概述 .1205.5.2. 方案说明 .1205.5.3
6、. 升级步骤 .1215.6. VO 对照给予业务组设置下游交易类型机会方案 .1235.6.1. 描述 .1235.6.2. 方案 .1235.6.3. 说明 .123大型企业与组织计算平台 关键技术说明61 前言流程管理(process management) ,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法。它应该是一个操作性的定位描述,指的是流程分析、流程定义与重定义、资源分配、时间安排、流程质量与效率测评、流程优化等。因为流程管理是为了客户需求而设计的,因而这种流程会随着内外环境的变化而需要被优化。大型企业与组织计算平台 关键技术说明2 流
7、程平台2.1 概述2.1.1 流程平台整体架构UAP 流程平台是对企业的流程进行建模的平台。其工作流模型由四部分组成,分别是过程模型、组织模型、功能模型以及信息模型(工作流相关数据) 。过程模型用来定义工作流的过程逻辑,包括组成工作流的所有活动以及活动之间的依赖关系。组织模型用来定义企业人员的组织结构,包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关系。功能模型说明企业中需要完成的工作或者任务是什么,或者说功能模型说明了企业的目标是通过哪些具体的功能活动来实现的。它确定了企业业务功能的逻辑结构和相互关系。信息模型说明了企业处理的业务对象中所包含的信息以及业务对象间的关系。过程模型采取
8、基于活动网络图的过程模型,与其他的过程模型(如事件驱动过程链EPC、Petri 网、语义-行为模型等)比较,活动网络图具有直观自然、可读性好的特性。UAP流程平台整体框架图如 图表 2-1 业务流程框架。UAP流程平台基于WFMC的标准,它包含一个核心引擎和4大接口(注:WFMC的标准中包含五大接口,UAP流程平台提供了其中4个,还有1个是不同工作流管理系统之间的W o r k f l o w F r a m e w o r kP r o c e s s D e f i n i t i o nW o r k L i s tA d m i n i s t r a t i o n & A u d
9、i tB u s i n e s s F l o w D e s i g n e rA p p r o v a l F l o w D e s i g n e rE x c h a n g e E n g i n eD a t a M a p p i n gR u l e E n g i n eI n v o k e d A p p l i c a t i o n sE m a i lS c r i p t sB u s i n e s s S e r v i c eW e b S e r v i c eO r g a n i z a t i o n M o d e lM e t a d a
10、t a R e p o s i t o r yA p p l i c a t i o n C l i e n tA p p l i c a t i o n M o d e lW o r k f l o w E n g i n e图表 2-1 业务流程框架大型企业与组织计算平台 关键技术说明8协同工作,目前UAP流程平台没有涉及)。其中流程引擎是整个流程框架的核心。它负责解释执行由流程设计器设计的流程定义。调度和监控过程中每个活动的执行,在需要人工介入的场合完成计算机应用软件与操作人员的交互。接口主要有这几大类:1) 过程定义接口:对应流程设计器,用于对流程过程进行建模。流程定义可以引用UAP系
11、统建立的功能模型、组织模型以及各种元数据。2) 客户应用接口:对应消息中心的代办任务列表。UAP用户可从工作列表中查看到工作流引擎分配给他的工作项。通过单据动作(比如提交、审批、弃审、驳回等)来处理工作项,从而驱动流程流转。3) 被调应用借口:这是流程平台和业务产品之间交互的通道。工作流引擎在流转过程中可以调用各种自动应用,包括电子邮件、脚本以及Web 服务等。对于流转过程中涉及到的数据交换,工作流引擎将调用交换引擎根据规则进行数据映射。4) 管理和监控接口:UAP流程平台提供了管理监控工具对运行中的流程实例和工作项进行状态查询和管理。以下是流程平台各部分运行时的一个交互过程:大型企业与组织计
12、算平台 关键技术说明操作人员操作人员业务系统业务系统开始开始填写表单 , 提交填写表单 , 提交操作完成操作完成点击待办任务列表点击待办任务列表显示待办任务列表显示待办任务列表进入任务操作界面( 实例 I D 、 任务I D 、 U R L )进入任务操作界面( 实例 I D 、 任务I D 、 U R L )显示任务详细信息显示任务详细信息提交任务处理结果提交任务处理结果任务完成任务完成登陆管理监控登陆管理监控任务处理时在应用中监控流程任务处理时在应用中监控流程显示监控的流程显示监控的流程处理业务逻辑( 如 : 流程终止时回滚 )处理业务逻辑( 如 : 流程终止时回滚 )处理业务逻辑( 如
13、: 保存表单数据 )处理业务逻辑( 如 : 保存表单数据 )查询业务信息查询业务信息处理业务逻辑( 如 : 保存表单数据 )处理业务逻辑( 如 : 保存表单数据 )流程平台流程平台创建并启动流程实例创建并启动流程实例查询该用户待办任务查询该用户待办任务结束工作项推动流程继续执行结束工作项推动流程继续执行显示管理监控台( 可监控 、 控制流程实例 )显示管理监控台( 可监控 、 控制流程实例 )流程实例监控流程实例监控图 1 流程运行时的交互过程用户先进入消息中心选择代办任务,再导航到审批交互界面进行审批,然后提交审批结果给业务层,在业务层我们会调用业务组件,执行审批的业务操作。然后,审批任务被
14、提交到任务层,任务层处理完审批任务后,驱动引擎,继续流转,引擎会将任务的处理结果发送给任务层,任务层再将结果返回给业务层。 2.1.2 UAP 流程平台特性UAP 的流程平台,根据不同的特点,把企业中遇到的流程分为审批流程、工作流程和业务流程。审批流程 :以单一单据实例作为处理对象的流程,一般不包含除网关节点外的自动大型企业与组织计算平台 关键技术说明10节点,人工活动的内容是做审批。仅改变单据审批状态,有待审批、审批中、已审批(通过/不通过) 。工作流程 :以单一单据实例作为处理对象的流程,人工活动的内容不限于审批,可包含大量自动活动。单据实例数据在流程中会被改变,涉及改变的单据状态也会比较
15、复杂。业务流程 :业务流程的最大特点是流程实例中上下游单据是不同的对象,id 不同,单据类型可能相同也可能不同。业务流程引擎要处理上下游单据对象之间的数据映射、转换、合并或分单。工作流程中会含审批流程;业务流程中会含工作流程。UAP 的流程平台具有以下特性:(1)标准的过程模型,遵循 WFMC 标准,为多系统的集成奠定了基础;(2)预置通用的处理模式,积累 UAP 多年应用经验,能满足绝大部分应用;(3)提供丰富的扩展,便于业务的接入和实施;(4)针对 UAP,做了很多增强,使用 UAP 平台开发的产品可以很方便地实现工作流。 2.1.3 流程平台与业务产品的关系流程平台是业务产品的基础平台,
16、作为基础构件之一包含在UAP的底层应用架构中。流程平台负责定义业务处理过程和规则并驱动业务过程的执行,产品组负责提供基础功能组件并按照平台约束的接口规范来与之交互。从模型角度,流程平台负责管理过程模型,产品组件负责功能模型。过程模型和功能模型都以组织模型为基础,并受权限模型约束。2.2 交易交易一般指一个完整的业务交易场景,也对应为一个有明显过程边界的功能,例如销售接单、发货、报销、委托付款。业务单据是描述企业业务信息的载体,是对业务数据的抽象。通过业务单据,可以清楚地反映企业的业务发生情况。企业中如请购单、采购订单、报销单、付款单等均为业务单据。在 UAP 系统中,一张业务单据的实现包括许多内容,比如单据类型、单据 VO、单据UI、单据动作等。我们把这些用于描述某单据的信息统称为单据元模型。其组成如图 4 所示。