用于提取SOA系统组件交互规则的方法和系统技术方案

技术编号:8532638 阅读:192 留言:0更新日期:2013-04-04 15:32
本发明专利技术公开了一种用于提取SOA系统组件交互规则的方法,包括:获取多个交互数据对象的值;获取SOA系统的结构单元;在结构单元与交互数据对象的值之间建立关联关系;以及根据关联关系产生组件交互规则。利用本公开实施例提供的上述一个或多个实施例,突破了传统的基于代码提取SOA系统组件交互规则的方法的限制,能够提取复杂的SOA系统的组件交互规则。

【技术实现步骤摘要】

本专利技术涉及面向服务的架构S0A,更具体地,本专利技术涉及用于提取SOA的组件交互规则的方法和系统。
技术介绍
SOA的全称是面向服务的架构(Service-Oriented Architecture),它是一种组件模型,这种组件模型通过采用中立方式定义的良好接口将应用的不同功能单元联系起来。 功能单元在SOA中也被称作服务或服务组件,这里简称组件。基于SOA构建的系统通常称为SOA系统。由于接口的定义独立于实现组件的硬件平台、操作系统和编程语言,因而各种 SOA系统·中的组件可以以一种统一和通用的方式进行交互。下面为了方便,简要介绍一下各个术语的含义。组件指的是通过良好接口定义封装的、具有一定的可复用功能的分布式可访问模块,这些可访问模块对应于应用的功能单元。组件一般具有通用的接口描述语言,并且可以用公有的协议进行消息交互。组件交互指的是组件之间通过公有的协议进行消息交互,以便通过各自的接口完成对内部封装的逻辑的访问。交互数据对象指的是组件之间通过公有的协议进行消息交互所传递的数据对象,为满足跨平台特性,一般使用XML格式进行描述。组件交互规则指的是SOA系统的成员组件之间通过既定义的组件交互关系进行访问时所遵循的内在规律。组件交互规则可以形式化为一个类函数描述€0^,7,2),其中函数的参数是组件交互规则的条件,这些条件一般包括交互时所传递的数据对象的内容模式;传递这些数据对象的组件所在SOA系统的结构关联关系。函数值是组件交互规则的行为,即在满足条件的情况下组件之间进行交互的行为,这些行为一般包括所传递的数据对象的数据格式的转换,以及数据对象传递的方向。结构单元指的是SOA中的组件容器,包含一个或多个在结构上相互关联的组件的集合以及这些组件在SOA中完成其功能所需的公有基础设施,如安全性、事务性等,例如 ESB、流程以及网关等。构成结构单元的组件之间可以具有交互关系也可以彼此独立,但都从属于结构单元。ESB :全称为企业服务总线(Enterprise Service Bus),它是传统中间件技术与 XML, Web Service等技术结合的产物。ESB提供了 SOA系统的成员组件构成的组件交互网络中最基本的连接中枢,它的基本功能是屏蔽组件交互在数据格式、通讯协议上的异构性, 并实现各个组件之间交互连接的透明路由。中介组件(Mediator):是ESB在实现层面的主要内部模块。ESB —般由一个或者一组相互关联的中介组件形成,它提供最基本的组件数据格式转换、协议转换以及组件路由等功能。中介组件一般具有高度的内聚性,同一中介组件一般对一组与其连接的组件所传递的数据对象的某一部分(即子数据对象)进行集中处理。流程是一系列组件按照特定调用次序的组合,这种调用次序体现了这些组件在 调用时序上的依赖关系。例如,在调用组件A之后调用B,然后再调用C,A_ > B- > C这种 在调用时序上的依赖关系就是流程的一个例子。网关指的是处于不同物理网段或者分布式节点上的SOA子系统之间进行跨子系 统组件交互时用于提供协议转换、路由选择、数据交换和过滤等兼容和安全控制功能的设 备。传统的,基于代码来提取SOA系统组件交互规则。随着SOA系统变得越来越复杂, 构成SOA系统的组件越来越多,往往涉及到巨量的代码,传统的基于代码提取SOA系统组件 交互规则的方法在处理复杂的SOA系统时遇到了瓶颈。同时,多数情况下,由于SOA系统只 公开组成其系统的组件的接口以及结构单元的元数据描述,无法获取源代码,或者组成SOA 系统的组件为远端异组织所部署,政策上无法获取源代码,因此无法利用传统的基于代码 提取SOA系统组件交互规则的方法。
技术实现思路
本公开说明性实施例中认识到现有技术中存在的上述缺点。根据本公开的一个实施例,提供了一种用于提取SOA系统组件交互规则的方法, 包括获取多个交互数据对象的值;获取SOA系统的结构单元;在结构单元与交互数据对象 的值之间建立关联关系;以及根据关联关系产生组件交互规则。根据本公开的一个实施例,提供了一种用于提取SOA系统组件交互规则的系统, 包括监控模块,配置为获取多个交互数据对象的值;分析模块,配置为获取SOA系统的结 构单元;关联模块,配置为在结构单元与交互数据对象的值之间建立关联关系;以及产生 模块,根据关联关系产生组件交互规则。此外,本公开的实施例还提供了与上述方法对应的计算机程序产品。利用本公开实施例提供的上述一个或多个实施例,突破了传统的基于代码提取 SOA系统组件交互规则的方法的限制,能够提取复杂的SOA系统的组件交互规则。附图说明本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所 有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的 详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本 公开的优选实施例和解释本公开的原理和优点。在附图中图1显示了适于用来实现本公开实施方式的示例性计算系统100的框图2显示了根据本公开一个实施例的用于提取SOA系统组件交互规则的方法200 的流程图3显示了根据本公开一个实施例的用于提取SOA系统组件交互规则的系统300 的框图。具体实施方式下面结合附图介绍根据本公开的实施例。本文中所用的术语,仅仅是为了描述特定的实施例,而不意图限定本专利技术。本文中 所用的单数形式的“一”和“该”,旨在也包括复数形式,除非上下文中明确地另行指出。还 要知道,“包含”一词在本说明书中使用时,说明存在所指出的特征、整体、步骤、操作、单元 和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或 组件,以及/或者它们的组合。以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置(means) 或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行 该功能的结构、材料或操作。所给出的对本专利技术的描述其目的在于示意和描述,并非是穷尽 性的,也并非是要把本专利技术限定到所表述的形式。对于所属
的普通技术人员来说, 在不偏离本专利技术范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和 说明,是为了最好地解释本专利技术的原理和实际应用,使所属
的普通技术人员能够 明了,本专利技术可以有适合所要的特定用途的具有各种改变的各种实施方式。图1显示了适于用来实现本公开实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括CPU(中央处理单元)101、RAM(随机存取存储器)102、 ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器 107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部 设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU IOU RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。 硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串 行接口控制器107耦合,并行外部设备113与并行本文档来自技高网
...

