CN101594283A - 基于代理的双向Web服务路由器网关 - Google Patents
基于代理的双向Web服务路由器网关 Download PDFInfo
- Publication number
- CN101594283A CN101594283A CNA2009102039170A CN200910203917A CN101594283A CN 101594283 A CN101594283 A CN 101594283A CN A2009102039170 A CNA2009102039170 A CN A2009102039170A CN 200910203917 A CN200910203917 A CN 200910203917A CN 101594283 A CN101594283 A CN 101594283A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- service
- gateway
- hub
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于提供双向web服务的***,该***支持客户端和服务器位于不同的企业域——在防火墙后面——对防火墙有很少的改变或没有改变。根据示例性实施例,在客户端请求双向服务并且服务器提供双向服务处的防火墙的后面部署“隧道网关”,在公共域中部署“隧道集线器”。每个隧道网关向外发起通过防火墙到目标集线器的安全隧道。此后,服务请求进入隧道网关,传播到隧道集线器,并到达提供服务的服务器所在的适当隧道网关。当服务器提供服务时,该服务进入隧道网关,传播到隧道集线器,并到达请求服务的客户端所在的适当隧道网关。基于代理的双向Web服务路由器网关。
Description
相关申请的交叉引用
本申请要求2008年5月27日提交的美国临时申请序列号61/056,261的优先权,通过引用将其全部内容并入本文。
技术领域
本申请一般地涉及电信,更具体地,涉及双向Web服务的提供。
背景技术
对于通信启用业务流程(“CEBP”)和软件即服务(“SaaS”)以及分布式的面向服务架构(“SOA”)解决方案来说,远程服务接入和分布式服务集成是关键的。缺少了它,web服务应用和SOA解决方案将会被网络地址转换/防火墙的企业域限制。
一种广泛使用的解决这个问题的方法要求企业改变并开放其网络的网络地址转换/防火墙配置,以使其web服务端点可公开访问,正如在单向web服务情境下常做的。然而,对于双向web服务来说,其需要将服务提供者和服务用户都暴露于外部公共网络。这给服务提供者和服务用户都带来了很大的风险。由于企业的安全架构可能是非常复杂的,甚至需要通过特别的努力才可行,所以这不是企业IT优选的。更重要的是,其无法支持通信启用业务流程的动态特性,在通信启用业务流程中将按需增添或删除许多服务。
另外,因为潜在的风险,暴露服务于公共网络通常需要很长的时间并且历经很多级的批准。随着服务和应用的数量增加,通过不变的网络地址转换/防火墙重新配置来支持动态的通信启用业务流程应用对企业IT的工作负荷和费用可能变得过高。
换句话说,一些中小型企业可能不具有基础设施和专业技术来宣传其web服务。要求这些企业使其应用可公开接入将会给企业带来显著的费用,并且最后阻止这些企业使用这些服务或排除这些服务成为通信启用业务流程解决方案的一部分。在很多情况下,客户端应用仅想要从特定源接收感兴趣的事件,而使事件接收方暴露于外部网络不仅是不必要的,而且还引入安全问题。总之,目前的方法不适合于双向web服务的主机(hosted)服务、管理服务或按需服务,对于通信启用业务流程、分布式SOA以及通信服务来说,双向web服务是关键的。
处理该问题的另一现有技术要求企业部署虚拟专用网(“VPN”)以连接相异网络。然而,VPN非常昂贵和复杂。此外,在很多情况下,VPN并不合适。例如,企业通常不允许其合作者、第三方或供应商直接通过VPN接入其内部企业网。
微软刚刚发布了其BizTalk连接***,其允许开发者创建松散耦合的应用,并使服务从防火墙或网络地址转换后面暴露于互联网(详情参见http://connect.biztalk.net/)。然而,这是依赖于平台和应用的解决方案,并要求具有.Net构架的特定版本的Windows平台。暴露的服务由微软管理。这对于应用来说不是透明的,而只有使用BizTalk的SDK的那些应用才能够被从外部网络访问。
发明内容
本发明能够提供双向Web服务,而没有现有技术中的一些费用和技术缺点。例如,示例性的实施例使位于不同企业域和不同防火墙后面的客户端和服务器能够请求和接收双向Web服务,而仅需对防火墙进行很少的改变或无需对其进行改变。这对于通信启用业务流程(“CEBP”)、软件即服务(“SaaS”)以及分布式的面向服务架构(”SOA”)解决方案是特别有利的。
根据示例性实施例,在公共域中配置“隧道集线器(tunnel hub)”,在客户端请求双向服务以及服务器提供双向服务处的防火墙的后面配置“隧道网关”。每个隧道网关向外发起经过防火墙到目标集线器的安全隧道。此后,对服务的请求进入隧道网关,传播到隧道集线器,并到达提供服务的服务器所在的适当隧道网关。当服务器提供服务时,该服务进入隧道网关,传播到隧道集线器,并到达请求该服务的客户端所在的适当隧道网关。因为所有的隧道从企业防火墙的后面发起,所以双向web服务能够穿越防火墙,而仅需对企业的网络地址转换/防火墙配置进行很少的改变或无需对其进行改变。
附图说明
图1示出了本发明示例性实施例的显要部件的示意图;
图2示出了隧道网关123-i(其中i∈{1,2,3})的显要部件的示意图;
图3示出了隧道集线器112的显要部件的示意图;
图4示出了与示例性实施例的操作相关的显要任务的流程图;
图5示出了在执行任务403-建立隧道的网络期间,由示例性实施例执行的显要任务的流程图;
图6示出了在执行任务401-请求和接收双向服务期间,由示例性实施例执行的显要任务的流程图。
具体实施方式
图1示出了本发明示例性实施例的显要部件的示意图。电信***100包括:因特网101、企业计算域110-1到 110-3、防火墙111-1到 111-3、隧道131-1到131-3、以及隧道集线器112,如图所示互连。虽然示例性实施例包括三个企业域,但本领域技术人员阅读此公开后将清楚如何得到和使用包括任意数量的企业域的本发明备选实施例。
因特网101是本领域技术人员公知的普遍存在的公共数据网络。本领域技术人员阅读此公开后将清楚如何得到和使用其中一些或全部域是由不同的网络(例如公众交换电话网络等)来连接的本发明备选实施例。
企业域110-i(其中i∈{1,2,3})包括客户端121-i、服务器122-i和隧道网关123-i。客户端121-i包括将隧道网关123-i用作代理来请求和接受双向服务的硬件和软件。本领域技术人员将清楚如何得到和使用客户端123-i。服务器122-i包括用于进行下述操作的硬件和软件:(1)经由作为代理的隧道网关123-i接收对双向服务的请求;以及(2)经由作为代理的隧道网关123-i提供所请求的双向服务。本领域技术人员将清楚如何得到和使用服务器122-i。隧道网关123-i包括用于进行下述操作的硬件和软件:(1)创建通过防火墙111-i和因特网101到隧道集线器112的隧道131-i,以及(2)作为客户端121-i和服务器122-i的代理。隧道网关123-i的体系结构在下文和附图中描述。由客户端121-i、服务器122-i、隧道网关123-i和隧道集线器112执行的任务在下文和附图中来详细描述。
防火墙111-1到111-3包括用于阻止因特网101上的黑客访问其所保护的企业域内的资源的硬件和软件。本领域技术人员将清楚如何得到和使用防火墙111-1到111-3。
隧道集线器112包括用于进行下述操作的硬件和软件:(1)建立与隧道网关123-1至123-3的安全隧道,(2)将服务请求从客户端121-i路由到服务器122-k(k∈{1,2,3}并且i≠k),以及(3)将服务从服务器122-k路由回客户端121-i。隧道集线器112的体系结构和其执行的任务在下文和附图中详细描述。
虽然根据示例性实施例的每个企业域包括一个客户端计算机、一个服务器计算机、和一个隧道网关,本领域技术人员阅读此公开后将清楚如何得到和使用其中每个域包括任意数量的客户端计算机、服务器计算机、和隧道网关的本发明备选实施例。
根据示例性实施例,客户端121-i可以从服务器122-j(其中j∈{1,2,3})请求服务。根据示例性实施例,该服务是“双向”服务,对于本说明书来说,该“双向”服务被定义为这样的服务:其中至少一个通信是由客户端发起的,并且至少一个通信是由服务器计算机发起的。本领域技术人员阅读此公开后将清楚如何得到和使用其中任何一个客户端计算机能够从服务器计算机请求“单向”服务的本发明备选实施例。
示例性实施例的优点在于,在隧道网关123-i建立了和隧道集线器112的隧道后,所有来自客户端121-i的服务请求经过隧道网关123-i并且被路由到下面之一:(1)服务器122-i(在企业域110-i内),或(2)到隧道集线器112以被转发到服务器122-k(在企业域110-k内)。以这种方式,客户端121-i将隧道网关123-i用作服务代理。
图2示出了隧道网关123-i(其中i∈{1,2,3})的显要部件的示意图。隧道网关123-i包括:代理201-i、路由器202-i和隧道131-i,如图所示互连。本领域技术人员阅读此公开后将清楚如何得到和使用隧道网关123-i。
隧道网关123-i与隧道集线器112建立隧道203-i。所有来自客户端121-i上的应用的双向web服务请求经过隧道网关123-i并且被路由到隧道集线器112(当提供服务的服务器位于不同的企业域中时)或者服务器122-i(当提供服务的服务器位于相同的企业域中时)。这使得客户端121-i上的应用能够以公知的方式配置和使用隧道网关123-i作为服务代理。
从客户端121-i的角度来说,隧道网关123-i对于客户端121-i上的应用来说是专用web代理,并且,其作为代理将简单对象访问协议(“SOAP”)或超文本传输协议(“HTTP”)请求转发给隧道集线器112。从服务服务器122-i的角度来说,隧道网关123-i是专用反向代理,其将来自隧道集线器112的所有请求转发到相应的web服务端点。隧道网关123-i和现有技术中的web代理之间的一个区别在于,在进行任何数据交换之前,隧道网关建立从内部企业域110-i到隧道集线器112的隧道(例如,永久TCP连接,安全TCP连接等)。在成功地建立隧道之后,客户端121-i上的应用能够通过作为代理的隧道网关123-i来接入跨越企业域的web服务。另外,服务器122-j能够经由隧道网关123-j和隧道网关123-i发起和客户端121-i上的应用的通信。因此,即使客户端和服务器位于不同的企业域,也能够实现双向web服务通信。
图3示出了隧道集线器112的显要部件的示意图。隧道集线器112包括:代理301、路由器302、和隧道131-1到131-3,如图所示互连。本领域技术人员阅读此公开后将清楚如何得到和使用隧道集线器112。
依据示例性实施例,隧道集线器112被配置在公共域中,以便隧道网关123-i不必穿透防火墙就可以访问它。当收到来自隧道网关123-i的请求时,隧道集线器112内的隧道303-i把该请求转发到路由器302,路由器302把该请求转发至适当的隧道网关。
图4示出了与示例性实施例的操作相关的显要任务的流程图。
在任务401,隧道集线器112被配置在公共域中。本领域技术人员阅读此公开后将清楚如何执行任务401。
在任务402,隧道网关121-1到121-3被配置在适当的企业域中。本领域技术人员阅读此公开后将清楚如何执行任务402。
在任务403,隧道网关121-1到121-3发起建立与隧道集线器112的隧道网络。在下文和附图中对任务403进行详细描述。
在任务404,客户端121-1到121-3请求和接收来自服务器计算机122-1到122-3的双向服务。在下文和附图中对任务404进行详细描述。
图5示出了在执行任务403-建立隧道网络期间,由示例性实施例执行的显要任务的流程图。
在任务501,隧道网关123-i通过防火墙131-i向隧道集线器112传送隧道请求。本领域技术人员阅读此公开后将清楚如何执行任务501。
在任务502,隧道集线器112接收来自隧道网关123-i的隧道请求。本领域技术人员阅读此公开后将清楚如何执行任务502。
在任务503和504,隧道集线器112验证隧道网关123-i以确保隧道网关123-i实际上确实有权访问由服务器122-j提供的服务。当隧道网关123-i未被验证时,该程序停止。反之,当隧道网关123-i被验证时,该程序继续进行至任务505。本领域技术人员阅读此公开后将清楚如何执行任务503和504。
在任务505和506,隧道集线器112和隧道网关123-i建立隧道。本领域技术人员阅读此公开后将清楚如何执行任务505和506。
图6示出了在执行任务404-请求和接收双向服务期间,由示例性实施例执行的显要任务的流程图。
在任务601,客户端121-i向隧道网关123-i传送双向服务请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务601的本发明的实施例。
在任务602,隧道网关123-i接收来自客户端121-i的双向服务请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务602的本发明实施例。
在任务603,在将服务器映射到服务的查找表的协助下,隧道网关123-i适当地传送请求。当服务是由和客户端121-i在同一个企业域内的服务器122-i提供的时,隧道网关123-i于是将请求直接传送至服务器122-i(在任务604)而不涉及隧道集线器112。之后,服务器122-i和客户端121-i通过隧道网关123-i进行交互,而不涉及隧道集线器112。相反,当请求的服务是由和客户端121-i不在同一个企业域内的服务器122-j提供的时,隧道网关于是将请求传送至隧道集线器112。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务603和604的本发明实施例。
在任务605,隧道集线器112经由隧道131-i接收来自隧道网关123-i的请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务605的本发明实施例。
在任务606,在将服务器映射到服务的查找表的协助下,隧道集线器112经由隧道131-k向隧道网关123-k传送请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务606的本发明实施例。
在任务607,隧道网关123-k经由隧道131-k接收该请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务607的本发明实施例。
在任务608,在将服务器映射到服务的查找表的协助下,隧道网关123-k向服务器122-k传送请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务608的本发明实施例。
在任务609,服务器122-k接收服务请求。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务609的本发明实施例。
在任务610,服务器122-k向隧道网关123-k传送服务,以将其转发回至请求该服务的客户端。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务610的本发明实施例。
在任务611,隧道网关123-k接收该服务。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务611的本发明实施例。
在任务612,在将服务器映射到服务的查找表的协助下,隧道网关123-k适当地传送服务。当服务是由和服务器122-k及隧道网关123-k在同一个企业域内的客户端121-k请求的时,隧道网关123-k向客户端121-k转发服务而不涉及隧道集线器112。相反,当服务是由客户端121-i请求的时,隧道网关123-k经由隧道131-k向隧道集线器112传送服务。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务612的本发明实施例。
在任务613,隧道集线器112经由隧道131-k接收服务。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务613的本发明实施例。
在任务614,隧道集线器112经由隧道131-i传送服务给隧道网关123-i。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务614的本发明实施例。
在任务615,隧道网关123-i接收该服务。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务615的本发明实施例。
在任务616,隧道网关123-i向客户端121-i传送该服务。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务616的本发明实施例。
在任务617,客户端121-i接收该服务。本领域技术人员阅读此公开后将清楚如何得到和使用执行任务617的本发明实施例。
应当理解,本公开仅教导了示例性实施例的一个实例,本领域技术人员阅读此公开后可以容易地设计出本发明的很多变形,并且本发明的范围由所附权利要求来确定。
Claims (4)
1、一种方法,包括:
建立从第一企业域中的第一隧道网关通过第一防火墙到公共域中的隧道集线器的第一隧道;以及
建立从第二企业域中的第二隧道网关通过第二防火墙到所述隧道集线器的第二隧道。
2、根据权利要求1的方法,还包括:
从第一隧道网关向所述隧道集线器再向第二隧道网关传送双向web服务的请求;以及
响应于所述请求,从第二隧道网关向所述隧道集线器再向第一隧道网关传送服务。
3、根据权利要求1的方法,还包括建立从第三企业域中的第三隧道网关通过第三防火墙到所述隧道集线器的第三隧道。
4、根据权利要求3的方法,还包括:
从第一隧道网关向所述隧道集线器再向第二隧道网关传送第一双向web服务的第一请求;
响应于所述第一请求,从第二隧道网关向所述隧道集线器再向第一隧道网关传送第一服务;
从第一隧道网关向所述隧道集线器再向第三隧道网关传送第二双向web服务的第二请求;以及
响应于所述第二请求,从第三隧道网关向所述隧道集线器再向第一隧道网关传送第二服务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5626108P | 2008-05-27 | 2008-05-27 | |
US61/056,261 | 2008-05-27 | ||
US12/389,197 | 2009-02-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101594283A true CN101594283A (zh) | 2009-12-02 |
Family
ID=41408740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009102039170A Pending CN101594283A (zh) | 2008-05-27 | 2009-04-22 | 基于代理的双向Web服务路由器网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101594283A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932368A (zh) * | 2012-11-15 | 2013-02-13 | 北京锐安科技有限公司 | 一种跨网络http安全访问方法及*** |
CN107005400A (zh) * | 2015-08-25 | 2017-08-01 | 华为技术有限公司 | 业务处理方法及装置 |
CN107564255A (zh) * | 2016-07-01 | 2018-01-09 | 西安诺瓦电子科技有限公司 | 无线路由装置、led显示屏控制器以及led显示屏控制*** |
CN108566444A (zh) * | 2018-08-01 | 2018-09-21 | 长沙拓扑陆川新材料科技有限公司 | 一种云服务的网络传输方法及*** |
CN111917742A (zh) * | 2020-07-15 | 2020-11-10 | 北京钛星数安科技有限公司 | 终端网页浏览隔离保护*** |
-
2009
- 2009-04-22 CN CNA2009102039170A patent/CN101594283A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932368A (zh) * | 2012-11-15 | 2013-02-13 | 北京锐安科技有限公司 | 一种跨网络http安全访问方法及*** |
CN102932368B (zh) * | 2012-11-15 | 2016-08-03 | 北京锐安科技有限公司 | 一种跨网络http安全访问方法及*** |
CN107005400A (zh) * | 2015-08-25 | 2017-08-01 | 华为技术有限公司 | 业务处理方法及装置 |
CN107005400B (zh) * | 2015-08-25 | 2020-08-07 | 华为技术有限公司 | 业务处理方法及装置 |
CN107564255A (zh) * | 2016-07-01 | 2018-01-09 | 西安诺瓦电子科技有限公司 | 无线路由装置、led显示屏控制器以及led显示屏控制*** |
CN107564255B (zh) * | 2016-07-01 | 2019-11-29 | 西安诺瓦星云科技股份有限公司 | 无线路由装置、led显示屏控制器以及led显示屏控制*** |
CN108566444A (zh) * | 2018-08-01 | 2018-09-21 | 长沙拓扑陆川新材料科技有限公司 | 一种云服务的网络传输方法及*** |
CN111917742A (zh) * | 2020-07-15 | 2020-11-10 | 北京钛星数安科技有限公司 | 终端网页浏览隔离保护*** |
CN111917742B (zh) * | 2020-07-15 | 2022-07-08 | 北京钛星数安科技有限公司 | 终端网页浏览隔离保护*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252509B (zh) | 双-nat方法在动态虚拟专用网络(vpn)的数据包处理及路由中的应用 | |
CN101222406B (zh) | 双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 | |
CN101946493B (zh) | 用于提供连接到因特网的客户端之间的连接性的方法和*** | |
US11665082B2 (en) | Sandbox environment for testing integration between a content provider origin and a content delivery network | |
CN110225148A (zh) | IPv4/IPv6地址转换*** | |
US20100107085A1 (en) | Control panel for managing multiple online data management solutions | |
US20100106764A1 (en) | Datacenter hosting multiple online data management solutions | |
KR20080026161A (ko) | 원격 네트워크 액세스를 위한 통일된 아키텍쳐 | |
CN102571857B (zh) | 一种实现登录xmpp服务器的方法和*** | |
JP2009290861A (ja) | プロキシ・ベースの双方向ウェブサービス・ルータ・ゲートウェイ | |
CN107925575A (zh) | 用于管理网络通信隐私的技术 | |
CN107463453B (zh) | 同一终端不同应用间通信的方法、装置、设备和存储介质 | |
CN105323310B (zh) | 网络通信方法、设备及网络附属存储设备 | |
JP2013511207A5 (zh) | ||
CN101594283A (zh) | 基于代理的双向Web服务路由器网关 | |
JP2007334411A (ja) | 制御プログラムおよび通信システム | |
CN109617753B (zh) | 一种网络平台管理方法、***及电子设备和存储介质 | |
WO2015184799A1 (zh) | 一种访问网络的方法及网络设备、管理服务器 | |
US10528759B2 (en) | Application programming interface bridge for transporting a local request from a local client system to a target server system, and method thereof | |
CN100490393C (zh) | 一种访问客户网络管理平台的方法 | |
CN103634338B (zh) | 在线修改网页主域标题的方法、数据处理装置和*** | |
JP5458977B2 (ja) | 中継処理方法、プログラム及び装置 | |
CN104756462B (zh) | 用于在限制性防火墙后进行tcp turn操作的方法和*** | |
JP2013186820A (ja) | 中継装置及び通信システム | |
JP2014026348A (ja) | 情報流通システム、認証連携方法、装置及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20091202 |