实现消息安全处理的服务网关及方法

文档序号:7652140阅读:194来源:国知局
专利名称:实现消息安全处理的服务网关及方法
技术领域
本发明涉及一种服务网关,尤其是一种应用在服务网格环境中的服务网关,以及一种消息安全处理方法,能够完成消息端到端的安全性传送,实现移动终端无缝访问网格中的服务资源。
背景技术
近年来,面向服务的计算和网格技术飞速发展,基于超文本信息系统(以下简称Web)服务技术的服务网格代表了网格技术发展的最新阶段,它利用Web服务技术的开放性、标准化和统一的功能扩展机制,服务网格技术较好地解决了网格应用间的互操作问题,使网格技术在电子商务、电子政务等诸多方面得到进一步地应用。
在安全性方面,由于服务网格环境所固有的分布性、异构性、自治性和动态性,服务资源具有既分散又聚合的特点,导致了它与以往的系统相比,存在着一系列新的安全问题,这些安全问题包含多个方面,其中,随着移动终端的广泛应用,如何解决移动节点安全有效地访问网格中的服务资源成为关键,以下3个方面不足急待解决1.移动终端的资源限制移动终端的计算能力和存储能力不足,难以执行加密,签字等计算量大的安全操作;2.网格节点的动态性网格节点动态地加入、退出使得某些网格服务访问点存在失效问题;3.安全机制异构性服务网格中采用面向服务的安全机制,而移动终端系统通常只支持轻量级安全认证,如何实现安全连接和无缝安全访问,以及安全地调用部署在不同的服务容器中的网格服务。

发明内容
本发明的主要目的在于提供一种服务网关,尤其是一种应用在服务网格环境中的服务网关,还提供了一种基于所述服务网关的消息安全处理方法,能够完成消息端到端的安全性传送,实现移动终端无缝访问网格中的服务资源。
为此,本发明提供如下技术方案实现上述目的本发明提供了一种服务网关,包括消息拦截器,用于将截获到的用户请求消息和/或服务应答消息转发给安全处理模块,并将安全处理模块返回的经过安全处理的消息发送给消息转发模块;安全处理模块,与消息拦截器连接,用于对消息拦截器转发的消息进行安全处理,并向消息拦截器返回经过安全处理的消息;消息转发模块,与消息拦截器连接,用于向网格服务器转发经过安全处理的消息。
本发明还提供了一种基于所述服务网关的消息安全处理方法,包括拦截消息,并将所述消息封装在消息上下文中的步骤;对所述消息安全处理的步骤;对所述消息转发的步骤。
本发明在网格用户和网格服务之间引入服务网关,实际的网格服务以虚拟服务的形式部署在服务网关上,由服务网关将用户的服务请求转发给实际的网格服务提供者,而在服务网关和网格服务提供者之间可以提供消息级别端到端的安全性,实现移动终端无缝访问网格中的服务资源。同时为了提高服务的性能,采用多服务映射的方式。在这种工作模式下,同一个网格服务可以由多个节点提供,当服务网关收到服务请求时,网关根据调度算法选择服务节点,可以实现一定程度的负载均衡,从而提高服务性能,缩短服务的平均响应时间,该服务网关有以下优点1.为计算能力和存储能力弱的移动节点完成加密、签字等计算量大的安全操作;
2.网格节点动态地加入、退出时有效地调用可用的网格服务;3.将Web服务安全处理功能独立运行,支持对部署在多种服务容器中的网格服务的调用以及调用中的安全保护。
下面结合附图和具体实施例进一步说明本发明的技术方案。


