2024年4月20日发(作者:)

优秀工作流引擎功能标准

工作流引擎(Workflow Engine )

[编辑]

工作流引擎概述

工作流引擎是指workflow(工作流)作为应用系统的一部分,并为之提供

对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内

容等级等核心解决方案。

例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信

息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定

性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程

序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的

全新业务逻辑等等)。 Workflow 引擎解决的就是这个问题:如果应用程序缺乏

强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。

就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应

用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业

务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火

(程序因为逻辑的问题陷入死循环)的车还敢开吗?

Workflow 关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力

并使企业能够关注于真正对企业有意义的增值业务上。从建立企业神经系统的角

度也许更能理解两者的区别。传统软件不能解决工作流的问题,例如ERP关注的

是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的

成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生

产管理的MRP 系统所能解决的生产过程控制通过workflow很难实现。但一个好

的传统软件如果希望能自动化地在整个企业中应用起来,必须有一个强大的逻辑

层,用以解决信息传递的逻辑判断和自动流转,这个时候就需要workflow的平

台。

今天的很多优秀的工作流解决方案集成了短信息、页面服务、目标管理、文

件管理和其他一些操作系统才提供的服务。

[编辑]

工作流引擎的五大接口

工作流参考模型确定了工作流管理系统的基本架构。该架构是开发工作流软

件时应当采纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标

准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的。

系统的核心部分是工作流引擎,引擎是驱动流程流动的主要部件,它负责解

释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运

行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯等等工作。

WfMC没有针对引擎的实现提供具体的标准,因为对引擎做过多的约束并没有多

大的现实意义。

一个工作流管理系统可以包含一个或多个引擎,并通过API向外部提供五

个方面的功能服务,这些功能分别为:

接口1-流程定义的导入导出

接口2-同客户端应用程序和工作列表处理程序之间的交互

接口3-软件工具和应用程序的调用

接口4-不同工作流管理系统之间的协同工作

接口5-管理和监视功能

接口1-流程定义的导入导出

许多不同厂商提供的工具可以进行工作流流程的分析、建模、描述和归档等

工作。这些工具需要识别公共的流程交换格式,以支持在这些不同的产品之间传

送工作流程流程定义。接口1便定义了这样的交换格式。此外,接口1还定义了

设计环境与运行环境之间交换的规范,以使不同的建模工具产生的流程定义可以

输入到不同的工作流产品的运行环境中。 为了提供一个访问和描述工作流定

义的公共方法,需要引入一个工作流元数据模型(meta-data Model),这个模

型确定了流程定义中用到的一般的实体,这些实体都有不同的属性,不同厂商开

发的工具可以根据公共的交换形式向工作流运行环境传送这些模型,传送可以通

过API实现,也可以通过批量(Batch)传送实现。

元模型提供了流程定义交换中用到的基本的实体及其属性,这些都是工作流

流程的组成部分,这些实体包括:

工作流流程定义

工作流流程活动

过渡信息(Transition Information)

工作流参与者

组织模型

工作流应用程序

工作流相关类型

工作流相关数据

系统和环境数据

数据类型和表达式