APP下载

工作流管理系统及其管理接口技术研究

2010-06-14徐小刚

无线电工程 2010年6期
关键词:表单命令实例

徐小刚

(中国电子科技集团公司第五十四研究所,河北石家庄050081)

0 引言

工作流技术起源于20世纪70年代中期办公自动化领域。1983~1985年间,在图像处理和电子邮件领域出现了早期的含有工作流特征的商用系统。90年代以后,随着个人计算机、网络技术的普及和推广,工作流技术的研究与开发进入了一个新的阶段。1993年8月,第一个工作流技术标准化的工业组织——工作流管理联盟(WFMC)成立。1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型并相继制定了一系列工业标准[1,2]。进入21世纪以来,工作流技术己被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。

随着网络技术的日益发展,分布式技术在软件系统中的应用越来越广泛,XML近年来成为了计算机分布式技术研究的热点。现有的各种工作流系统的管理应用接口多是通过一种紧耦合的方式实现,开放性、灵活性和可操作性都较差,通过对工作流管理接口结构与功能的分析,结合XML在分布式应用上的优势,提出了一种基于XML的接口实现技术,使得工作流管理接口具备了较高的开放性、灵活性和可操作性。

1 工作流管理系统

首先引用工作流管理联盟对工作流的定义:工作流就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。

为了实现对业务过程的工作流进行管理,需要有相应的软件系统支撑。将此种软件系统称之为工作流管理系统(WFMS)。工作流管理系统是一种在工作流形式化表示的驱动下,通过软件的执行而完成工作流定义、管理及执行的系统,其主要目标是对业务过程中各步骤(或称活动、环节)发生的先后次序及同各步骤相关的相应人力或信息资源的调用等进行管理而实现业务过程的自动化。

工作流管理系统的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程工作之间以及群体成员之间的信息交互。工作流管理系统将业务流程中工作如何组织协调在一起的规则抽象出来,从而分离了具体工作的逻辑和流程组织的逻辑。实现对业务过程的抽象建模、业务过程仿真分析、业务过程优化、业务过程管理与集成,从而最终实现业务过程的流程自动化管理。工作流管理技术可以带来以下收益:改进和优化业务流程,提高业务工作效率;实现高效地业务过程控制,提高业务服务质量;提高业务流程的重组、再构能力,利于系统改造。

一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成8个部分组成。

①工作流引擎为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法来实现对于环节的流转;

②工作流设计器为可视化的流程设计工具,用户通过拖放等方式来绘制流程,并通过对于环节的配置来实现环节操作、环节表单、环节参与者的配置。工作流设计器为用户以及开发商提供了快速绘制、修改流程的方式,工作流设计器的好坏决定到工作流管理系统的易用性;

③流程操作指所支持的对于流程环节的操作,如启动流程、终止流程、挂起流程、直流、分流、并流和联审等,像这些流程操作都是可直接基于引擎所提供的环节调度算法来直接支持的,而在实际的需求中,通常需要自由地对于流程进行干涉,而这些流程操作对于工作流引擎来说是不合理的,因此必须单独去实现。流程操作支持的好坏直接决定到一个工作流管理系统的实用性;

④工作流客户端程序为工作流系统的表现形式,通常使用Web方式进行展现,通过提供待办列表、已办列表、执行流程操作和查看流程历史信息等来展现工作流系统的功能;

⑤流程监控通过提供图形化的方式来对流程执行过程进行监控,包括流程运转状况、每个环节所耗费的时间等,而通过这些可相应地进行流程的优化,以提高工作效率;

⑥表单设计器为可视化的表单设计工具,用户通过拖放的方式来绘制业务所需的表单,并可相应地进行表单数据的绑定。表单设计器为客户以及开发商提供了快速修改表单的方法,表单设计器的易用与否以及功能的完善与否影响到工作流管理系统的易用性;

⑦与表单的集成:通常业务流转需要表单来表达实际的业务,因此需要与表单进行集成来实现业务意义,与表单的集成通常包括表单数据的自动获取、存储和修改,表单域的权限控制、流程相关数据的维护以及流程环节表单的绑定。与表单的集成的好坏影响到工作流管理系统是否能提高开发效率;

⑧与应用程序的集成:通过与应用程序的集成来完善工作流管理系统的业务意义,主要涉及到的是与权限系统以及组织机构的集成。流程环节需要相应地绑定不同的执行角色,而流程操作通常需要与权限系统、组织机构进行关联。

2 管理接口的功能

为了实现工作流技术的标准化和开放性,从而支持异构工作流系统以及不同工作流产品之间的互操作,WFMC制定了工作流系统的体系结构在WFMC提出的工作流参考模型中,定义了5类应用编程接口如图1所示。

图1 工作流模型

WFMC主要提出了5个接口与工作流执行服务一起共同组成了工作流系统:

①接口1(工作流定义交换):用于在建模和定义工具与执行服务之间交换工作流定义。主要是数据交换格式和API。数据交换通过XPDL,API通过WAPI;

②接口2(工作流客户端应用接口):用于工作流客户端应用访问工作流引擎和工作列表,通过WAPI完成;

③接口3(被调用的应用接口):用于调用不同的应用系统;

④接口4(工作流系统互操作接口):用于不同工作流系统之间的互操作;

⑤接口5(系统管理和监控):用于系统管理应用访问工作流执行服务。

