网络服务代理方法与流程

文档序号:12662278阅读:512来源:国知局
网络服务代理方法与流程
本发明涉及一种网络服务代理方法。

背景技术:
网络服务(Webservice)平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,网络服务(Webservice)平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。目前这些协议有:可扩展标记语言(ExtensibleMarkupLanguage,XML)是标准通用标记语言(StandardGeneralizedMarkupLanguage,SGML)的一种。XML简单易用,是当前处理结构化文档信息的有力工具。XML具有跨平台的特性,是一种依赖于内容的技术,这使得XML为越来越多的应用程序所支持,成为了应用程序之间数据交换的唯一公共语言。简单对象访问协议(SimpleObjectAccessProtocol,SOAP),一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是超文本转移协议(HTTP-Hypertexttransferprotocol,HTTP)或超文本传输安全协议(HypertextTransferProtocoloverSecureSocketLayer,HTTPS),但也可能是简单邮件传输协议(SimpleMailTransferProtocol,SMTP)或可扩展通讯和表示协议(TheExtensibleMessagingandPresenceProtocol,XMPP)。网络服务描述语言,(WebServicesDescriptionLanguage,WSDL),一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。由于网络服务(Webservice)良好的跨平台性,因而在企业内部会使用大量的网络服务(Webservice)将内部的功能发布供访问。单个企业网络服务(Webservice)形成一个个信息孤岛。随着企业的发展变化,某个内部使用的网络服务(Webservice)要被外部访问,因此有必要提供一种方法解决信息孤岛问题。