【技术保护点】
一种用于提取SOA系统的组件交互规则的方法,包括:获取SOA系统的多个交互数据对象的值;获取SOA系统的结构单元;在结构单元与交互数据对象的值之间建立关联关系;以及根据关联关系产生组件交互规则。

【技术特征摘要】
1.一种用于提取SOA系统的组件交互规则的方法,包括 获取SOA系统的多个交互数据对象的值; 获取SOA系统的结构单元; 在结构单元与交互数据对象的值之间建立关联关系;以及 根据关联关系产生组件交互规则。2.根据权利要求1的方法,其中相对于结构单元,关联关系包括 交互数据对象的值作为结构单元的输入;或 交互数据对象的值作为结构单元的输出。3.根据权利要求2的方法,其中相对于结构单元,关联关系还包括 作为结构单元的输入的交互数据对象的值与作为结构单元的输出的交互数据对象的值之间与结构单元的对应关系。4.根据权利要求1、2或3的方法,其中根据关联关系产生组件交互规则包括 确定组件交互规则的条件; 确定组件交互规则的动作;以及 根据关联关系将组件交互规则的条件和组件交互规则的动作连接以产生组件交互规则。5.根据权利要求4的方法,其中将作为结构单元输入的多个交互数据对象的值进行内容比较确定组件交互规则的条件。6.根据权利要求4的方法,其中将作为结构单元输入的交互数据对象的值和作为同一结构单元输出的交互数据对象的值进行内容比较确定组件交互规则的条件和/或组件交互规则的动作。7.根据权利要求1的方法,进一步包括 删除冗余的组件交互规则。8.根据权利要求1的方法,进一步包括 根据关联关系过滤产生的组件交互规则。9.根据权利要求1的方法,其中交互数据对象的值是用XML描述的。10.一种用于提取SOA系统的组件交互规则的系统,包...

【专利技术属性】
技术研发人员:刘昕鹏王雪何蕾王越伍蔚晴
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1