图1为本发明的服务网关结构图。
图2为本发明的服务网关的消息安全处理技术架构层次图。
图3为本发明的服务网关中的消息安全处理模块结构图。
图4为本发明的服务网关中的安全处理链结构图。
图5为本发明的服务网关中的基于PKI的加密/签字链接点工作原理图。
图6为本发明的服务网关中的消息转发模块结构图。
图7为本发明的基于服务网关的消息处理流程图。
图8为本发明的基于服务网关的普通SOAP报文的处理流程图。
图9为本发明的基于服务网关的具有状态的网格服务的处理流程图。
图10为本发明的基于服务网关的资源更新流程图。
图11为本发明的基于服务网关的订阅报文的处理流程图。
具体实施例方式
实施例一、如图1所示,服务网关包括消息拦截器、安全处理模块、消息转发模块。其中消息拦截器用于将截获到的用户请求消息和/或服务应答消息转发给安全处理模块,并将安全处理模块返回的经过安全处理的消息发送给消息转发模块;消息拦截器将拦截到的消息连同相关信息封装在消息上下文中传给安全处理模块,待链式安全处理完成之后,接收处理结果,并根据最终的处理结果来决定是否让服务网关继续其正常的消息处理;安全处理模块与消息拦截器连接,用于对消息拦截器转发的消息进行安全处理,并向消息拦截器返回经过安全处理的消息;消息转发模块与消息拦截器连接,用于向网格服务器转发经过安全处理的消息。
服务网关上部署着实际网格服务提供者的地址及相关描述信息,服务网关部署的这种服务被称为虚拟服务。服务网关在网格服务调用过程中充当服务代理,具备双重角色。从客户端角度看,服务网关是虚拟服务提供者;从网格服务提供者角度看,服务网关是虚拟客户端。工作时,服务网关接收客户端发送的服务请求,以虚拟客户端角色调用实际网格服务提供者,再以虚拟服务提供者角色将接收到的服务响应返回给实际客户端。
简单对象访问协议(Simple Object Access Protocol;以下简称SOAP)是Web服务体系中服务交互的基础协议,它可以与任意的网络传输协议联合使用完成信息传输,便可能导致服务请求者使用的传输协议与服务提供者支持的传输协议不匹配,需要服务网关完成不同传输协议间的转换,使得服务可以通过多种协议进行访问。服务网关根据节点的负载情况,从一组提供相同服务的节点中选择负载较小的节点作为目标节点,以提高服务的性能,降低平均响应时间。使用服务网关管理集群时,集群中所有节点服务通常有一致的安全策略,这样管理员可以在服务网关统一配置安全策略,而不必为每个节点单独配置安全策略,大大降低管理员的工作量。
实施例二、基于实施例一,从技术架构层面上,将安全处理模块划分为四个层次,自底向上分别为插件层1、控制层2、策略层3和管理层4,如图2所示。
各层的职责如下1.插件层,在服务网关中安放插件以截获用户请求和服务应答的消息,实现对服务访问的安全控制。
2.控制层,实现具体的安全控制。安全处理模块所支持的安全控制主要是通信安全。由于应用的安全需求是多种多样的,安全处理模块采用了开放、可配置的链式结构,在安全模块的运行时组织上提供进一步的灵活性。
3.策略层,根据应用的需求定制各种通信安全策略,从而使服务网关“随需而变”地提供安全功能而不必更改原有代码或结构。服务网关采用WS-Policy作为通信安全策略描述语言。
4.管理层,该层解决通信安全策略和配置的管理问题,为用户提供可视化管理工具。
如图3所示,安全处理模块包括定位构造子模块,用于根据消息拦截器发送的消息定位安全配置文件,并构造安全处理链;配置解析子模块与定位构造子模块相连,用于解析安全配置文件配置安全处理链,并负责维护所有的安全处理链,如安全处理链的构造与销毁等;还包括安全处理子模块与配置解析子模块相连,用于对接收到的消息进行安全处理,并转发经过安全处理的消息。所述的定位构造子模块包括安全配置文件,该安全配置文件中存有预设的安全配置信息。
安全处理模块的核心结构是可配置的安全处理链,安全处理链中每个处理器(以下简称handler)负责完成特定的安全控制功能,服务网关管理员可以通过配置安全处理链定制对传输过程中SOAP消息的安全保护,定制的结果即安全配置信息保存在安全配置文件中;除安全处理链的组成结构之外,配置信息还包括特定于各个处理器的信息,如所使用的安全策略策略文件的位置或者私钥、证书的类型和存储位置等。安全处理可以划归为独立的功能实体,但是需要在彼此之间提供一定的共享信息,并且存在特定的处理顺序。因此,将安全处理归结为一个顺序的线性处理过程,进而设计了链式处理结构来描述这个线性的处理过程;在链式处理结构中,每个相对独立的处理过程都被封装到具有统一调用接口的链接点中,从而能够在各个接口之间提供消息上下文作为节点之间信息共享的载体,并可定制各个节点在链式结构中的位置以表达特定的处理流程。安全处理链包括用于处理用户请求消息的安全处理链和/或用于处理服务应答消息的安全处理链,安全处理链中的链接点具体包括认证链接点、加密/签字链接点、解密/验证链接点、信任证管理服务链接点(CredentialManagement Service;以下简称CredMan链接点)、身份映射与信任证转换服务链接点(Credential Federation Service;以下简称CredFed链接点),如图4所示。
实施例三、基于实施例二,SOAP规范中规定了如何对消息进行签字。签字的任意数字内容称为数据对象。数据对象的签字结果加上数字签名信息以可扩展标志语言(eXtensible Markup Language;以下简称XML)元素的形式存放在文档中,称为签字元素。签字元素由XML元素“Signature”表示。SOAP规范中也规定了如何对消息进行加密。被加密的数据内容同样称为数据对象。数据对象被加密后的加密结果和加密信息以XML元素的形式存放在文档中,称为加密元素,如果对普通数据对象加密,加密元素为“EncryptedData”,如果对密钥加密,加密元素为“EncryptedKey”。参考WS-Security规范的相关规定,通过对消息的使用基于XML数字签名技术,保证SOAP消息的完整性、真实性和不可否认性。消息的加密应该采用XML加密技术,实现SOAP消息的加密传输及安全的密钥传输。服务请求者在生成请求消息时,首先要对消息中的敏感信息,即需要被保护、不能泄漏的信息进行加密,然后对整个消息进行XML数字签名。而网格服务接收到请求消息后,先对签字进行验证,如果验证成功,再进行解密获得所需信息。如果验证不成功,说明消息被篡改或签字密钥不正确。所有签字和加密的相关信息根据规范都封装在SOAP消息头的安全扩展元素“Security”中。
基本安全处理遵循WS-Security规范,只能实现网关和另一个网关或服务器之间的安全保护,客户端和网关之间是没有任何安全的。安全处理模块通过在客户端和网关之间使用轻量级的安全保护,如用户名和密码认证,计算量很小,在安全处理链中加入CredMan处理器,这个处理器使用认证后的客户端在网关配置的用户名/密码从CredMan服务取回用户的代理信任证,网关再使用此代理信任证和另一个网关或服务器之间实现支持WS-Security的全功能的安全保护。与CredMan服务结合的安全处理兼顾移动节点计算能力弱的缺陷,并在客户端和网关之间具备一定的安全性。当基于可信第三方的认证(以下简称Kerberos)域的客户端访问公开密钥体系(Public Key Infrastructure;以下简称PKI)域的服务器,或者PKI域的客户端访问Kerberos域的服务器,会出现身份映射和联盟的问题。在安全处理链中加入CredFed处理器,该处理器访问CredFed服务实现在线的身份映射和信任证的转换。与CredFed服务结合的安全处理可以在不修改客户端和服务器任何代码的情况下,在网关实现身份联盟。
实施例四、基于实施例二,配置在安全处理链中的加密/签字链节点,解密/验证链节点用于对网格服务的请求和应答消息进行细粒度的加密/解密、签字/验证,实现消息级的安全。图5以基于公钥基础设施(Public Key Infrastructure;以下简称PKI)的请求消息处理为例说明加密/签字链接点的工作原理。
WS-Policy提供了一种灵活且可扩展的语法,用于表达基于XML Web服务的系统中实体的功能、要求和一般特性。它定义了一个框架和一个模型,用于将这些属性表达为策略,策略定义为一组策略替换选项,其中每个策略替换选项又是一组策略断言。使用WS-Policy策略语言制定相应的XML格式的安全策略来实现对SOAP消息进行签字或加密。生成的策略被存放到相应的XML文件中,在发送SOAP消息时,会根据策略文件的内容来实施相应的安全措施。由于移动节点计算能力和存储能力的限制,采用用户名/密码方式进行身份验证。用户在向网关发送的请求消息头中添加了用户名安全令牌,认证链节点负责对用户名安全令牌进行验证。加密链节点负责根据安全策略文件中的配置,对所需要加密的SOAP消息元素进行加密操作。签字链节点负责根据安全策略文件中的配置,对所需要签字的SOAP消息元素进行签字操作。WS-Security规范提出了一套标准的SOAP安全扩展方法,通过对消息的加密、数字签名以及认证,保证了消息端到端的安全传输。WS-Security规范允许通过发送方和接收方共享的对称密钥或消息中带有的加密形式的密钥,对消息主体块、报头块、任意子结构和附件的组合进行加密,其中加密部分和加密算法在安全策略文件中指定。签字链接点有两种签字模式使用网关自身的X.509普通证书和对应的私钥对SOAP消息进行签字、通过访问信任证管理服务获得用户的代理信任证对SOAP消息进行签字,其中签字算法和签字部分在安全策略文件中指定。解密链节点负责对消息进行解密。验证链节点负责根据消息签字模式相应的进行签字验证。
实施例五、基于实施例一,如图6所示,消息转发模块包括SOAP报文解析子模块,用于解析接收的SOAP报文消息;目标服务器选择子模块与SOAP报文解析子模块连接,用于选择目标网格服务器;地址改写子模块与目标服务器选择子模块连接,用于改写服务网关地址;转发子模块与地址改写子模块连接,用于消息的转发;服务注册表与目标服务器选择子模块连接,用于存储网格服务器地址;服务注册更新子模块与服务注册表连接,用于更新服务注册表;资源映射表与目标服务器选择子模块连接,用于对应资源实例ID和实例所在的网格服务器;资源映射更新子模块与资源映射表连接,用于更新资源映射表;侦听子模块与SOAP报文解析子模块、地址改写子模块连接,用于获取网关的侦听地址;其中SOAP报文解析子模块具体包括SOAP报文解析器。
由于网格服务的有状态性,消息转发模块需要维护一张资源映射表,以实现服务网关对网格服务请求的转发;同时,服务网关采用多服务映射的方式,消息转发模块可以根据配置的转发策略选择目标服务节点进行转发,实现一定程度的负载均衡。
网格容器提供对服务资源框架(Web Services Resource Framework;以下简称WSRF)规范和WS-Notification规范的支持,因此消息转发引擎需要提供对WSRF规范和对订阅/通知机制的支持。
Web服务寻址(以下简称WS-Addressing)提供了多种机制对Web服务和消息进行寻址。具体来说,此规范定义XML元素以标识Web服务终结点,并保护消息中的端到端终结点标识。规范允许消息处理系统支持通过网络(包含处理节点)以一种与传输无关的方式进行消息处理,而这些处理节点可以是终结点管理器、防火墙和网关。WS-Addressing定义了两种结构,它们传达的信息一般由传输协议和消息处理系统以一种可互操作的方式提供,这些结构将该底层信息规格化为一种统一的格式,而对这种格式的处理可以独立于传输或应用程序,这两种结构就是终结点引用和消息信息标头。
Web服务终结点是一个可引用的实体、处理器或可以作为Web服务消息目标的资源。终结点引用传达了标识/引用一个Web服务终结点所需的信息,它的使用方式可以有多种终结点引用适用于传达访问Web服务终结点所需的信息,但也可为在Web服务间往返的各条消息提供地址。为了处理上一种使用情况,规范定义了一系列消息信息标头,以允许对与底层传输无关的消息进行统一寻址。这些消息信息标头传递端到端的消息特性,包括对源终结点和目标终结点以及消息标识进行寻址。
对于要在这种多传输情况下发送和寻址的消息来说,要让关键的消息传递属性为多个传输所携带,就需要一种共用机制。为此,WS-Addressing规范定义了3组SOAP Header块“Action Header”块用于说明消息的预期处理,该Header块包含一个资源标志符(Universal Resource Identifier;以下简称URI),最终接收者通常用它来分派要进行处理的消息。“MessageID和RelatesToHeader”块用于识别和关联消息。“MessageID和RelatesTo header”使用简单的URI来唯一地识别消息,这些URI通常都是瞬态的UUID。“To/ReplyTo/FaultTo Header”块用于识别要处理消息及其回复的代理,这些Header依赖于WS-Addressing所定义的称为“端点引用”的结构,它将与对SOAP消息进行正确寻址所需的信息捆绑在一起。端点引用是WS-Addressing的最重要的方面,因为与仅使用URI相比,它们可为更细粒度的寻址提供支持。它们广泛用于整个Web服务架构。端点引用包含3条关键的信息基地址、可选的引用属性集和引用参数。基地址是一个URI,用于识别端点,出现在指向该端点的每一SOAP消息中的“To Header”块中。引用属性和引用参数是用于为该消息提供附加发送或处理信息以补充基地址的任意XML元素的集合,它们以文字Header元素来表示。当使用端点引用来构建端点消息时,发送者负责提供作为Header块的所有引用属性和引用参数。
引用属性和引用参数之间的区别在于它们如何关联服务元数据。Web服务策略和契约仅基于其基地址和引用属性。通常,基地址和引用属性用于识别某一给定的已部署服务,引用参数用于识别该服务所管理的特定资源。基于WS-Addressing的SOAP消息转发流程为步骤1.SOAP客户端在发送消息中指定“AddressingHeader”,并将消息发送给网关;步骤2.网关检查SOAP消息头部的“WSAto”,如果服务不存在,就给“WSAreplyTo/faultTo”通知服务不存在信息;步骤3.网关重写SOAP消息的“WSAto/replyTo”,并将消息发送给实际的服务(可以根据调度算法从多个服务提供者中选择目标服务节点,实现负载均衡);步骤4.网关接收服务响应;步骤5.网关重写SOAP响应消息的“WSAto/replyTo”,并把响应返回给客户端。
实施例六、基于实施例一,本发明所涉及的服务网关还包括配置文件管理模块,与安全处理模块连接,用于提供可视化界面,服务网关管理员可使用此可视化工具制定安全配置,对服务网关的行为进行定制。
实施例七、如图7所示,一种基于服务网关的消息安全处理方法,包括拦截消息,并将消息封装在消息上下文中的步骤;对消息进行安全处理的步骤;对消息进行转发的步骤。对消息进行安全处理的步骤具体包括根据消息上下文中的信息定位服务所用的安全配置文件,并根据所述的安全配置文件构造配置解析对象;解析安全配置文件,初始化安全处理链;根据安全处理链中的安全处理器对消息进行安全处理并转发给消息拦截器。一种基于服务网关的消息处理方法还包括配置文件管理的步骤。
实施例八、基于实施例七,请求消息包括普通的SOAP报文和具有状态的网格服务两种,而订阅报文又是一种特殊的具有状态的网格服务,因此服务网关采用不同的方法进行转发。
如图8所示,普通SOAP报文的转发方法具体包括经SOAP报文解析子模块判断为普通SOAP报文后,根据转发策略从服务注册表中选择目标网格服务器;然后将服务网关地址改写为目标网格服务器地址,并就消息转发给目标网格服务器;当目标网格服务器返回结果给服务网关,服务网关将其地址改回为初始服务网关地址;最后服务网关将结果返回给客户端。
实施例九、基于实施例七,如图9所示,具有状态的网格服务的转发方法具体包括如下步骤事先解析SOAP报文,得到请求消息需要的资源实例ID;然后资源列表中存在资源实例ID则在资源列表中查找资源实例ID对应的目标服务器的地址;若资源列表中不存在资源实例ID则根据转发策略从服务注册表中选择目标服务器地址;接着将服务网关地址改写为目标服务器地址,并将消息转发给目标网格服务器;当目标网格服务器返回结果给服务网关,服务网关将其地址改回为初始服务网关地址;最后服务网关将结果返回给客户端。
因为网格服务使用的是有状态的网格资源,所以需要把对同一个资源实例的请求调度到同一台网格服务器上。这样,服务网关就需要维护一张资源映射表,在这个映射表中把资源实例ID和该实例所在的网格服务器对应起来。当服务网关接收到网格服务请求后,首先在映射表中查询客户端请求需要的资源实例ID是否已经存在,如果存在,则把调度目标服务器设定为映射表中记录的服务器地址。如果不存在,服务网关则根据预先设置的调度策略在内部网格服务器中选择一个服务器作为调度目标服务器。然后,服务网关把服务请求的目的地址改写为调度目标服务器的地址,并完成服务请求的转发。目标服务器具体处理服务请求,如果需要创建新的资源实例,服务器则需要向服务网关报告新创建的资源实例的ID和服务器的地址,更新服务网关上的资源映射表,如图10所示。如果需要销毁资源实例,服务器则需要向服务网关报告销毁的资源实例ID,使得服务网关删除该资源实例ID在资源映射表中对应的条目。
服务网关调度服务请求的方法有多种随机算法、轮循算法、带权重的随机算法、带权重的轮循算法、基于负载状况的算法等。
实施例十、基于实施例七,如图11所示,订阅报文的转发方法具体包括如下步骤经SOAP报文解析子模块判断为订阅报文后,在资源列表中查找资源实例ID对应的目标服务器的地址;然后启动侦听子模块获取服务网关的侦听地址,并把订阅报文中的回调地址修改为服务网关的侦听地址;再把订阅报文转发给目标网格服务器;当网格资源状态发生变化时,目标网格服务器返回结果给服务网关;最后服务网关将结果返回给客户端。
网格服务可以作为事件通知源,网格用户通过对网格服务的订阅,当网格服务维护的网格资源状态发生改变时,就向网格用户发送一条通知消息。由于服务网关的引入,服务网关一方面作为虚拟的网格服务充当事件通知源,另一方面作为虚拟的网格用户充当订阅者。这样当网关接受到来自网格用户的订阅报文时,网关需要启动侦听子模块,并把订阅报文中的回调地址修改为网关的侦听地址,再把订阅报文转发给目标网格服务器;当网关的侦听模块接收到目标网格服务器的回调之后,把回调返回给网格用户。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种服务网关,其特征在于包括消息拦截器,用于将截获到的消息转发给安全处理模块,并将安全处理模块返回的经过安全处理的消息发送给消息转发模块;安全处理模块,与消息拦截器连接,用于对消息拦截器转发的消息进行安全处理,并向消息拦截器返回经过安全处理的消息;消息转发模块,与消息拦截器连接,用于向网格服务器转发经过安全处理的消息。
2.根据权利要求1所述的服务网关,其特征在于所述的消息拦截器为用于拦截用户请求消息的消息拦截器和/或用于拦截服务应答消息的消息拦截器。
3.根据权利要求1所述的服务网关,其特征在于所述的安全处理模块包括定位构造子模块,用于根据消息拦截器发送的消息定位安全配置文件,并构造并初始化解析对象;配置解析子模块,与定位构造子模块相连,用于解析安全配置文件配置解析对象,并维护解析对象;安全处理子模块,与配置解析子模块相连,用于对接收到的消息进行安全处理,并转发经过安全处理的消息。
4.根据权利要求3所述的服务网关,其特征在于所述的定位构造子模块具体包括安全配置文件,所述的安全配置文件中存有预设的安全配置信息。
5.根据权利要求3所述的服务网关,其特征在于所述的解析对象为用于处理用户请求消息的安全处理链和/或处理服务应答消息的安全处理链。
6.根据权利要求5所述的服务网关,其特征在于所述的安全处理链具体包括认证链接点、加密/签字链接点、解密/验证链接点、CredMan链接点、CredFed链接点。
7.根据权利要求1所述的服务网关,其特征在于所述的消息转发模块包括SOAP报文解析子模块,用于解析接收的SOAP报文消息;目标服务器选择子模块,与SOAP报文解析子模块连接,用于选择目标网格服务器;地址改写子模块,与目标服务器选择子模块连接,用于改写服务网关地址;转发子模块,与地址改写予模块连接,用于消息的转发;服务注册表,与目标服务器选择子模块连接,用于存储网格服务器地址;服务注册更新子模块,与服务注册表连接,用于更新服务注册表;资源映射表,与目标服务器选择子模块连接,用于对应资源实例ID和实例所在的网格服务器;资源映射更新子模块,与资源映射表连接,用于更新资源映射表;侦听子模块,与SOAP报文解析子模块、地址改写子模块连接,用于获取网关的侦听地址。
8.根据权利要求7所述的服务网关,其特征在于所述的SOAP报文解析子模块具体包括SOAP报文解析器。
9.根据权利要求1至8中所述任一服务网关,其特征在于还包括配置文件管理模块,与安全处理模块连接,用于提供可视化界面。
10.一种的消息安全处理方法,其特征在于包括拦截消息,并将所述消息封装在消息上下文中的步骤;对所述消息安全处理的步骤;对所述消息进行转发的步骤。
11.根据权利要求10所述的消息处理方法,其特征在于所述的消息安全处理的步骤具体包括根据消息上下文中的信息定位服务所用的安全配置文件,并根据所述的安全配置文件构造配置解析对象的步骤;解析安全配置文件,初始化安全处理链的步骤;根据安全处理链中的安全处理器对消息进行安全处理并转发给消息拦截器的步骤。
12.根据权利要求10所述的消息处理方法,其特征在于所述的消息转发的步骤为转发普通SOAP报文的步骤,具体包括经SOAP报文解析子模块判断为普通SOAP报文后,根据转发策略从服务注册表中选择目标网格服务器的步骤;将服务网关地址改写为目标网格服务器地址,并将消息转发给目标网格服务器的步骤;目标网格服务器返回结果给服务网关,服务网关将其地址改回为初始服务网关地址的步骤;服务网关将结果返回给客户端的步骤。
13.根据权利要求10所述的消息处理方法,其特征在于所述的消息转发的步骤为转发具有状态的网格服务的步骤,具体包括解析SOAP报文,得到请求消息需要的资源实例ID的步骤;资源列表中存在资源实例ID则在资源列表中查找资源实例ID对应的目标服务器的地址的步骤;资源列表中不存在资源实例ID则根据转发策略从服务注册表中选择目标服务器地址的步骤;将服务网关地址改写为目标服务器地址,并将消息转发给目标网格服务器的步骤;目标网格服务器返回结果给服务网关,服务网关将其地址改回为初始服务网关地址的步骤;服务网关将结果返回给客户端的步骤。
14.根据权利要求10所述的消息处理方法,其特征在于所述的消息转发的步骤为转发订阅报文的步骤,具体包括经SOAP报文解析子模块判断为订阅报文后,在资源列表中查找资源实例ID对应的目标服务器的地址的步骤;启动侦听子模块获取服务网关的侦听地址的步骤;把订阅报文中的回调地址修改为服务网关的侦听地址的步骤;把订阅报文转发给目标网格服务器的步骤;当网格资源状态发生变化时,目标网格服务器返回结果给服务网关的步骤;服务网关将结果返回给客户端的步骤。
15.根据权利要求10至14所述的任一消息处理方法,其特征在于还包括配置文件管理的步骤。
全文摘要
本发明涉及一种服务网关,包括消息拦截器,用于将截获到的用户请求消息和/或服务应答消息转发给安全处理模块,并将安全处理模块返回的经过安全处理的消息发送给消息转发模块;安全处理模块,与消息拦截器连接,用于对消息拦截器转发的消息进行安全处理,并向消息拦截器返回经过安全处理的消息;消息转发模块,与消息拦截器连接,用于向网格服务器转发经过安全处理的消息。本发明还涉及一种基于所述网关的消息处理方法,包括拦截消息,并将消息封装在消息上下文中的步骤;消息安全处理的步骤;消息转发的步骤。本发明能够完成消息端到端的安全性传送,实现移动终端无缝访问网格中的服务资源。
文档编号H04L12/58GK101043478SQ20071009858
公开日2007年9月26日 申请日期2007年4月20日 优先权日2007年4月20日
发明者李先贤, 刘小佩, 李沁 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1