浅谈工作流规范

时间:2022-10-26 10:52:21

浅谈工作流规范

摘要:本文首先从工作流建模语言的历史讲起,然后涉及众多时下流行的建模语言以及规范,对这些规范所要解决的问题、相互间的关系做了简单阐述,给出工作流技术堆栈图,以及WFMC参考图。

关键词:工作流 规范

1 工作流技术团体

从技术上来谈,工作流并不是新东西。一些国际团体很久以前已经成立,并帮助共享创新技术以及理念。结果导致开放、安全的工作流技术的发展以及相应成型的系统。这些团体包括以下列举:

以上给出了工作流相关技术的一个清晰描述,从简单的信息存储到完整的集成业务管理。以上所有的内容都有一个共同点:它们在工作流相关技术领域都非常重要,其中一些在信息管理标准和技术方面也很重要。

2 工作流建模语言

影射并记录工作流流程,需要一个相应的描述性流程建模语言,以便可以被人和机器理解。一些语言存在是为了建模的目的,一些更通用,有些则特殊。一般建模的情况下,BPMN的标识用于业务用户,而UML主要用于软件开发者。UML严格来说,是一套软件系统开发的建模语言,现在已经变成了工业标准。其灵活性以及简单性也可以将其用于描述工作流和业务流程。

UML加上XML,CORBA以及.NET或Java形成了OMG的模型驱动架构的一个集成部分。尽管关于UML的使用有许多的争议,但事实上,此语言还是很容易使用的。UML划分为若干部分,提供给用户12种不同的图,其中只有3到4种真正用于描述业务流程。UML是分层的,这样可以使得先在一个抽象级上定义业务流程,然后进一步具体化、再具体化直到用户满意为止。最后就是UML是人以及机器都很好理解的语言,先在已经有很多基于UML的工具为模型的开发提供了相对易用的GUI接口。

在工作流相关的建模语言中,出现了两种重要的标准,那就是WPDL(或其XML形式的XPDL,其来自WFMC标准组织)和BPML(来自BPMI标准组织)。

现在WFMC和BPMI都在考虑将其各自语言合并为一个统一语言(如同Booch和OMT语言合并为UML一样),或为两种语言开发一个标准的影射。这个还有待后续的情况发展了。

作为工作流相关语言,XPDL和BPML都提供了一个超越通用建模语言(如UML)的重要优势。它们都能用于工作流建模系统以及运行时工作流系统,在系统间进行移动时而不需要附加额外的转换工作。另外,现在已经开始出现了XPDL和UML之间的“桥梁”,所以使得用XPDL建模工作流然后转换为UML,以便用于系统开发,反之亦然。最后,第三个工作流相关建模语言BPEL(BPEL4WS)也出现了。其由microsoft的XLANG和IBM的WSFL合并而来。这三种定义语言(XPDL、BPML以及BPEL)因为它们支持与工作流产品的交互所以对业务用户也非常重要,但并不就意味着可以直接用于业务用户群。而对于业务用户群体,开发出了BPMN。此语言图形化、易学并且易用。值得注意的是,其已经被WFMC和BPMI采纳为一个流程标准了。

一个知名的组织OMG当前也在开发一种业务流程建模语言――EDOC,尽管其并不被认为会商业运作。

不管哪个语言用于建模和描述流程,有一点是肯定的:在业务流程模型的创建中为业务用户提供的支持是不需要编程开发者或编码的其他中间人。

3 工作流和面向服务架构

企业级工作流技术栈

展现层

栈最上方,流程定义这边,BPMN和UML用于捕获业务流程以及关键的流程对象。这两种建模语言分别用于建模流程和业务用例和业务对象。栈最上方,流程执行这边,有多种web页面描述语言:JSP、ASP和xHTML等。这些Web页面描述语言使得使用web浏览器跨Internet与工作流引擎进行交互成为可能。

流程层

XPDL

XPDL是一种描述流程的元语言。其不是由开发者或用户直接操作的,而是间接地由用户通过工作流系统利用下层XPDL流程描述所对应的BPMN标记语言建模产生的流程描述语言(这里其实讲明白了BPMN和XPDL如何协同工作的)。使用XPDL有一些优势,其中包括用完全不同的流程描述语言(如BPEL、BPXL和BPQL)所表征的流程描述提供一个单一文件。

BPEL

BPEL是一种用于描述Web service的编排的流程描述语言。与XPDL相比,BPEL不能直接被人操作,而是通过上层的BPMN语言来进行操作的。其实在这里初步比较来说,BPEL更关注机器软件之间的交互,而相对会淡化与人的交互接口,而XPDL则是为工作流相关语言制定,同时WMFC组织给出的接口图中有一个interface2是与人专门交互数据的,自然对人的交互作用考虑得比BPEL多。

BPQL

BPQL是用于监控流程的查询语言,是BPMI组织所给出的管理与监控接口规范。

BPXL

BPXL则用于BPEL扩展。

总归,流程层通过流程执行的BPEL,XPDL,外加流程监控管理的BPQL以及相应的扩展机制BPXL完成流程层的任务。

注意:图中用虚线表示的意义是正在制定中的规范。

流程支持层

Web-service

内部关键的三个协议SOAP、WSDL以及UDDI。

其实这里还有一个现在比较流行的SCA和SDO规范,对于支持流程提供服务也是起到了很重要的作用。

其他的数据访问、虚拟机平台技术在这里就不详细讲了。

4 结束语

总之,之所以制定工作流规范就是要从源头进行技术的同意,而针对当前工作流规范众多的现状,预推动工作流技术向前发展,必须要实现众多工作流规范之间的整合与兼容。

参考文献:

[1]赵卫东,戴伟辉.基于角色的跨组织工作流研究[J].系统工程与电子技术.2003(08).

[2]邓水光,吴朝晖,俞镇.基于服务的跨组织工作流时间模型[J]. 浙江大学学报(工学版).2004(09).

[3]王勇,崔航.一种基于Web服务的跨组织工作流模型[J].计算机应用.2005(02).

上一篇:树立语文学习资源观全面提高语文素养 下一篇:浅谈信息教育在语文课堂教学中的应用