时间:2024-08-31
张敏辉
(四川教育学院计算机科学系,四川 成都 611130)
基于SOA架构的Web Services工作流管理系统的研究*
张敏辉
(四川教育学院计算机科学系,四川 成都 611130)
为了更好地满足企业在网络环境下的管理和企业间业务流程的合作,在分析目前工作流技术所存在的不足的基础上,提出了基于SOA架构的工作流管理系统,并指出了传统工作流管理系统的局限性.提出了基于SOA的工作流管理系统模型,就系统实现的关键技术进行了阐述并给出了具体的实现方法.采取Web Services技术,屏蔽了软件平台之间的差异,使系统具备异构系统之间的集成并适用于企业分布式的异构环境.
工作流技术;Web服务;SOA架构
工作流管理技术作为一种快速发展的技术,在企业中得到了越来越广泛的应用.企业通过工作流相关过程建模体系的建立,可以与其它系统进行有效的结合,使企业的业务流程更好的实现[1].
随着网络技术与计算机水平的发展,现代企业的业务流程已呈现出一种分布、异构和松散耦合的特点,这就对工作流管理系统提出了更高的要求,工作流管理系统必须能够支持异构环境下的互操作性及对异构环境下的软件系统提供支持[2].基于SOA架构的工作流管理技术可以弥补传统工作流的不足,其采用Web Services的分布式工作流技术,可以满足跨平台、跨组织、跨部门的分布式的企业应用需求,使工作流管理系统具有强大的开放性、互操作性和平台无关性.
传统的工作流技术起源于生产组织和办公自动化领域.它是针对企业日常工作中固定的程序活动而提出.通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高效率,降低生产成本[2],提高企业竞争力.传统的工作流技术的确可以促进企业各部门间的信息集成,但面向当今跨区域、跨企业的运作形式,传统的工作流技术无法满足企业的需求,存在着一定的局限性.
(1)互操作性差.工作流管理联盟定义的工作流间的互操作模型无法支持异构企业间工作流引擎的复杂操作.
(2)分布异构环境的支持性差.传统工作流管理系统主要面向局域网进行操作,随着信息技术和网络的发展,现在的企业运作范围是面向互联网的,原来的工作流软件只能支持单平台操作,而每个企业都有自己的工作流管理系统,各企业系统间的传输协议和数据结构都存在差异,各企业无法在业务流程上进行合作[3].
(3)无法进行动态建模.工作流的过程建模技术让过程定义和过程执行的分离得到了实现.可以在过程定义时静态指定过程信息,对过程进行实例化后按照定义依次执行.但在流程的执行过程中经常会发现业务流程发生了变化,这就需要工作流管理能够对这些变化做出响应,动态选择对应用程序的调用.
工作流的概念起源于生产组织和办公自动化领域.它是针对企业日常工作中固定的程序活动而提出.将企业的业务进行自动化处理的过程叫工作流,在业务处理的过程中,根据预见所定义的一些规则将信息和文档在过程的参与者中进行传递,从而完成整个业务的处理[3].
工作流管理系统即WFMS(Work Flow Management System),它是一个软件系统,通过计算机软件来对工作流的执行进行管理和定义.不同的工作流管理系统其在底层通信机制、实现方法和应用范围方面都存在较大差距.在用户的应用层上提供了以下三种功能的支持.
(1)运行控制.运行控制功能是工作流管理系统的核心,对工作流实例的创建、执行和控制进行总体的控制,并负责活动之间的控制转移.
(2)运行交互.运行交互功能主要用于工作流管理系统与外部应用程序之间的交互
(3)设计.设计功能主要对工作流中的业务流程进行定义和建模.
工作流管理系统通用的系统实现模型如图1所示:
图1 工作流管理系统结构
SOA(Service-Oriented Architecture)即面向服务体系结构,它是一种软件架构.SOA利用企业现有的各种软件体系,重新整合并构建起一套新的软件架构.这套架构可以随着业务的变化,随时灵活地结合现有服务而组成新的软件,共同为整个企业的业务流程服务[4,5].
将SOA架构技术引入到工作流系统中,可以大大提高工作流的应用范围,弥补现有工作流管理系统柔性差、无法快速响应变化和互操作性差等缺点.SOA要求软件开发者在设计应用软件时充分考虑到服务集成以及服务的重用性,SOA是面向服务模型的传统紧耦合的替代者,同传统的软件架构相比较,SOA具有更多的优点:基于标准、松散耦合、共享服务等.SOA使用独立的接口,并以软件组件的松散耦合性为设计的重点.因此,研究并实现基于SOA的工作流管理系统具有广阔的应用前景.
针对在工作流管理系统中引入SOA架构的优势以及对传统工作流管理系统的改进,我们提出了基于SOA架构的工作流管理系统的模型,见图2.
图2 基于SOA架构的工作流管理系统模型
与传统的工作流管理系统相比,基于SOA架构的工作流管理系统主要增加了面向服务特征,在企业的工作流程中,可将企业流程封装成Web服务,并通过调用Web服务的形式来执行工作流.
在工作流执行的过程中通过提供过程定义接口,来获取过程的定义,同时工作流的执行服务由多个工作流引擎组成,通过Web服务接口的调用来执行相关的应用程序.
为适应分布异构环境下的业务进程,作为一种语言规范,BPEL(Business process execution language)即业务流程执行语言,为SOA的工作流管理系统的建模提供了很好的工具.利用业务流程执行语言(BPEL),可以完成操纵数据、调用Web服务等,并可创建更为复杂的业务流程.
目前工作流技术发展中的缺点主要集中在无法支持企业间异构应用的集成,迫切需要一个标准化集成框架的支持.传统的分布式计算模型,例如Java RMI、DCOM和CORBA由于受编程语言、操作系统和网络环境的限制,通常使用特别端口进行通信,从而造成了跨平台交互能力差[6].通过采用Web Service技术可解决以上问题.Web Service是在现有的异构平台基础上构筑一个通用的与平台、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施集成和连接.通过在工作流技术中引入Web Service技术,可以满足企业中工作流的跨平台性、分布性及互操作性等需求.而基于SOA的思想大大方便了企业间工作流的交互,在各自完成企业内部流程的同时,对外开放接口来实现不同企业间信息的连接.Web Service工作流管理系统模型如图3所示.
图3 Web Service工作流管理系统模型
SOA架构的工作流管理系统的实现,分为以下三个步骤进行.
(1)业务流程的映射.业务流程映射是实现系统的第一步,在充分了解企业业务目标的基础上,需要确定并且对全部的业务流程进行文档化处理,从业务流程中抽取出企业中的业务流动,进行XML定义.
(2)对业务流程进行建模.对业务进程进行分析和重组,首先需要对业务流程进行建模,而建模的目的主要是不同企业的工作流可以互相访问,企业在完成本身内部业务流程的同时会公开交互接口,不同的企业可以进行工作流连接,完成跨企业间工作流的服务.
(3)实现工作流引擎.工作流引擎的设计是:将工作流引擎首先封装成Web服务并对外提供统一接口,这些接口包括监视工具、工作表和其它服务调用等;在系统中,由工作流引擎之间的互相协同工作来推动整个企业工作流的执行.同时,为了方便调用异构应用程序,企业的运行过程中的应用程序也需要封闭成Web服务,可以直接供活动调用,而工作流引擎之间及工作流与工作用户界面间可以采用SOAP信息直接进行交互.将工作模块放入SOAP服务器中供工作流引擎进行调用.在流程定义的Web服务中,以其中一个典型的Participant元素的定义为例,其定义如下:
<participant name="EquipApplyService">
<webService> EquipApplyService</webService>
<user> Administrator</user>
</participant>
在流程执行时,当执行到的活动需要请求Web服务时,工作流引擎会发送服务请求信息到Web服务的管理器,其通过解析读取工作流描述文档可以得到相应的服务信息,然后将该信息传到SOAP代理并执行SOAP调用.
面向服务架构SOA是近几年被广泛应用的软件体系架构,其利用企业现有的各种软件体系,可以重新整合并构建起一套新的软件架构.通过采用SOA框架将Web Services技术与工作流相结合,将企业中的各种流程活动通过Web Services来实现可以更好地适应大型企业中分布式的环境状况.本文设计的基于SOA架构的工作流管理系统已在实际的项目中得到了应用,本系统采取Web Services技术,屏蔽了软件平台之间的差异,使系统具备异构系统之间的集成并适用于企业分布式的异构环境.
[1]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.
[2]张敏辉.基于工作流管理技术的研究[J].信息安全与技术,2011,(12):56 -58.
[3]管红杰.SOA架构的工作流管理系统的研究与应用[J].计算机工程与设计,2011,(3):23-26.
[4]段会宁,陈德运.SOA的工作流管理系统的研究与设计[J].哈尔滨理工大学学报,2009,(10):72 -75.
[5]王舒畅.基于SOA的工作流管理系统设计[J].长春工业大学学报,2009,(8):406 -411.
[6]张敏辉.基于协同商务平台的工作流技术的研究[J].智能计算机与应用,2011,(12):60 -63.
TP311
A
1008-4681(2012)02-0047-03
2012-01-10
张敏辉(1980-),女,内蒙古赤峰人,四川教育学院计算机科学系讲师,硕士.研究方向:电子商务技术与应用、软件技术与信息系统.
(责任编校:晴川)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!