本发明专利技术提出了一种基于方面的可靠WEB服务组装方法和系统,其中所述方法包括:建立基于方面的面向服务组装的事务集成框架;开发基于方面的事务集成框架元模型,其中所述事务集成框架元模型支持不同的事务策略的定义;所述的事务策略用来指明事务操作、所属的事务类型,以及该操作的对应输入变量与输出变量;织入策略用来描述某个事务策略应被织入的位置,以及织入类型;对所述基于方面的事务策略进行验证;以预处理的方式将基于方面的事务策略与原始服务组装编织起来,在服务组装规格说明中织入标准的事务操作调用。本发明专利技术将服务组装中的事务逻辑与业务逻辑集成,对于目前基于服务组装实现的大型软件系统的可靠性保证具有十分重要的意义。
【技术实现步骤摘要】
本专利技术涉及计算机
,特别是指一种基于方面的可靠WEB服务组装方法和系统。
技术介绍
Web服务组装逐渐成为互联网环境下的首选的应用程序开发方案。Web服务是一种平台独立、松耦合、自包含、可编程、并依赖于WEB技术的应用程序,Web服务的描述、访问、检索与发布均基于标准XML技术以及一系列的Web技术标准。这些技术及标准有效地屏蔽了运行环境的异构性,使得Web服务可以直接部署和运行于Internet之上。由于单个的Web服务所实现的功能往往有限,无法满足实际业务需求,因此需要将多个Web服务协调并组织起来构造新的Web服务(复合服务),而这一过程就被称为Web服务组装。目前,面向过程的Web服务组装相对成熟,例如Business Process Execution Language (BPEL)就是一个基于XML技术的面向过程、可执行的Web服务组装语言,在学术界和工业界受到广泛重视,并有相应的工具支持。基于Web服务组装实现的系统可以快速地重整和优化业务,较好地解决了异构分布环境下数据集成与应用程序集成等难题。另一方面,与传统的应用程序相比,Web服务组装具有一些新特点。主要表现为(I)Web服务及基于服务组装实现的系统往往部署和运行于一个动态、开放的环境中。(2)基于服务组装的系统所要实现的业务过程往往是动态变化的。·(3)基于服务组装的系统往往要实现一些关键的业务流程。由于Web服务组装的上述特点,如何保证基于Web服务组装实现的系统的可靠性成为一个关键问题。现有技术中,事务提供了一种有效的解决方案。事务的概念起源于数据库领域,其目的是保证以数据为中心的应用程序的可靠性。目前,已有关于Web服务事务的相关标准,比如WS-Transaction协议族定义了事务协调的框架(WS-Coordination,简称WS-C)与两种事务类型,即用于短时间的原子事务WS-AtomicTransaction (简称WS-AT)和用于长时间的业务活动WS-BusinessActivity (简称WS-BA)。由于WS-Transaction协议族是Web服务标准协议栈的组成部分,因此获得更多的关注并有相应的中间件支持。虽然围绕着Web服务事务协议及模型的相关研究已取得一定进展,然而现有标准并没有明确定义如何将服务组装语言BPEL与Web服务事务进行集成的问题。针对面向服务组装的事务集成问题,现有的研究一般从语言层或运行时环境入手提出一些解决方案。但是,这些解决方案都是是针对特定实例的或者需要扩展标准服务组装语言BPEL及其执行引擎,存在着不易维护、技术实现复杂等缺点。具体来说,基于Web服务组装实现一些大型复杂的业务流程时,这些系统往往需要保证关键的业务环节正确执行。为了增强系统的可靠性,必须对这些关键业务环节提供事务机制的支持。目前,在服务组装语言中集成事务的实现技术一般从服务组装规格说明层出发,使得解决方法是基于特定实例的;或者从扩展服务组装语言及执行引擎的角度考虑,使得解决方案缺乏普适性。例如,在服务组装规格说明中为业务流程编写事务逻辑处理代码,即采用硬编码的方式将事务操作添加到核心业务当中。由于事务逻辑代码与业务逻辑代码混杂在一起,导致难以理解、难以维护的问题,并且需要为每个服务组装实例编写事务处理代码,工作量大。再如,通过扩展服务组装语言及其执行引擎,在标准的服务组装语言元素之外,添加用于处理事务逻辑的元素,并通过扩展执行引擎使得对扩展后的服务组装语言支持。由于对服务组装语言和执行引擎进行了扩展,造成解决方案特定于语言及实现、无法在其他执行引擎上运行的问题。
技术实现思路
本专利技术的目的是提出一种基于方面的可靠WEB服务组装方法和系统。 为了达到上述目的,本专利技术的实施例提供了一种基于方面的可靠WEB服务组装方法,包括步骤I、建立基于方面的面向服务组装的事务集成框架;步骤2、开发基于方面的事务集成框架元模型,其中所述事务集成框架元模型支持不同的事务策略的定义;所述的事务策略用来指明事务操作、所属的事务类型,以及该操作的对应输入变量与输出变量;织入策略用来描述某个事务策略应被织入的位置,以及织入类型;步骤3、对所述基于方面的事务策略进行验证;步骤4、以预处理的方式将基于方面的事务策略与原始服务组装编织起来,在服务组装规格说明中织入标准的事务操作调用。其中,所述步骤I具体为将基于方面的事务策略与原始服务组装转化为事务化服务组装;实现Web服务事务管理中间件;扩展参与组装的Web服务支持事务协议。其中,所述将基于方面的事务策略与原始服务组装转化为事务化服务组装具体为根据预设的映射规则将事务策略转化为不同的事务操作接口调用;其中所述事务策略包括事务协议类型与织入类型。其中,所述的Web服务事务管理中间件基于Web服务事务协议的规格说明实现,以Web服务的形式提供事务协议支持,提供统一的调用接口。其中,所述的扩展参与组装的Web服务支持事务协议通过扩展已有Web服务和增加支持不同的事务协议的接口实现;其中所述参与服务组装的Web服务提供并实现事务协议接口以被Web服务事务管理中间件调用。其中,所述步骤2具体为采用面向方面编程思想表达事务集成时的基本概念及其联系,采用XML语法格式表示;所述的基于方面的事务集成框架元模型用来刻画采用AOP表达事务集成时的基本概念及其联系,包括方面、切入点、通知、变量、事务、参数、方面集合、切入点集合、通知集合、变量集合、事务集合、参数集合;变量、事务及参数构成的事务策略、方面、切入点及通知构成的织入策略;变量、事务及参数之间的关系、方面、切入点及通知之间的关系通过XML的属性引用和层次结构建立;事务策略与织入策略的关系通过XML的层次结构建立;这些概念与联系通过XML Schema进行定义与表不。其中,所述步骤3具体为依据BPEL语法、事务结构与层次提供不同形式的验证方式,包括语法验证、变量验证、事务验证和层次验证,以确保基于方面的事务策略在织入前是正确的;所述的语法验证是指对基于方面的事务策略的XML元素、属性、以及元素之间的层级关系进行验证;所述的变量验证是指对事务操作的输入变量、输出变量的类型进行验证;对特定事务类型的事务操作而言,其输入变量、输出变量的类型应是唯一匹配的; 所述的事务验证是指事务是否正确的开启与关闭;事务是一组逻辑上连续执行的操作集合,具有事务边界的概念;而事务的边界由事务的开启操作与关闭操作界定;对不同的事务类型而言,其开启与关闭的操作也不同;所述的层次验证是指事务操作所织入的位置是否符合层次关系。其中,所述步骤4具体为将通过验证的基于方面的事务策略转换为标准的服务调用代码,然后根据切入点指明的织入策略定位到服务组装规格说明中的特定位置,根据通知中指明的织入类型转换后得到的服务调用代码织入。其中,所述通过验证的基于方面的事务策略转换为标准的服务调用代码是通过预设的转化规则将基于方面的事务策略的元素映射到BPEL元素;其中所述转化规则包括规则I :将事务策略中的变量映射为BPEL中的变量,变量的名字与类型属性分别映射为BPEL变量的名字与消息类型属性;规则2 :将事务策略中的事务映射为BPEL中的invoke活动,类型属性为assignTrans本文档来自技高网...
【技术保护点】
一种基于方面的可靠WEB服务组装方法,其特征在于,包括:步骤1、建立基于方面的面向服务组装的事务集成框架;步骤2、开发基于方面的事务集成框架元模型,其中所述事务集成框架元模型支持不同的事务策略的定义;所述的事务策略用来指明事务操作、所属的事务类型,以及该操作的对应输入变量与输出变量;织入策略用来描述某个事务策略应被织入的位置,以及织入类型;步骤3、对所述基于方面的事务策略进行验证;步骤4、以预处理的方式将基于方面的事务策略与原始服务组装编织起来,在服务组装规格说明中织入标准的事务操作调用。
【技术特征摘要】
1.一种基于方面的可靠WEB服务组装方法,其特征在于,包括 步骤I、建立基于方面的面向服务组装的事务集成框架; 步骤2、开发基于方面的事务集成框架元模型,其中所述事务集成框架元模型支持不同的事务策略的定义;所述的事务策略用来指明事务操作、所属的事务类型,以及该操作的对应输入变量与输出变量;织入策略用来描述某个事务策略应被织入的位置,以及织入类型; 步骤3、对所述基于方面的事 务策略进行验证; 步骤4、以预处理的方式将基于方面的事务策略与原始服务组装编织起来,在服务组装规格说明中织入标准的事务操作调用。2.根据权利要求I所述的基于方面的可靠WEB服务组装方法,其特征在于,所述步骤I具体为 将基于方面的事务策略与原始服务组装转化为事务化服务组装; 实现Web服务事务管理中间件; 扩展参与组装的Web服务支持事务协议。3.根据权利要求2所述的基于方面的可靠WEB服务组装方法,其特征在于,所述将基于方面的事务策略与原始服务组装转化为事务化服务组装具体为 根据预设的映射规则将事务策略转化为不同的事务操作接口调用;其中所述事务策略包括事务协议类型与织入类型。4.根据权利要求2所述的基于方面的可靠WEB服务组装方法,其特征在于, 所述的Web服务事务管理中间件是基于Web服务事务协议的规格说明实现,以Web服务的形式提供事务协议支持,提供统一的调用接口 ; 所述的扩展参与组装的Web服务支持事务协议通过扩展已有Web服务和增加支持不同的事务协议的接口实现; 其中所述参与服务组装的Web服务提供并实现事务协议接口以被Web服务事务管理中间件调用。5.根据权利要求I所述的基于方面的可靠WEB服务组装方法,其特征在于,所述步骤2具体为采用面向方面编程思想表达事务集成时的基本概念及其联系,采用XML语法格式表不; 所述的基于方面的事务集成框架元模型用来刻画采用AOP表达事务集成时的基本概念及其联系,包括方面、切入点、通知、变量、事务、参数、方面集合、切入点集合、通知集合、变量集合、事务集合、参数集合;变量、事务及参数构成的事务策略、方面、切入点及通知构成的织入策略;变量、事务及参数之间的关系、方面、切入点及通知之间的关系通过XML的属性引用和层次结构建立;事务策略与织入策略的关系通过XML的层次结构建立;这些概念与联系通过XML Schema进行定义与表不。6.根据权利要求I所述的基于方面的可靠WEB服务组装方法,其特征在于,所述步骤3具体为依据BPEL语法、事务结构与层次提供不同形式的验证方式,包括语法验证、变量验证、事务验证和层次验证,以确保基于方面的事务策略在织入前是正确的; 所述的语法验证是指对基于方面的事务策略的XML元素、属性、以及元素之间的层级关系进行验证;所述的变量验证是指对事务操作的输入变量、输出变量的类型进行验证;对特定事务类型的事务操作而言,其输入变量、输出变量的类型应是唯一匹配的; 所述的事务验证是指事务是否正确的开启与关闭;事务是一组逻辑上连续执行的操作集合,具有事务边...
【专利技术属性】
技术研发人员:孙昌爱,尚岩,
申请(专利权)人:北京科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。