面向服务的工作流管理的研究

时间:2022-10-24 08:47:03

面向服务的工作流管理的研究

摘要:随着业务信息化不断发展,传统的工作流管理系统己经渐渐不能满足业务集成的新需求,新一代的工作流管理必须提供对Web服务的支持。面向服务的工作流管理,是将工作流的Web服务作为一种分布式计算环境,为实现分布式的工作流管理系统提供了基础。同时,面向服务的工作流管理系统,将面向服务的架构和工作流管理结合起来,通过工作流管理引擎来调用Web服务,从而实现工作流程的优化。

关键词:面向服务的架构;Web服务;工作流管理;业务信息化;工作流管理系统

中图分类号:TP391文献标识码:A文章编号:1009-3044(2010)22-6351-03

Research on Service-oriented Workflow Management

LIU Mu, TANG Wen-yuan, SHI Ying-bo

(College of Computer Science & Information, Guizhou University, Guiyang 550025, China)

Abstract: With the continuous development of traditional business informatization, the workflow management gradually cannot meet the new need of the integration of the business. A new generation of workflow management must provide support for Web services. Service-oriented workflow management regards the web service of workflow as a kind of distributed computing environment, in order to provide the basis for distributed workflow management system. At the same time, service-oriented workflow management system, combines workflow management with SOA, through the workflow management engine to invoke Web service, and then optimize the workflow.

Key words: service-oriented architecture; web service; workflow management; business informatization; WfMS

1 概述

工作流管理技术被称为下一代信息处理技术,在各行业的不同事务中的应用不断增多。工作流管理系统作为一个功能较强的系统,它可以完成工作流的定义和管理,为业务系统提供了一个灵活的软件平台。此外,工作流管理不断地采用越来越多的新技术,使得工作流管理系统更加的稳定、强大和更好地适用于纷繁的办公应用逻辑。对于业务日益复杂化,分工不断精细化的现状而言,工作流管理的研究具有巨大的现实意义和广阔的应用前景。

面向服务的架构[1](Service-Oriented Architecture, SOA)与现今网络及软件开发技术的发展是密不可分的,SOA作为目前流行的跨平台的新思想新理念,不断得到完善与发展,拥有广阔的发展空间。SOA架构和Web服务技术日益成熟,这为跨组织的复杂业务过程管理提供了一种新型的解决方案。因此,把工作流和SOA结合,可增加系统自身的可伸缩性,使得服务的使用者之间以多种方式进行交互成为可能,使得用户间的交流和资源共享变得更为简单方便[2]。这种管理系统可以有效提高工作效率,降低成本,实现办公自动化,进一步适应信息化进程的迅速发展。

2 工作流的研究现状

工作流(Work flow)是业务流程的全部或者部分自动化,其间,文档和信息或任务按照一定的过程规则流转,实现组织成员间的协同工作,以达到业务整体的目标。简言之,工作流是一个用连接关系按一定逻辑组合起来的活动序列。工作流定义了业务流程中的参与者、所执行的工作、以及执行的时间。可以将整个业务过程看作是一条流水线,其中流过的就是工作流。一个完整的工作流是包括一组活动及其相互间的逻辑关系,流程和活动的起始、终止条件,以及对各个活动的相应描述的[3]。

工作流技术从出现发展到现在,扮演着越来越重要的角色。它通过将业务流程分解成良好定义的活动、角色和过程规则,并结合计算机和网络技术实施流程管理、流程分析和流程再造。工作流技术已经是业务信息化设计方案中的一个必备环节。从简单的办公自动化系统的构建,到企业ERP(Enterprise Resource Planning, 企业资源计划)系统的实施,再到为提高企业运营效率而出现的BPR(Business Process Reengineering, 企业流程重建)及BPM(Business Process Management, 业务流程管理)系统[4],工作流技术都发挥了相当重要的作用。在技术领域,基于面向服务的思想构建分布式工作流管理系统逐渐成为工作流技术的发展趋势。工作流技术为实现应用层的集成提供了有力支撑,可实现改进企业业务流程、合理利用已有资源、减少人为的差错,增强企业的生产效率等目的。

