戴经国 杨双如 蓝天
[摘要]传统的工作流技术只关注简单的工作流转和监控,无法满足跨组织的业务以及应用集成等复杂需求。文章结合面向服务体系架构(Service-Oriented Architecture,SOA)的思想,将面向服务的特征与云计算的优势进行融合,探讨SOA与云计算相融合的工作流技术,提出了工作流模型和管理系统模型并分析了其的实现技术。
[关键词]工作流技术; SOA;云计算;工作流管理系统
[DOI]1013939/jcnkizgsc201615120
1引言
作为企业经营过程重组与过程自动化的一种手段,工作流技术实现了任务的自动调度、资源的优化和管理,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。高度完成企业业务目标,因而越来越多的企业利用工作流技术解决信息自动化问题。但是随着信息技术的发展,企业规模的日益扩展,一个企业要想处于不败之地,必须与其他企业进行合作与交流,不能孤立存在,企业间的合作日益密切,跨组织、跨地域明显。[1-4]传统的工作流模型将业务过程与企业资源绑定,业务模型与组织和资源模型结合过于紧密,不适合企业的动态变化和发展的要求。[5]
文章在现有研究的基础上,将工作流与SOA的思想和云计算的特征深度结合,提出了云计算和SOA相融合的工作流技术,以适应当今开放、分布、异构、赢利、动态的现实网络环境中企业的复杂应用需求。在文章的下述部分,将阐述SOA与云计算相融合的工作流技术的原理,提出该工作流模型CSOWF以及对应的工作流管理系统CSOWFMS,并讨论其的实现技术,最后给出总结,将对云计算与SOA相融合的工作流技术的发展前景给出初步的预测。
2基本原理
面向服务的体系结构(SOA)[6]是一种服务导向的组件模型。服务是指软件中的一些处理过程或是封装成独立业务模块的程序逻辑单元,可以通过标准协议通过网络访问和调用,而且接口公开。服务提供者开发出各种有用的服务,经过严格测试后把服务发布到公共的服务注册表上,服务消费者通过查找服务注册表找到所需要的服务,然后就可以使有那个所需要的服务了。由传输机制绑定服务,然后通过接口契约规定的格式来执行服务。使用工作流技术可以把简单的服务聚集为复杂的服务,服务可以链接在一起实现较高级别的业务功能,利用SOA其松散耦合、接口标准化、服务独立、粗粒度、位置透明等特点,解决异构性、互操作性等问题,高效地利用或重组企业现有的应用资源,适应业务流程和资源动态变化的需求。
将公共的服务注册表存储于云空间中,利用“云计算”的特点,将“云”作为资料存储以及应用服务的中心,搭建计算机存储、运算中心,使得企业内部或跨组织、跨地域企业可以通过一根网线借助浏览器方便进行访问服务,这样企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。利用云计算其低成本、灵活、可计量性等特点,解决企业高成本、资源浪费、服务分配不当等问题。
SOA与云计算相融合的工作流技术,SOA的服务,以最有效的架构方式进行服务整合,强调服务如何应用,而云计算解决的是提供服务的“多少”,即“量”方面的问题,通过网络按需提供给企业。
21工作流、SOA、云计算的映射模型
工作流的整个生命周期中,从产生业务流程需求到实现流程,与SOA和云计算的映射模型可以分为图1中所示的五层。
表示层:表示层是针对用户的,该层由用户接口和商业流程界面组成,不需要专门的领域知识,只需要定义用户接口以及相关的流程界面。
服务层:完成业务流程的建模后,由专门的人员根据活动的目标与条件(时间、资源、人员、数据等),将活动(或任务)与相关的业务流程服务进行绑定。在服务的选择上要根据一定的策略进行匹配。完成流程中所有活动(或任务)与对应的服务一一绑定后,可以将服务按照唯一标识进行编排,形成一个服务流程序列。
服务组件层:在SOA下建模,服务独立于应用程序和开发平台,其技术细节的实现是通过组价的组合来完成的。任何应用都可以通过高内聚、低耦合的方式进行组件包装。组件之间通过分组或者重新组合便形成了服务组件层。
云应用层:该层包括软件包、客户管理、面向对象应用。“云应用”的工作原理是把传统软件“本地安装、本地运算”的使用方式变为“即取即用”的服务,云应用不但可以帮助用户降低IT成本,更能大大提高工作效率。
从表示层到云应用层,实际上是一个目标功能的分解过程,下面给出具体工作流到服务层以及云应用层的映射关系。
22工作流、服务、云计算之间的映射机制
利用SOA的思想以及相关的结构,SOA结构由服务提供者、服务注册中心、服务消费者三部分组成,服务提供者是一个可以通过网络寻址的实体,它接收和执行消费者的请求。把自己的服务注册到服务注册中心,以便服务消费者能够发现和访问该服务。因此每个企业将自己组织内部的应用组件化,以服务库的形式发布到网络上的服务注册中心,并且建立好相关的业务流程模型。不管是企业内部或者是跨组织,跨地域的企业需要服务时,通过云计算技术在服务注册中心按需搜索合适服务,利用云计算技术,能够高效、便捷、低成本、随时随地筛选出最能满足需求的服务。[7]
在选择服务的过程中,除了根据活动(或任务)功能目标和相关条件(如时间、资源、人员、数据等)进行搜索合适的服务外,还可以根据服务的其他方面进行筛选,例如性能、信誉等,并结合搜素服务策略进行查找。适当的服务查找与组合机制,能够降低服务查找和服务使用者之间的紧耦合关系,使得企业在开发新业务的同时,能够集成企业遗留应用,减少重复开发,也降低了服务管理的难度,因此可以根据服务查找与服务组合技术进行筛选合适的服务。
23云计算与SOA相融合的工作流的优点
利用云计算能够节约软硬件成本,节省物理空间,高效、方便、低成本地完成服务资源的选择和分配。[8]云计算提供给企业更多的灵活性,企业可以根据自己的业务情况来决定是否需要增加服务,企业也可以从小做起,用最小的投资来满足你的现状,而当企业的业务增长到需要增加服务的时候,可以根据自己的情况对服务进行选择性增加,使企业的业务利用性最大化。
3云计算与SOA相融合的工作流
文章提出的云计算与SOA相融合的工作流技术主要探讨两个方面的内容:
(1)将工作流活动与服务进行合理映射,定义和执行工作流程。
(2)利用服务和云计算进行工作流的管理。
前者针对工作流程本身而言,是把工作流的业务模型定义与实现分开;定义时使业务人员关注于领域业务模型的构造;执行时将业务工作流部署于SOA环境中,运用云计算优势,将服务注册中心存储于云存储空间中,将服务组件层与云应用层密切联系起来。以服务的方式为活动分配资源,合理调度,完成运行过程。后者则是针对工作流管理系统而言,改变传统的集中式管理模式,通过服务机制对工作流的构造、执行和监控进行分布式管理。
31工作流模型
SOA下的工作流利用服务灵活性,在定义和实施上都能更适合复杂的实际环境需求;特别是在流程的执行上,SOA提供了一个自动完成活动或任务的良好环境。同时,工作流技术可以很好地植入到云计算项目中。云计算流程天然地由不同的、序列化的事务组成的工作流程。具体模型如图2所示。
图2的服务可以分为系统服务和非系统服务两大类。系统服务指为进行工作流管理而提供的服务;非系统服务是为工作流程提供的服务。非系统服务存储于云中,通过云计算按需查找服务,SOA与云计算相融合,能够高效、方便、低成本完成跨组织、跨地域的业务服务流程。
32工作流管理系统
云计算与SOA相融合的工作流管理系统CSOWFMS是一个虚拟的工作流管理系统,由流程定义工具、监控管理工具盒引擎服务、定义存储服务、实例存储服务组成,并使用通用的注册查找服务和元数据存储服务[7],具体结构如图3所示。其中,流程定义存储服务提供保存流行定义文件的服务;流程实例存储服务保存流程实例状态数据;工作流引擎服务负责从流程定义存储服务保存流程实例数据,通过调用其他服务完成流程活动,与其他引擎服务协作可进行流程迁移或并行执行。用户则通过用户界面与工作流引擎进行交互。
在CSOWFMS中,工作流的使用不再限于它的位置,任务由服务完成。只要为服务定义标准接口,它们就能被任何依据标准的应用访问到。由于一个流程不再限制于工作流引擎的位置,流程能够在任何地方设计、存储和执行。而且SOA服务与云计算相融合,因此利用云计算的优势,将能够高效、灵活、方便、随时随地、低成本完成实际情况计算服务的需求。用户能够选择分布在网络环境中的任何可获得的工作流引擎服务来开始执行一个流程。在执行过程中,可以在不同的引擎服务间迁移来达到负载平衡,降低不同应用和引擎服务间的通信费用,易于从错误中恢复。甚至一个流程同时在多个引擎服务上执行以获得更高的效率。可见,CSOWFMS具有分布、高效、容错、负载平衡等优点、非常适应复杂信息环境的需求。[8-9]
4实现技术
云计算与SOA相融合的工作流的实现依赖于SOA和云计算的实现。流程以XML描述并与Web服务相结合非常重要。Web Service是SOA的一种实现方法。Web服务是构架在XML和Internet技术上的分布式计算技术,其目的是利用已经广泛使用的Internet协议在分布节点之间传递称为消息的XML文档。
利用XML、WSDL、SOAP等Web服务技术分别可实现流程与服务的描述、数据映射以及通信,而UDDI则提供了服务发布与发现和重用的手段。由于这些技术都是开放标准的,以这些技术为基础实现的工作流,不关系具体的业务流程所依赖的语言、系统或对象模型,跨多个应用的业务自动化更容易。业务流程可集合成复杂的工作流,设计、开发、维护和使用工作流都变得相对容易。
利用云计算技术,利用虚拟化机制将具体的计算特性加以封装隐藏,对外提供统一逻辑接口,从而屏蔽物理设备多样性带来的差异,实现了计算虚拟化、存储虚拟化、网络虚拟化、应用虚拟化和桌面虚拟化,虚拟化是实现云计算的最重要的技术基础。云计算的实现机制基于计算服务资源使用量付费的效用计算机制,用一个实例可以同时处理多个企业请求的业务服务流程。云计算提高了流程发布为服务供外包调用的安全性,同时对策略管理、可靠消息传递、事务处理等的支持。
5结论
文章结合了面向服务体系架构对复杂的信息化环境的支持与工作流技术在业务流程自动化方面的优势,以及根据云计算在按需计算服务资源方面的优势,提出了云计算与SOA相融合的工作流技术。以服务为实现工作流业务流程的手段,文章探讨了工作流与服务以及云计算的映射原理,提出了云计算和SOA相融合的工作流模型CSOWF和描述以及云计算服务化的工作流管理系统CSOWFMS,最后探讨了其的实现技术。相信随着SOA和云计算的日益成熟以及工作流的深入发展,三者的结合将会成为必然。
参考文献:
[1]Fan YushunWorkflow management technology base[M].Beijing:Tsinghua University Press,2001.
[2]Rezaei,Reza; Chiew,Thiam Kian; Lee,Sai PeckA semantic interoperability framework for software as a service systems in cloud computing environments[J]Expert Systems With Applications,2014,41(13):5751-5770.
[3]Wang,Mingzhong;Zhang,Xuyun;Zhu,LiehuangTrust-based workflow refactoring for Concurrent workflow refactoring for concurrent scheduling in service-oriented environment[J].Concurrency and Computation-practice Experience,2013,25(13):SI.
[4]Salimifard,K; Wright,MPetri net-based modelling of workflow system:an overview[J].European Journal of operational Research,2001,134(3):664-676.
[5]YU Liang,Wei Jun-based services and rules extended workflow model[J].Computer Engineering and Applications,2004, 40(31):186-189.
[6]Jason Bloomberg面向服务架构(SOA)的原则[EB/OL].[2003-03-20].http://wwwwmlchinacomNewsContent/ 39htm.
[7]Lee,Minsoo,Yoon,Hyejung,Shin,HyoseopIntelligent dynamic workflow support for a ubiquitous Web service-based manufacturing environmentJournal of Intelligent Manufacturing,2009,20(3):295-302.
[8]Chaixue Zhi,Cao JianWorkflow-oriented cloud computing technology Computer Systems[J].Journal of Chinese Computer Systems,2012(1).
[9]Zhangmin HuiSOA architec ture workflow management system[J].Computing Technology and Automation,2012(1).
[10]范玉顺工作流管理技术基础[M].北京:清华大学出版社,2001.
[11]余亮,魏俊基于服务和规则扩展的工作流模型[J].计算机工程与应用,2004,40(31):186-189.
[12]柴学智,曹健面向云计算的工作流技术小型微型计算机系统,2012(1).
[13]张敏辉SOA架构的工作流管理系统的研究与应用[J].计算技术与自动化,2012(1).