PRIMETON TECHNOLOGIES, LTD.
普元软件有限公司
普元 EOS
工作流开发指南
No part of this document may be reproduced, stored in any electronic retrieval system,
or transmitted in any form or by any means, mechanical, photocopying, recording,
otherwise, without the written permission of the copyright owner.
Copyright (c) 2005 Primeton Technologies,Ltd. All rights reserved
普元 EOS 工作流开发指南
欢迎使用
本指南描述了普元 EOS5.0 选件中工作流的功能内容及工作机制,工作流构件提供的各种接
口的内容及使用要求以及示例。通过对本指南的阅读,可以使用户了解和掌握普元 EOS 工
作流的应用开发。
本出版物包含 Primeton 的专利信息,它在许可协议下提供,并受版权法保护,本出版物包
含的信息不包括任何产品保证。
通过您当地的 Primeton 代表或分部可订购出版物,或致电 021-50805188 订购出版物
当您发送信息给 Primeton 后,即授予 Primeton 非专有权,Primeton 对于您所提供的任何
信息,有权利以任何它认为适当的方式使用或散发,而不必对您负任何责任
Copyright (c) 2005 Primeton Technologies,Ltd. All rights reserved
本书的相关文档
您可能会发现下列资料对您有用:
《普元 EOS 基础开发指南》
《普元 EOS 工作流开发体验》
《普元 EOS 构件库参考手册》
《普元 EOS 应用框架使用手册》
《普元 EOS 术语表》
格式使用约定
内容使用约定
本书对文本格式的使用有如下约定:
粗体: 表示突出显示,或可视化操作中的文字
【***】 可视化操作中的选项
[***]: XML 文件内容
本书对文本内容的使用有如下约定:
普元 EOS 或 Primeton EOS: 简称 EOS
http://www.primeton.com/
第 2 页共 161 页
普元 EOS 工作流开发指南
目 录
2
3
2.4
2.3
1.1
2.2.1
2.2.2
1 工作流概述...............................................................................................................................6
工作流基本概念.......................................................................................................6
1.1.1 起源...................................................................................................................6
1.1.2 概念...................................................................................................................6
1.1.3 应用范围...........................................................................................................9
1.1.4 使用工作流的优势.........................................................................................10
1.2
普元 EOS 工作流概述 ..........................................................................................10
EOS 工作流总体介绍 ............................................................................................................11
2.1
EOS 工作流基本知识 ............................................................................................11
EOS 工作流环境介绍 ............................................................................................14
2.2
EOS 工作流总体结构 ....................................................................................14
EOS 工作流工作环境 ....................................................................................17
EOS 工作流开发基本过程 ....................................................................................19
2.3.1 组织机构和角色定义.....................................................................................19
2.3.2 创建 EOS 业务流程项目 ...............................................................................20
2.3.3 定义业务流程.................................................................................................20
2.3.4 开发其他资源.................................................................................................21
2.3.5 提交业务流程.................................................................................................21
2.3.6 启动业务流程.................................................................................................22
EOS 工作流开发环境配置 ....................................................................................22
2.4.1 配置数据库连接.............................................................................................23
2.4.2 配置 EOS Server.............................................................................................25
EOS 工作流操作指南 ............................................................................................................27
3.1
EOS 工作流定义 ....................................................................................................27
3.1.1 组织机构和角色.............................................................................................27
3.1.2 创建 EOS 业务流程项目 ...............................................................................29
3.1.3 业务流程管理.................................................................................................32
3.1.4 业务流程图形定义.........................................................................................42
3.1.5 提取业务流程.................................................................................................74
3.1.6 提交业务流程.................................................................................................76
3.1.7 删除业务流程.................................................................................................79
EOS 工作流迁移 ...........................................................................................80
3.1.8
EOS 工作流客户端 ................................................................................................80
3.2.1 启动流程.........................................................................................................81
3.2.2 我的任务.........................................................................................................82
3.2.3 我的流程.........................................................................................................87
EOS 工作流管理与监控 ........................................................................................89
3.3.1 业务流程调整.................................................................................................91
3.3.2 流程实例管理.................................................................................................94
3.3.3 高级查询.........................................................................................................98
3.3.4 审计监控.......................................................................................................100
EOS 工作流构件库 ..............................................................................................101
3.2
3.3
3.4
http://www.primeton.com/
第 3 页共 161 页
普元 EOS 工作流开发指南
3.5
5.4
5.5
5.6
4.3
4.4
4.5
4.6
EOS 工作流基本算法实现 ..................................................................................103
3.5.1 聚合模式(JoinMode)和分支模式(SplitMode) ................................103
3.5.2 回退(Rollback) ........................................................................................107
3.5.3 参与者设置................................................................................................... 111
3.5.4 WFContext 数据区 .......................................................................................116
EOS 工作流应用开发——Bug 跟踪系统...........................................................................118
4.1
案例说明...............................................................................................................118
开发环境配置.......................................................................................................120
4.2
4.2.1 配置数据库连接...........................................................................................120
4.2.2 配置 EOS Server...........................................................................................120
组织机构和角色定义...........................................................................................121
数据准备...............................................................................................................122
创建 EOS 业务流程项目 .....................................................................................122
定义 BUG 跟踪流程 ............................................................................................125
4.6.1 填写问题报告单...........................................................................................125
4.6.2 问题分派.......................................................................................................126
4.6.3 经理审批.......................................................................................................127
4.6.4
Bug 处理子流程 ...........................................................................................127
4.6.5 填单者确认...................................................................................................129
4.6.6 保存记录.......................................................................................................129
4.6.7 告知填单者处理方案...................................................................................131
4.6.8 结束活动.......................................................................................................132
定义 BUG 处理子流程流程 ................................................................................132
4.7.1 开始活动.......................................................................................................132
4.7.2 修改 Bug .......................................................................................................133
4.7.3 验证...............................................................................................................134
4.7.4 结束...............................................................................................................136
提交业务流程.......................................................................................................136
4.8
4.9
启动业务流程.......................................................................................................136
EOS 工作流开发综合案例——车辆申请 ..........................................................................138
业务背景...............................................................................................................138
5.1
需求说明...............................................................................................................138
5.2
5.3
组织机构及角色设计...........................................................................................139
5.3.1 组织结构.......................................................................................................139
5.3.2 角色...............................................................................................................140
数据库设计...........................................................................................................141
应用的部署...........................................................................................................142
5.5.1 环境要求.......................................................................................................142
5.5.2 部署步骤.......................................................................................................142
逻辑实现...............................................................................................................144
5.6.1 使用默认客户端实现车辆申请流程(wfCarApply) ...............................144
5.6.2 调用自定义应用实现车辆申请流程(wfCarApplyUrl)..........................149
EOS 工作流开发方式 ..........................................................................................................154
EOS 工作流应用概述 ..........................................................................................154
6.1
4.7
4
5
6
http://www.primeton.com/
第 4 页共 161 页
普元 EOS 工作流开发指南
6.2
EOS 工作流开发方式介绍 ..................................................................................154
6.2.1 需求收集阶段...............................................................................................154
6.2.2 系统设计阶段(原型阶段).......................................................................154
6.2.3 编码阶段(流程开发阶段).......................................................................156
6.2.4 集成与测试...................................................................................................156
6.2.5 管理维护.......................................................................................................157
7 附录.......................................................................................................................................158
普元 EOS 工作流优势 .........................................................................................158
普元 EOS 工作流特性 .........................................................................................158
7.1
7.2
http://www.primeton.com/
第 5 页共 161 页
普元 EOS 工作流开发指南
1 工作流概述
1.1 工作流基本概念
1.1.1 起源
工作流的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作分解成定义
良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工
作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。实际上,自从进
入工业化时代以来,有关过程的组织管理与流程的优化工作就一直在进行,这是企业管理的
主要研究内容之一,只是在没有引入计算机信息系统的支持之前,这些工作都是由人工来完
成的。在计算机网络技术和分布式数据库技术迅速发展,多机协同工作技术日益成熟的基础
上,于 20 世纪 80 年代中期发展起来的工作流技术为企业更好地实现这些经营目标提供了先
进的手段。工作流技术一出现马上就得到广泛的重视和研究。至今工作流管理技术已成功地
运用到图书馆、医院、保险公司、银行等行业,然而它更重要的应用还是在工业领域,特别
是制造业领域。
在企业应用实际中,虽然工作流的概念相对于物料流、资金流、信息流等概念要抽象一
些,但是工作流从更高的层次上提供了实现物料流、资金流、信息流及其涉及的相关过程与
应用的集成机制,从而使得企业能够实现业务过程集成、业务过程自动化(不是物流自动化
和信息处理自动化)与业务过程的管理。在工作流概念下实现业务过程集成与业务过程自动
化的集成机制是通过定义不同任务之间相互关系的工作流模型(也称为过程模型)来实现的。
在工作流模型中,无论是具体的物料转移动作、实际物理装置的操作动作、还是抽象的信息
处理动作与决策过程,都可以用工作流的基本组成元素——活动来统一地进行描述。同样,
反映不同活动之间的关系,无论是具体的车间中零件加工顺序关系、办公自动化中的文件批
转、还是抽象的决策流之间的关系都可以用工作流的基本组成元素——连接弧来统一的进行
描述。连接弧反映了对企业业务经营过程的一种控制逻辑,它定义了活动之间的连接关系和
执行顺序。
目前,在全球范围内,对工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,
更多更新的技术被集成进来,文件管理系统、数据库、电子邮件、Internet 服务等都已被容
纳到工作流管理系统之中。工作流产品的市场每年以两位数字的速度迅猛增长。市场上工作
流产品发展迅速,据统计,1997 年工作流产品的增长率超过 35%。作为支持企业经营过程
重组(Business process reengineering, BPR)、经营过程自动化(Business process automation,
BPA)的一种手段,工作流技术的研究应用日益受到学术界与企业界的重视。
1.1.2 概念
1.1.2.1 工作流的定义
根据国际工作流管理联盟(Workflow Management Coalition,WfMC) 的定义,工作流
(Workflow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照
http://www.primeton.com/
第 6 页共 161 页
普元 EOS 工作流开发指南
规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进
行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。
我们从工作流定义中可以看出,工作流是经营过程的一个计算机实现,而工作流管理系统则
是这一实现的软件环境。使用工作流来作为经营过程的实现技术首先要求工作流系统能够反
映经营过程的如下几个方面的问题,即经营过程是什么(由哪些活动、任务组成,也就是结
构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息
流的定义)、由谁来做(人或计算机应用程序,也就是组织角色的定义)、做得怎样(通过工
作流管理系统对执行过程进行监控)。图 1-1-1 给出了一个称为工作流伞的示意图,反映了
工作流覆盖的经营过程的范围与对应的工作流研究领域。
工作流
经营过程
经营过程定义
经营过程重组
工作流定义
工作流实施
工作流自动化
工作流管理
经营过程自动化
工作流管理系统
图 1-1-1 工作流伞
在企业应用中,工作流经常与经营过程重组相联系,完成对一个组织(或机构)中核心
经营过程(或者成为关键经营过程)的建模、评价分析和操作的实施。虽然并非所有的 BPR
都需要采用工作流的方式进行实施,但是,工作流技术通常是实施 BPR 的一个较好的方法,
因为工作流提供了经营过程逻辑与它的信息支撑系统的分离,并实现了应用逻辑和过程逻辑
分离,这种方式在进行企业实际应用时具有显著的优点。它可以在不修改具体功能模块实现
方式(硬件环境、操作系统、数据库系统、编程语言、应用开发工具、用户界面)的情况下,
通过修改(重新定义)过程模型来改进系统性能,实现对生产经营过程部分或全部地集成管
理,有效地把人、信息和应用工具合理地组织在一起,提高软件的重用率,发挥系统的最大
效能。
1.1.2.2 工作流管理系统
根据 WfMC 的定义,工作流管理系统(Workflow Management System, WFMS)是一个
软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工
作流实例的执行。
通常,工作流管理系统是指运行在一个或多个工作流引擎上用于定义、实现和管理工作
流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并
监控工作流的运行状态。
虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,但它们具有很多共
同的特性。概括地说,工作流管理系统提供了 3 种功能(如图 1-1-2):
1) 建立阶段的功能:主要考虑工作流过程和相关活动的定义和建模功能。
2) 运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个过程中
活动的排序和调度功能。
http://www.primeton.com/
第 7 页共 161 页
普元 EOS 工作流开发指南
3) 运行阶段的人机交互功能:实现各种活动执行过程中用户与 IT 应用工具之间的交
互。
图 1-1-2 工作流管理系统的特性
1.1.2.3 体系结构
图 1-1-3 为 WFMC 提出的工作流参考模型的体系结构图。这个参考模型的体系结构给
出了抽象的工作流管理系统的功能组成部件和接口,它能够满足工作流管理系统和产品应该
具有的主要功能,可为实现工作流产品之间的互操作提供公共的基础。必须指出,组成工作
流管理系统的每个功能部件可以在不同的软硬件平台上采用不同的方法实现,同样接口也可
以在不同的软硬件平台上采用不同的设计技术和编程语言进行编程。一般说来,工作实现不
同工作流产品之间的集成,它们会按照互操作和协作的不同要求在一定层次上开放其接口。
图 1-1-3 工作流管理系统的体系结构图
从图 1-1-3 可以看出,工作流管理系统主要由三类构件组成:
1) 软件构件:完成工作流管理系统不同组成部分功能的实现;
2) 系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据;
http://www.primeton.com/
第 8 页共 161 页