3 工作流的管理

3.1 工作流管理系统的定义

工作流管理(Workflow Management, WFM)是人与电脑共同工作的自动化协调、控制和通讯,在电脑化的业务过程中,通过在网络上运行软件,使所有命令的执行都处于受控状态。

工作流管理系统(Workflow Management System, WFMS)通过软件定义、建立工作流,并管理控制它的执行。它是创建、管理工作流的有效工具,工作流实例的执行是按照在计算机中预先定义好的工作流逻辑进行的。一个完整的工作流管理系统要包括过程定义工具、过程定义、工作流执行子系统和工作流引擎、工作流控制数据、工作流相关数据、工作表和工作表处理程序、应用程序和应用数据等七个部分[5]。

3.2 工作流管理系统的主要功能:

把握对工作流的分析与控制是成功实现工作流管理系统的重点,其功能为:

1)定义、创建工作流

使用过程定义的工具,将业务流程映射为由可扩展标记语言定义的管理系统数据组成的过程实例,这个映射的过程对用户是可见的,用户只需要在可视化工具中进行简易操作。这些定义(包括具体活动和规则等)可同时被人和计算机所“理解”。

2)对具体过程实例的运行控制

创建和初始化,以及执行具体的过程实例,是通过工作流执行子系统和工作引擎来实现的,从而在各种活动执行过程中实现活动实例与用户的进行交互。

3)调度并控制多实例

根据过程实例中不同活动之间不同的活动语义所处的上下文环境,对多实例的活动属性给出统一形式的描述,使活动多实例控制体相互独立。

4 面向服务的工作流管理

4.1 面向服务的架构的定义

面向服务的架构(SOA)是一种可以不断进化的方式,用它构建以解决业务问题为中心的信息技术系统。SOA可被理解为一种业务驱动的体系结构方法,该方法能够对业务整合提供支持,相关的业务被整合为互联的、可以复用的业务任务或者服务[6]。SOA是一种遵循面向服务原则的架构方式,它是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境的新的发展阶段。

4.2 SOA与工作流管理结合的意义

从市场竞争的角度来看,企业以不同业务流程的方式向外界提品和服务,与外界进行各种信息的交互,进而实现其经营目的。因此,企业要赢得在时间上的竞争,就必须逐渐提高其业务流程的效率。SOA就是以互操作、业务灵活及创新性为标准的,将企业业务流程最优化就是其一大作用。SOA应用到工作流管理之中,使企业可以根据需要而定义出相应的工作流,提供随需应变的业务服务,让企业取得更强的竞争力。

从技术发展的角度来看,为了解决分布式计算的实现问题,满足更高可伸缩性的需求,计算资源和数据资源的分布多样化,与企业中原有的计算环境、遗留系统之间的集成变得越来越重要。面向服务的工作流管理系统,通过工作流引擎,实现并控制异构的业务流程,可以更加有效的整合现有资源和业务,提高系统的重用性,降低开发成本。

4.3 面向服务的工作流管理系统的结构

企业内部的应用功能大都是以Web服务的方式提供的,当用户需求改变时可方便地进行业务重组。工作流引擎在进行调度时,采用SOAP(Simple Object Access Protocol)协议来实现工作流引擎和Web服务之间的交互。在Web服务与工作流之间交互时通过Web服务管理器,达到逻辑上的独立性。为此,Web服务时使用标准的Web服务描述语言(Web Service Description Language, WSDL),同时采用SOAP来实现SOAP消息的生成和传送[7]。整合的整个系统架构如图1所示。

Web服务的规范是开放性和标准化的,并且得到了行业的广泛认可。面向服务的工作流管理系统在设计时提供了一个抽象层,它位于应用层和传输层之间,使分布式计算的许多实现的具体细节被隐藏了,为分布的和异构的工作流管理系统之间的相互集成和相互操作建立了一个有效的基础平台。Web服务将现有的服务和流程结合为实用的新业务应用,实现了业务的整合。

