【技术实现步骤摘要】
本专利技术涉及一种Web服务调用技术,尤其是涉及。
技术介绍
面向服务的体系结构(SOA, Service-Oriented Architecture)是一个组件模型,它将应用程序的不同功能单元(亦称之为服务)通过它们之间事先定义的良好的接口和契约联系起来。其中,接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,不依赖于环境,这使得构建在各种采用SOA模型的系统中的服务可以以一种统一和通用的方式进行交互。 Web服务是一种基于网络的新型组件模型,它通过WS*标准定义接口和契约,不依赖于任何语言,因而成为了 SOA的重要实现方式。 随着互联网技术的快速发展和Web服务应用的复杂化,Web服务带来的弊端逐渐被展现出来,人们开始认识到Web服务的局限性并且对Web服务提出了更高的要求。Web服务的实时绑定成为了迫切需要;Web服务调用的半自动化(即人为参与选择Web服务的服务提供者) 一直是面向服务应用的瓶颈所在;由服务提供者与服务请求者之间的绑定关系而导致的紧耦合性严重违背了 SOA的宗旨;Web服务日益庞大复杂,异步方式调用Web服务成为必然。 针对上述提出的要求和问题,相关研究人员提出了多种Web服务调用系统或框架,然而这些Web服务调用系统或框架的缺陷也大都显而易见,主要表现在 (1)、目前的Web服务调用系统或框架只克服了由于服务请求者与服务提供者之间的绑定关系而引起的紧耦合性的部分问题,而没有全部克服,这样仍可能导致Web服务不可更改,不可升级。 (2)、其中一些Web服务调用系统或框架,主要是通过高级语言的反射机制实 ...
【技术保护点】
一种Web服务动态调用系统,包括服务请求者、UDDI服务注册中心和服务提供者,其特征在于还包括调用代理,所述的调用代理分别与所述的服务请求者、所述的UDDI服务注册中心及所述的服务提供者进行消息通信,所述的调用代理中设置有消息解析器、服务匹配器、服务调用器及结果处理器,所述的调用代理中建立有语义本体库,所述的语义本体库分别为所述的服务匹配器和所述的结果处理器提供语义匹配,所述的服务请求者发送服务请求消息给所述的消息解析器,所述的消息解析器解析服务请求消息,得到功能关键字、输入参数及需要的响应参数,所述的服务匹配器根据功能关键字从所述的UDDI服务注册中心中查找服务,获取Web服务序列及Web服务序列中各个Web服务对应的WSDL文件,所述的服务匹配器根据输入参数从Web服务序列中获取语义匹配度最优的Web服务对应的WSDL文件,所述的服务调用器发送由语义匹配度最优的Web服务对应的WSDL文件产生的服务请求消息给所述的服务提供者,并将所述的服务提供者根据接收到的服务请求消息返回的服务响应消息传递给所述的结果处理器,所述的结果处理器将该服务响应消息的格式转化为所述的服务请求者需要的响应参 ...
【技术特征摘要】
一种Web服务动态调用系统,包括服务请求者、UDDI服务注册中心和服务提供者,其特征在于还包括调用代理,所述的调用代理分别与所述的服务请求者、所述的UDDI服务注册中心及所述的服务提供者进行消息通信,所述的调用代理中设置有消息解析器、服务匹配器、服务调用器及结果处理器,所述的调用代理中建立有语义本体库,所述的语义本体库分别为所述的服务匹配器和所述的结果处理器提供语义匹配,所述的服务请求者发送服务请求消息给所述的消息解析器,所述的消息解析器解析服务请求消息,得到功能关键字、输入参数及需要的响应参数,所述的服务匹配器根据功能关键字从所述的UDDI服务注册中心中查找服务,获取Web服务序列及Web服务序列中各个Web服务对应的WSDL文件,所述的服务匹配器根据输入参数从Web服务序列中获取语义匹配度最优的Web服务对应的WSDL文件,所述的服务调用器发送由语义匹配度最优的Web服务对应的WSDL文件产生的服务请求消息给所述的服务提供者,并将所述的服务提供者根据接收到的服务请求消息返回的服务响应消息传递给所述的结果处理器,所述的结果处理器将该服务响应消息的格式转化为所述的服务请求者需要的响应参数的格式,并将格式转化后的服务响应消息发送给所述的服务请求者。2. 根据权利要求1所述的一种Web服务动态调用系统,其特征在于所述的服务调用器 中设置有用作缓冲机制的服务队列。3. 根据权利要求1或2所述的一种Web服务动态调用系统,其特征在于所述的调用 代理以SOAP和REST两种方式发布于Internet中,所述的服务请求者通过SOAP或者REST 方式向所述的调用代理发送服务请求消息,所述的调用代理获取语义匹配度最优的Web服 务,并根据该Web服务的类型,以SOAP或者REST方式异步地向所述的服务提供者发送相应 的服务请求消息。4. 一种Web服务动态调用方法,其特征在于包括以下步骤① 在传统的SOA三角架构模型基础上,引入调用代理服务,该调用代理分别与服务请 求者、UDDI服务注册中心和服务提供者进行消息通信,在该调用代理中设置消息解析器、服 务匹配器、服务调用器及结果处理器,在服务调用器中设置用作缓冲机制的服务队列;② 根据具体的服务领域,在该调用代理中建立语义本体库,语义本体库分别为服务匹 配器和结果处理器提供语义匹配;③ 服务请求者向调用代理发送服务请求消息,服务请求消息以XML格式封装,服务请 求消息包括功能关键字、输入参数及需要的响应参数;④ 调用代理接收来自服务请求者的服务请求消息,调用代理中的消息解析器解析服务 请求消息,得到功能关键字、输入参数及需要的响应参数,其中,输入参数与需要的响应参 数以XML文档树的形式存储;⑤ 服务匹配器根据消息解析器解析得到的功能关键字查询语义本体库,从语义本体 库中获取与该功能关键字的语义相近的所有词汇并选取前N个词汇,然后将选出的N个词 汇分别作为UDDI服务注册中心查找服务操作的查找关键字,并获取由UDDI服务注册中心 根据查找关键字查找得到的N个Web服务及各个Web服务分别对应的WSDL文件和对应的 tModeKey,服务匹配器再对获取的N个Web服务进行去冗余处理,得到Web服务序列; 计算Web服务序列中的各个Web服务与服务请求者发送的服务请求消息的语义匹配 度,然后从Web服务序列中选出语义匹配度最优的Web服务,并将语义匹配度最优的Web服务对应的WSDL文件传递给调用代理中的服务调用器;⑦ 服务调用器将语义匹配度最优的Web服务对应的WSDL文件产生的服务请求消息发 送给服务提供者,同时将产生的服务请求消息放入服务队列中,并监听服务提供者返回给 服务调用器的服务响应消息,再将监听到的服务响应消息传递给结果处理器;⑧ 结果处理器计算服务请求需要的响应参数与服务提供者返回的服务响应消息的语 义匹配度,当两者不匹配时,服务匹配器从Web服务序列中选出语义匹配度次优的Web服务 作为语义匹配度最优的Web服务,再向服务调用器传递语义匹配度最优的Web服务对应的 WSDL文件,并返回执行步骤⑦;当两者匹配时,结果处理器将服务响应消息的格式转化为 服务请求者需要的响应参数的格式,并将格式转化后的服务响应消息发送给服务请求者。5. 根据权利要求4所述的一种Web服务动态调用方法,其特征在于所述的步骤②中语 义本体库的建立过程为②-l、设置一个空的语义本体库,将功能关键字、所有输入参数及所有服务响应消息作 为语义本体库的基础词汇;②-2、定义两个词汇之间语义的相近程度为语义相近度,记为S,其取值范围为0 Smax,其中,0表示两个词汇之间的语义不相近,Smax表示两个词汇之间的语义完全匹配;基础 词汇两两之间的语义相近度S = 0 ;②-3、根据每个基础词汇建立对应的类别,将各个基础词汇分别作为其对应的类别中 的一个词汇,将与各个基础词汇语义相近的新词汇分别加入各个基础词汇各自所在的类别 中,同一类别中两个词汇之间的语义相近度S > O,不同类别中两个词...
【专利技术属性】
技术研发人员:干红华,姜建生,赵晨,俞弘,廖兰新,
申请(专利权)人:宁波东海蓝帆科技有限公司,
类型:发明
国别省市:97[中国|宁波]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。