接口5提供给用户管理和监控系统的运行状态、查看系统运行的历史记录的功能。此接口的规范中定义了各种审计信息的数据格式流程实例信息:包括创建、启动流程实例和子流程实例的数据;流程实例状态变化的数据;流程实例属性变化的数据;活动实例信息:包括活动实例状态变化的数据;活动实例属性变化的数据;工作项信息:包括工作项状态变化的数据;工作项分配合重新分配的数据;工作项属性变化的数据;远程操作信息:包括开始和停止会话的数据;远程创建流程实例和远程改变流程实例状态的数据;远程获取和设置流程实例属性的数据;会话管理的数据;流程定义审计信息;扩展的审计信息及专用的审计信息。

这些数据在系统运行时刻由系统自动记录在数据库或文件中,可通过系统提供的API进行统计和查询,或者通过系统工具导出到系统外部。工作流系统管理工具通过管理接口实现对工作流在整个组织内的流动情况的监视,并提供一系列的管理功能[3]。该接口包括了以下几个方面的内容:

①角色和用户管理:定义、删除和修改角色的关系,修改角色属性,对用户或工作组的权限的建立、删除、暂停和修改;

②过程实例的管理:对过程模型进行实例化,修改过程实例或者活动实例的状态,终止过程实例;

③状态管理:查询过程实例的运行状态;

④资源控制:设置、取消、修改过程或者活动实例的并发层次;

⑤审核管理:查询、打印、删除、启动新的统计过程轨迹或日志。

3 管理接口的实现技术

3.1 XML技术

XML即可扩展标记语言,与HTML一样都是标准通用标记语言。XML是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单,易于掌握和使用。

XML以一种开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。按照XML组织的数据对于应用程序和用户都是友好的、可操作的,可作为系统间接口数据交换的“中间格式”使用。接口文件内容采用可扩展的标记语言XML描述,系统可以自动识别用户XML格式的数据,同时内部数据表示也采用XML格式。XML解释器实现各种XML文档与系统内部信息的相互翻译,增强系统灵活性和拓展性。XML可用于不同类型、系统间的交换格式的传送,从而简化了从一个应用程序到另一个应用程序之间传递信息的工作。XML的特性给应用软件赋予了强大的功能和灵活性:

①数据可以被XML惟一标识,因此可以实现更有效率的搜索;

②可将XML文件发送到其他应用软件、对象或中间层服务器中做进一步处理或发到客户端浏览器中直接浏览;

③描述数据结构的标记可以被重复使用,XML能使异构数据库中的数据比较容易集成;

④XML具有扩展性和灵活性的特点,能描述各种应用软件中的数据;

⑤可以根据客户配置、使用者选择和其他标准,将本地XML数据动态地表现出来;

⑥XML的开放是基于文本的格式的,可以用HTTP进行传送,无需对现有网络进行变更。

3.2 管理接口的结构和工作过程

利用XML语言的灵活性、拓展性实现的工作流管理接口,其结构如图2所示。

图2 管理接口的结构

当工作流管理工具通过管理接口对工作流系统进行控制时,管理工具首先将控制命令封装成XML命令数据,然后找到远程目标对象,以XML命令数据作为参数调用远程目标对象的处理方法。当远程目标对象的处理方法被调用的时候,首先解析作为方法参数的XML命令数据,得到具体的控制命令,然后通知工作流执行服务完成相应操作,并将工作流执行服务的操作结果封装成XML结果数据返回给调用者。管理工具收到XML结果数据之后,解析得到处理结果从而完成控制操作整个操作过程如图3所示。

图3 管理接口的总体设计

3.3 XML控制命令与处理结果

在设置文件中设置控制命令,控制命令可以是管理角色命令、管理用户命令、管理过程实例命令、管理活动实例命令或者管理审核命令。这5种控制命令分别对应了工作流管理应用编程接口WAPI应包括的5个方面内容,即角色管理、用户管理、过程实例管理、活动实例管理以及审核管理。

在设置文件中设置处理结果,返回的处理结果可以是管理角色命令处理结果、管用户命令处理结果、管理过程实例命令处理结果、管理活动实例命令处理结果或者管理审核命令处理结果。这5种处理结果与发送的5种控制命令一一对应。

3.4 管理接口的可拓展性

随着工作流技术的发展,WFMC提出的工作流参考模型也将不断完善,利用XML语言本身具备的特点,基于XML技术实现的管理接口可以灵话地变化与拓展。例如假设工作流管理应用编程接口拓展了设置话动实例执行者的功能,那么仅需要在XML控制命令和XML处理结果设置文件中增加对其定义。

4 结束语

在当前的各种工作流系统中,工作流执行服务和工作流管理工具之间的管理接口多采用紧耦合的方式实现。将XML技术引入到管理接口的实现中,虽然增加了接口的实现难度与复杂性,但这种实现技术不仅满足了工作流系统在开放、分布式处理以及可操作性上的要求,同时也使得接口具备了良好的灵活性、可拓展性。

[1]GOLDFARB C F,PRESCORD P.The X ML Handbook[M].NewJersey:Prentice Hall,2001.

[2]范玉顺.工作流管理技术基础[M].北京:北京清华大学出版社,2001.

[3]梁彦强.基于CORBA/XML的工作流系统管理和监控接口技术研究与实现[J].计算机应用研究,2006(2):35-37.

[4]范玉顺,吴 澄.基于协调理论的工作流建模方法[J].计算机集成制造系统,2001,7(4):1-6.

[5]谢玉凤,杨光信,史美林.基于条件化有向图的工作流过程优化[J].计算机学报,2001,24(7):729-735.

猜你喜欢

表单命令实例
只听主人的命令
电子表单系统应用分析
基于图表示和匹配的表单定位与提取
浅谈网页制作中表单的教学
移防命令下达后
这是人民的命令
完形填空Ⅱ
完形填空Ⅰ
动态表单技术在教学管理中的应用*
对卢沟桥事变期间一份“作战命令”的考析