使用基于文本协议的Web服务,与消息队列技术等一些通信中间件所支持的分布式应用相比较而言,Web服务采用XML(eXtensible Markup Language, 可扩展标记语言)进行可在不同实现平台上的数据编码和数据组织。XML文档是一种文本文件,同时遵循与其关联的DTD (Document Type Definition, 文档类型定义)或者XML结构,一般具有文本处理功能的计算机都可以处理这些XML文档[8]。通过XML文档描述的一些实体,可以引用位于内存、磁盘、其他存储设备或者Web中的另外一些实体,从而使得Web服务更加简便。

4.4 面向服务的工作流管理的实现

面向服务的工作流管理系统主要分为以下三个不同步骤加以实现,即:通过可扩展标记语言映射业务流程、对业务流程进行建模、部署并且应用工作流管理引擎。

1)业务流程的映射

映射可以说是面向服务的工作流管理系统实现的第一个重要步骤,它的首要任务就是确定并且用文档化的方式组织内部已有的手工和自动化的业务流程,把这些流程系统化组织化,并且从这些业务流程中抽取出最基本的单位业务活动,然后使用可扩展标记语言进行定义活动,然后制定出相应的业务流程。

2)业务流程的建模

一些组织提出业务流程建模(Business Process Modeling, BPM)的标准和技术,BPM是对业务流程进行表述的一种有效方式,也是过程分析与重组的基础之一[9]。在分析需求的前提下,业务流程建模的主要目的是提供一个较为有效的跨组织的流程模型,为目标执行平台生产软件代码的精化方面产生作用,并辅助相关人员进行多种业务的分析与优化设计。业务流程是一个由各种不同功能的活动相连的一组具有相互关系的任务,它们按照一定的业务逻辑依次执行。业务流程具有可以重用的起点和终点。在业务流程建模阶段完成工作流过程和相关活动的定义和描述。

3)面向服务的工作流管理引擎的创建和部署

随着业务量的持续增加,终端用户数目的不断增长,Web服务的范围也在逐渐扩展,调度业务流程的工作量也随之增大。而Web服务的管理引擎的使用可以大大提高系统的工作效率,解决这一问题。工作流管理引擎可以保证流程的流转[10]。它可以在流程执行阶段完成活动的调度、任务的分发等功能。

5 结论

面向服务的架构实现业务与技术的分离,消除了集成应用的各种障碍,可以针对企业业务的各种需求灵活应变。采用面向服务的工作流管理技术,更多的关注业务流程,并快速、准确、灵活地定义和执行企业的业务流程,可以有效地增强和提高企业的经营效率和业务响应能力。同时,面向服务的工作流管理也可以为企业的全面信息化打下坚实的基础。

参考文献:

[1] Shifeng Yan,Ying Li,Shuiguang Deng,Zhaohui Wu.A transaction management framework for service-based workflow[J].Computer Science,2006(5).

[2] 刘莎.基于SOA的工作流引擎设计与实现[D].重庆:重庆大学,2008.

[3] 王建民,闻立杰.工作流管理模型、方法和系统[M].北京:清华大学出版社,2004.

[4] Shin David.Service-oriented Architectures[J].Scientific Computing and Instrumentation,2004.

[5] 张峰.基于SOA的工作流架构研究与系统实现[D].北京:北京信息控制研究所,2008.

[6] Sandy Carter.SOA&Web2.0――新商业语言[M].北京:清华大学出版社,2007.

[7] 毛新生.SOA原理、方法、实践[M].北京:电子工业出版社,2007.

[8] Dan C.Marinescu. Internet-Based Workflow Management: Towards a Semantic Web[M].Wiley-Interscience Publication,2002.

[9] 段会宁.基于SOA的工作流管理系统的研究与设计[D].哈尔滨:哈尔滨理工大学,2009.

[10] 祝永志.基于Web分布式工作流系统可扩展性的研究与实现[J].计算机科学,2006,33(1):108-110.

上一篇:浅谈用户速度与移动地图比例尺的关系 下一篇:基于编程能力培养的《OFFICE VBA编程》课程教...