技术实现要素:
针对现有技术存在的缺陷,本发明的目的在于提供一种解决信息孤岛问题的方法。为解决以上技术问题,本发明提供的技术方案是,一种网络服务代理方法,其特征在于:所述网络服务代理方法包括以下步骤:(1)提供网络服务(WebService)适配器发布ESB信息时所需的WSDL文件,以及ESB调用企业已存在的网络服务(WebService)所需要的WSDL文件或者地址;(2)网络服务(WebService)适配器利用SOAPUI工具根据WSDL文件或者地址生成消息模板;(3)企业服务总线ESB形成ESB消息格式转换的XSL映射文件;(4)网络服务(WebService)适配器的发布节点发布ESB信息;(5)Jetty(一种Servlet引擎)作为发布服务的应用服务器,监听网络服务(WebService)的发布节点的地址;(6)企业服务总线ESB的中介器的处理节点读取消息格式转换的XSL映射文件,将标准ESB消息进行数据格式转换,并发送到内部网络服务(WebService)适配器的调用节点;(7)内部网络服务(WebService)适配器的调用节点收到经过格式转换的ESB消息后,提取出数据,然后再根据SOAP请求消息模板,动态组装出标准SOAP请求消息;(8)内部网络服务(WebService)的适配器的调用节点利用HttpClient将标准SOAP请求消息作为POST请求数据发送给内部网络服务(WebService)并接收响应;(9)内部网络服务(WebService)接受标准SOAP请求消息并作出响应;(10)内部网络服务(WebService)适配器的调用节点将响应封装成标准的ESB消息。为了标识消息的来源,消息使用唯一的响应ID,将该消息发送到下一个节点;(11)企业服务总线ESB的中介器的处理节点读取ESB消息的XSL映射文件,进行数据格式的转换或者聚合,然后将数据发送到网络服务(WebService)的适配器的发布节点;(12)网络服务(WebService)的适配器的发布节点收到来自ESB的响应消息后,提取出数据以及响应ID,根据响应ID唤醒睡眠处理线程并将响应数据传递给睡眠处理线程。优选的,所述企业服务总线ESB中需要根据ESB消息的流动方向生成ESB消息格式转换的XSL映射文件。优选的,所述ESB消息格式转换的初始点为来源消息,ESB消息的终端点为目标信息,企业服务总线ESB根据SOAP请求消息模板、SOAP响应消息模板生成ESB消息格式转换的XSL映射文件。优选的,针对服务代理功能,所述ESB消息从发布到调用过程中,源消息为发布节点SOAP请求消息模板;目的消息为调用节点的SOAP请求消息模板;从调用到发布过程中,源消息为调用节点的SOAP响应模板。目的消息是发布节点的SOAP响应模板。优选的,针对服务组合,所述ESB消息从发布到调用过程中,源消息为发布节点的SOAP请求消息模板;目的消息为调用节点的SOAP请求消息模板;从调用到发布过程中,源消息是多个调用节点的SOAP响应消息模板的合成消息。目的消息是发布节点的SOAP响应消息模板。与现有技术相比,本发明至少具有如下技术效果:本发明通过上述网络服务代理方法解决了信息孤岛问题。附图说明图1为本发明网络服务代理方法的ESB流程图。图2为企业服务总线Web服务组合流程图。图3为企业服务总线Web服务组合和代理过程示意图。图4为SOAP请求消息转换示意图。图5为SOAP响应消息转换或聚合示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。参见图1~图5,示出本发明一个实施例。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。参见图1~图5,示出本发明一个实施例。企业服务总线(EnterpriseServiceBus,ESB)作为面向服务体系架构(ServiceOrientedArchitecture,SOA)的核心框架,是企业异构应用交互的基础平台。企业服务总线ESB具有高效、全面、灵活的特性,是解决信息孤岛的有效手段。企业服务总线ESB主要提供服务或应用的接入、服务或应用消息的路由、消息的转换、以及消息安全可靠地传递。企业服务总线ESB在实现服务或异构系统间可靠交互的同时,保持它们的松散耦合关系。企业服务总线ESB的定义可以理解为:由中间技术实现并支持面向服务体系架构SOA的一种基础架构,支持异构环境中的服务、消息以及事件的交互,并且具有适当的服务级别和管理性。企业服务总线ESB可以实现应用系统的快速接入。企业服务总线ESB具有高级的事件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来。同时,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。企业服务总线ESB中具有多种功能的节点,例如用于发布、调用、处理等各种动作的节点。企业服务总线ESB包括网络服务(WebService)适配器和中介器。本发明提供一种网络服务代理方法包括以下步骤:(1)提供网络服务(WebService)适配器发布ESB信息时所需的WSDL文件,以及ESB调用企业已存在的网络服务(WebService)所需要的WSDL文件或者地址。(2)网络服务(WebService)适配器利用SOAPUI工具根据WSDL文件或者地址生成消息模板。消息模板包括SOAP请求消息模板、SOAP响应消息模板。(3)企业服务总线ESB形成ESB消息格式转换的XSL映射文件。由于企业服务总线ESB中的中介器处理的ESB消息格式不同,因此当ESB消息在不同中介器之间流动时,需要由企业服务总线ESB的中介器根据XSL映射文件中包含的映射关系对ESB消息的格式进行转换。企业服务总线ESB中需要根据ESB消息的流动方向生成ESB消息格式转换的XSL映射文件。ESB消息格式转换的初始点为来源消息,终端点为目标信息。企业服务总线ESB根据SOAP请求消息模板、SOAP响应消息模板生成ESB消息格式转换的XSL映射文件。针对服务代理功能,ESB消息从发布到调用过程中,源消息为发布节点SOAP请求消息模板。目的消息为调用节点的SOAP请求消息模板。从调用到发布过程中,源消息为调用节点的SOAP响应模板。目的消息是发布节点的SOAP响应模板。针对服务组合,从发布到调用的过程中,源消息为发布节点的SOAP请求消息模板。目的消息为调用节点的SOAP请求消息模板。从调用到发布过程中,源消息是多个调用节点的SOAP响应消息模板的合成消息。目的消息是发布节点的SOAP响应消息模板。(4)网络服务(WebService)适配器的发布节点发布ESB信息。(5)Jetty(一种Servlet引擎)作为发布服务的应用服务器,监听网络服务(WebService)的发布节点和地址。当Jetty应用服务器监听到来自外部的访问请求时,Jetty服务器新建处理线程,处理线程判断请求的类型。若请求类型是GET请求,则处理线程直接将WSDL文件作为响应消息体返回。若请求类型为POST请求,则处理线程提取出数据,并将数据封装成标准ESB消息。在分布式企业服务总线ESB中ESB消息是异步的,为标识消息的唯一来源,消息使用唯一的身份识别ID,然后发往下一个节点并睡眠等待响应。(6)企业服务总线ESB的中介器的处理节点读取ESB消息的XSL映射文件,将标准ESB消息进行数据格式转换,并发送到内部网络服务(WebService)的中介器的调用节点。(7)内部网络服务(WebService)适配器的调用节点收到经过格式转换的ESB消息后,提取出数据,然后再根据SOAP请求消息模板,动态组装出标准SOAP请求消息。(8)内部网络服务(WebService)适配器的调用节点利用HttpClient将标准SOAP请求消息作为POST请求数据发送给内部网络服务(WebService)并接收响应。(9)内部网络服务(WebService)接受标准SOAP请求消息并作出响应。(10)内部网络服务(WebService)适配器的调用节点将响应封装成标准的ESB消息。为了标识消息的来源,消息使用唯一的响应ID,将该消息发送到下一个节点。(11)企业服务总线ESB的中介器的处理节点读取ESB消息的XSL映射文件,进行数据格式的转换或者聚合,然后将数据发送到网络服务(WebService)的适配器的发布节点。(12)网络服务(WebService)的适配器的发布节点收到来自ESB的响应消息后,提取出数据以及响应ID,根据响应ID唤醒睡眠处理线程并将响应数据传递给睡眠处理线程。处理线程根据中的SOAP响应消息模板组装标准SOAP响应消息并将其返回给外部的服务调用者。本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1