论文部分内容阅读
摘 要:介绍了工作流概况和参考模型,根据参考模型中提出的5 个应用接口,结合Lotus Domino 技术和宝信软件在管理软件上多年以来的积累,实现了一个支持系统可重构、软件可重用、规模可扩展的基于文档型数据库的BDWF工作流引擎系统,并给出了相关设计与实现。
关键词:Lotus Domino;工作流;文档型数据库
中图分类号:F062.4 文献标识码:A 文章编号:1008-4428(2012)10-100 -03
一、引言
工作流的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。工作流技术一出现马上就得到广泛的重视和研究。至今工作流管理技术已成功地运用到图医院、保险公司、银行等行业,然而它更重要的应用还是在工业领域,特别是制造业领域。
在为企业服务的过程中,工作流技术经历了几次重要变革:从产生到形成阶段,由分散编程转向复杂的软件系统集成,由初期面向特定领域的独立应用系统逐渐形成能够实现任务协作的统一应用系统;从形成到发展阶段,由数据驱动技术转为过程驱动技术,特别是在工作流管理联盟提出参考模型后,工作流系统逐渐形成了面向过程的、过程定义与执行相分离的模式。目前,工作流技术正在经历从刚性向柔性的变革,这种变革源自企业在发展过程中不断出现的许多新需求,只有支持柔性的工作流系统,才能满足现代企业动态、灵活的各种需求。
二、工作流的定义
不同的研究者和产品提供商从不同的角度给出了以下几种工作流定义:
1、世界领先的实时企业应用软件供应商PeopleSoft 公司把工作流定义为:工作流是一个用来实施经营过程实践的机制。
2、IBM的Almaden 研究中心定义为:工作流是经营过程的一种计算机化的表示模型,它定义了完成整个过程所需的各种参数。这些参数包括对过程中的每一步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。
3、Am it Sheth 的定义:工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体来完成。一项任务定义了需要做的某些工作,它可用各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(比如一个应用程序、一个数据库管理系统)。
4、工作流管理联盟(Workflow Management Coalition,以下简称WFMC)工作流的定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。以上这些对工作流的非形式化描述从不同的侧面说明了这样一个问题:工作流是业务过程的一个计算机实现。工作流技术的研究对象就是实际的业务流程,研究内容可以概括为业务流程的内容是什么(由哪些活动、任务组成,也就是结构上的定义)、由谁来完成(人或者计算机程序,也就是组织角色的定义)、如何完成(活动件的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)以及完成得如何(执行对过程进行监控)等问题。
三、工作流参考模型
为了建立不同工作流产品的软件术语、互用性和连通性的标准,实现不同工作流产品间的互操作,WFMC于1995年提出了工作流参考模型(见图表1)。该模型标识了构成工作流管理系统的6个基本部件和这些基本部件交互使用的5种接口。
(1) 工作流执行服务
工作流执行服务:由一个或多个工作流引擎组成,为工作流实例提供运行时期的执行环境的软件服务器。
(2) 流程定义工具
流程定义工具:用图形化的方式定义工作流、构造工作流模型,通过接口一与引擎通信。
(3)工作流的客户端应用
工作流的客户端应用:由用户结合业务需求而开发,用它来驱动工作流。客户端程序通过接口二与引擎交互。一般的工作流引擎用户不需要懂引擎的实现,只要知道怎么实现客户端程序就可以了。
(4)工作流直接调用的应用
工作流直接调用的应用:在工作流运作的过程中,可能需要调用工作流引擎之外的功能,这时可通过定义好的接口3来完成。
(5)其它工作流执行服务
其它工作流执行服务:接口4用于工作流引擎与其他工作流引擎的协作。
(6)工作流管理监控工具
工作流管理监控工具:接口5用于管理和监视工作流引擎。
四、Lotus Domino技术
Lotus Domino是集电子邮件、文档数据库、快速应用开发、工作流自动技术以及Web技术为一体的电子邮件与协作平台,由美国IBM公司开发。作为业界领先的协作平台,其在工作流技术也较为成熟,它集成了IT领域的多种先进技术,为实现工作流提供了全面的支持,如网络路由、安全性、目录服务、支持多种邮件协议、数据同步技术等,故许多工作流系统都采用了Lotus Domino/ Notes 作为平台。
五、BDWF工作流架构
2007年参考WFMC工作流模型,参与上海宝信软件公司研发的一套基于Lotus Domino 技术的工作流管理系统。
(一)BDWF工作流总体架构。
BDWF引擎总体可以划分为工作流图形化设计器、工作流核心解析程序(工作流引擎)、流程图形化监控跟踪工具、工作流应用库4大部分以及流程日志库、流程过程设计库和流程权限库,基本符合WFMC参考模型。(见图表2) (二)工作流图形化设计器
BDWF采用工作流图形化设计器,进行流程的定义工作。在流程的定义过程中每个流程可以抽象为一个个 “过程”,这些“过程”由数个“活动”组成,连接各“活动”的是“活动”间的路由关系。工作流图形化设计器使用Lotus Domino Workflow 组件实现。流程定义的过程、活动和路由信息将存储到“设计存储库”、“过程定义库”中,提供工作流引擎解析、分配和路由等利用
(三)工作流核心解析程序(工作流引擎)
工作流引擎(Workflow Engine) 为工作流实例提供执行环境. 它的设计直接关系到工作流的执行效率与可扩展性. 因此,工作流引擎的设计十分重要。(见图表3)
BDWF工作流引擎支持企业级管理应用,主要由解释器、分配器、路由控制器、管理监控器、企业管理器等几部分组成,它的数据存储使用Lotus Domino 文档型数据库。主要功能如下:
1、企业管理器:负责定义企业模型(包括资源管理、角色管理、人员管理、组织管理) ,在工作流引擎中可以调用企业组织模型数据,对工作流执行者进行验证,并执行相应的管理工作。
2、解释器:解释器通过工作流模型ID(一个工作流过程定义的唯一标识) 在工作流设计存储库、过程定义库中查找相应的过程定义,并解析出其中的“活动”与“版本”信息存。
3、分配器:一条工作流启动后,会生成一个新的工作流实例存入工作流实例库. 分配器通过工作流实例ID 与工作流过程定义ID,将由解析器解析出的过程定义信息绑定到工作流实例。
4、路由选择器:路由选择器的功能是选择后继活动。根据过程定义的情况,计算出后续的活动,并且计算出相应的活动权限。
基于以上设计,BDWF工作流引擎的具体解释过程如下(见图表4)
5、管理监控器:管理监控器管理和监控所有的工作流实例,并可修改所有工作流实例以及工作列表的各种状态(包括停止、删除、重路由、重新启动等) ,该功能只能由管理员使用. 由于有些工作流有执行时间限制,为了加速这些工作流的执行,避免该工作流执行失败,管理员可以用管理监控器提高这些工作流实例的优先级以达到优先处理该工作流的目的。
(四)流程图形化监控跟踪工具
BDWF实现了B/S结构的下的工作流图形监控。通过Lotus Domino Agent 获取流程实例信息、流程过程信息,并采用VML 网页图形技术以流程图的方式展现流程的全貌,并可区分显示流程已完成活动,当前活动等信息,并且流程监控可支持多级的流程嵌套跟踪和跨服务器跟踪。
(五)BDWF支持的工作流支持模式
BDWF支持最常规的串行流程、根据流程定义的条件自动判断流程走向的条件流转、多个部门共同参与的并发会签,并同时支持会签的嵌套功能,即一个主流程,嵌套多个子流程。以使能满足企业级应用的绝大部分工作流程的需求。
六、结束语
Lotus Nomino/Notes 是专门为处理工作流、协同工作、网络应用进行设计的平台。本文以Lotus Nomino/Notes 为基础,引入工作流设计理念,设计并实现了BDWF工作流引擎。通过BDWF工作流引擎,实现了复杂业务流程的图形化定义,包括一般的串行业务流程、并行业务流程、子流程、按条件的流程等,同时在图形化设计中集成了该业务环节需要用什么表单以及集成了权限等。大大缩短了业务流程的开发时间,适应了业务的快速变化。并在宝钢科技管理系统中进行应用,使系统具备了能快速适应还处于不断的变革期的技术创新体系的频繁的管理业务流程变化,极大地提高了流程开发的速度,增强了流程的稳定性,取得了积极的成效。
参考文献:
[1]Layna FIscher.WfMC-TC-1002,Workflow Management Coalition Document Index[S].UK:Future Strategies Inc,1999.
[2]Layna Fischer. WfMC-TC-1009,Workflow Management Coalition Programming Interface( Interface 2&3) Specification [S] . UK:Future Strategies Inc ,1998.
[3]Layna Fischer.WfMC-TC-1015,Workflow Management Coalition Audit Data Specification[S].UK:Future Strategies Inc,1998.
[4]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.
[5]邓伟冲. 工作流管理系统的设计及三个关键问题的研究[D]. 吉林大学,2004.
作者简介:
石峰,上海梅山钢铁股份有限公司。
关键词:Lotus Domino;工作流;文档型数据库
中图分类号:F062.4 文献标识码:A 文章编号:1008-4428(2012)10-100 -03
一、引言
工作流的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。工作流技术一出现马上就得到广泛的重视和研究。至今工作流管理技术已成功地运用到图医院、保险公司、银行等行业,然而它更重要的应用还是在工业领域,特别是制造业领域。
在为企业服务的过程中,工作流技术经历了几次重要变革:从产生到形成阶段,由分散编程转向复杂的软件系统集成,由初期面向特定领域的独立应用系统逐渐形成能够实现任务协作的统一应用系统;从形成到发展阶段,由数据驱动技术转为过程驱动技术,特别是在工作流管理联盟提出参考模型后,工作流系统逐渐形成了面向过程的、过程定义与执行相分离的模式。目前,工作流技术正在经历从刚性向柔性的变革,这种变革源自企业在发展过程中不断出现的许多新需求,只有支持柔性的工作流系统,才能满足现代企业动态、灵活的各种需求。
二、工作流的定义
不同的研究者和产品提供商从不同的角度给出了以下几种工作流定义:
1、世界领先的实时企业应用软件供应商PeopleSoft 公司把工作流定义为:工作流是一个用来实施经营过程实践的机制。
2、IBM的Almaden 研究中心定义为:工作流是经营过程的一种计算机化的表示模型,它定义了完成整个过程所需的各种参数。这些参数包括对过程中的每一步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。
3、Am it Sheth 的定义:工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体来完成。一项任务定义了需要做的某些工作,它可用各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(比如一个应用程序、一个数据库管理系统)。
4、工作流管理联盟(Workflow Management Coalition,以下简称WFMC)工作流的定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。以上这些对工作流的非形式化描述从不同的侧面说明了这样一个问题:工作流是业务过程的一个计算机实现。工作流技术的研究对象就是实际的业务流程,研究内容可以概括为业务流程的内容是什么(由哪些活动、任务组成,也就是结构上的定义)、由谁来完成(人或者计算机程序,也就是组织角色的定义)、如何完成(活动件的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)以及完成得如何(执行对过程进行监控)等问题。
三、工作流参考模型
为了建立不同工作流产品的软件术语、互用性和连通性的标准,实现不同工作流产品间的互操作,WFMC于1995年提出了工作流参考模型(见图表1)。该模型标识了构成工作流管理系统的6个基本部件和这些基本部件交互使用的5种接口。
(1) 工作流执行服务
工作流执行服务:由一个或多个工作流引擎组成,为工作流实例提供运行时期的执行环境的软件服务器。
(2) 流程定义工具
流程定义工具:用图形化的方式定义工作流、构造工作流模型,通过接口一与引擎通信。
(3)工作流的客户端应用
工作流的客户端应用:由用户结合业务需求而开发,用它来驱动工作流。客户端程序通过接口二与引擎交互。一般的工作流引擎用户不需要懂引擎的实现,只要知道怎么实现客户端程序就可以了。
(4)工作流直接调用的应用
工作流直接调用的应用:在工作流运作的过程中,可能需要调用工作流引擎之外的功能,这时可通过定义好的接口3来完成。
(5)其它工作流执行服务
其它工作流执行服务:接口4用于工作流引擎与其他工作流引擎的协作。
(6)工作流管理监控工具
工作流管理监控工具:接口5用于管理和监视工作流引擎。
四、Lotus Domino技术
Lotus Domino是集电子邮件、文档数据库、快速应用开发、工作流自动技术以及Web技术为一体的电子邮件与协作平台,由美国IBM公司开发。作为业界领先的协作平台,其在工作流技术也较为成熟,它集成了IT领域的多种先进技术,为实现工作流提供了全面的支持,如网络路由、安全性、目录服务、支持多种邮件协议、数据同步技术等,故许多工作流系统都采用了Lotus Domino/ Notes 作为平台。
五、BDWF工作流架构
2007年参考WFMC工作流模型,参与上海宝信软件公司研发的一套基于Lotus Domino 技术的工作流管理系统。
(一)BDWF工作流总体架构。
BDWF引擎总体可以划分为工作流图形化设计器、工作流核心解析程序(工作流引擎)、流程图形化监控跟踪工具、工作流应用库4大部分以及流程日志库、流程过程设计库和流程权限库,基本符合WFMC参考模型。(见图表2) (二)工作流图形化设计器
BDWF采用工作流图形化设计器,进行流程的定义工作。在流程的定义过程中每个流程可以抽象为一个个 “过程”,这些“过程”由数个“活动”组成,连接各“活动”的是“活动”间的路由关系。工作流图形化设计器使用Lotus Domino Workflow 组件实现。流程定义的过程、活动和路由信息将存储到“设计存储库”、“过程定义库”中,提供工作流引擎解析、分配和路由等利用
(三)工作流核心解析程序(工作流引擎)
工作流引擎(Workflow Engine) 为工作流实例提供执行环境. 它的设计直接关系到工作流的执行效率与可扩展性. 因此,工作流引擎的设计十分重要。(见图表3)
BDWF工作流引擎支持企业级管理应用,主要由解释器、分配器、路由控制器、管理监控器、企业管理器等几部分组成,它的数据存储使用Lotus Domino 文档型数据库。主要功能如下:
1、企业管理器:负责定义企业模型(包括资源管理、角色管理、人员管理、组织管理) ,在工作流引擎中可以调用企业组织模型数据,对工作流执行者进行验证,并执行相应的管理工作。
2、解释器:解释器通过工作流模型ID(一个工作流过程定义的唯一标识) 在工作流设计存储库、过程定义库中查找相应的过程定义,并解析出其中的“活动”与“版本”信息存。
3、分配器:一条工作流启动后,会生成一个新的工作流实例存入工作流实例库. 分配器通过工作流实例ID 与工作流过程定义ID,将由解析器解析出的过程定义信息绑定到工作流实例。
4、路由选择器:路由选择器的功能是选择后继活动。根据过程定义的情况,计算出后续的活动,并且计算出相应的活动权限。
基于以上设计,BDWF工作流引擎的具体解释过程如下(见图表4)
5、管理监控器:管理监控器管理和监控所有的工作流实例,并可修改所有工作流实例以及工作列表的各种状态(包括停止、删除、重路由、重新启动等) ,该功能只能由管理员使用. 由于有些工作流有执行时间限制,为了加速这些工作流的执行,避免该工作流执行失败,管理员可以用管理监控器提高这些工作流实例的优先级以达到优先处理该工作流的目的。
(四)流程图形化监控跟踪工具
BDWF实现了B/S结构的下的工作流图形监控。通过Lotus Domino Agent 获取流程实例信息、流程过程信息,并采用VML 网页图形技术以流程图的方式展现流程的全貌,并可区分显示流程已完成活动,当前活动等信息,并且流程监控可支持多级的流程嵌套跟踪和跨服务器跟踪。
(五)BDWF支持的工作流支持模式
BDWF支持最常规的串行流程、根据流程定义的条件自动判断流程走向的条件流转、多个部门共同参与的并发会签,并同时支持会签的嵌套功能,即一个主流程,嵌套多个子流程。以使能满足企业级应用的绝大部分工作流程的需求。
六、结束语
Lotus Nomino/Notes 是专门为处理工作流、协同工作、网络应用进行设计的平台。本文以Lotus Nomino/Notes 为基础,引入工作流设计理念,设计并实现了BDWF工作流引擎。通过BDWF工作流引擎,实现了复杂业务流程的图形化定义,包括一般的串行业务流程、并行业务流程、子流程、按条件的流程等,同时在图形化设计中集成了该业务环节需要用什么表单以及集成了权限等。大大缩短了业务流程的开发时间,适应了业务的快速变化。并在宝钢科技管理系统中进行应用,使系统具备了能快速适应还处于不断的变革期的技术创新体系的频繁的管理业务流程变化,极大地提高了流程开发的速度,增强了流程的稳定性,取得了积极的成效。
参考文献:
[1]Layna FIscher.WfMC-TC-1002,Workflow Management Coalition Document Index[S].UK:Future Strategies Inc,1999.
[2]Layna Fischer. WfMC-TC-1009,Workflow Management Coalition Programming Interface( Interface 2&3) Specification [S] . UK:Future Strategies Inc ,1998.
[3]Layna Fischer.WfMC-TC-1015,Workflow Management Coalition Audit Data Specification[S].UK:Future Strategies Inc,1998.
[4]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.
[5]邓伟冲. 工作流管理系统的设计及三个关键问题的研究[D]. 吉林大学,2004.
作者简介:
石峰,上海梅山钢铁股份有限公司。