CN105144111A - 用于不同web服务架构的中继服务 - Google Patents
用于不同web服务架构的中继服务 Download PDFInfo
- Publication number
- CN105144111A CN105144111A CN201480014267.4A CN201480014267A CN105144111A CN 105144111 A CN105144111 A CN 105144111A CN 201480014267 A CN201480014267 A CN 201480014267A CN 105144111 A CN105144111 A CN 105144111A
- Authority
- CN
- China
- Prior art keywords
- service
- relay
- response
- services
- client
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
用于后勤服务的中继组件在后勤服务之前创建向外暴露的REST服务端点。不是直接调用后勤服务,REST服务客户端使用HTTP协议对中继组件作出REST服务调用。中继组件将数据转换成XML格式,并以SOAP调用将其发送给后勤服务。中继组件按照SOAP响应接收来自后勤服务的响应,该响应被转换成要被发送至REST客户端的REST消息。
Description
背景
许多企业为员工提供诸如企业资源规划(ERP)和客户关系管理(CRM)应用之类的后勤服务。这些应用典型地使用并存储诸如财务数据、联系信息、以及人事档案之类的机密且专有的公司信息。企业将对这些应用和相关联的信息的访问仅限于授权用户。
当用户在场时,企业能认证通过企业网络访问后勤服务的用户。然而,当用户离场时,就变得更难以认证用户以及以安全的方式提供服务。为了保持安全性,需要通过诸如智能电话或平板之类的移动客户端访问后勤服务的用户在被允许执行由所述服务暴露的动作之前必须被认证为被授权。
例如,许多公司使用花费报告***来为员工报销他们为业务目的而产生的花费,以及使用时间报告***来捕捉员工工时数。对员工而言,众多挑战之一是跟踪为业务目的而产生的各种花费以及在公司业务上工作的小时数,尤其在花费是在员工远离他的或她的计算机时产生的情况下。在现有***中,员工需要使用某种其他过程,例如保存纸质收据以及记录工作的小时数,以便保持对花费和时间的跟踪。那些花费然后被添加到花费报告,而时间条目被归档在计时卡上。
当前的ERP***提供了使用web服务将业务行为暴露给外部组件的功能。web服务可被实现为简单对象访问协议(SOAP)web服务,其中数据格式是可扩展标记语言(XML)。SOAP协议本身被实现在超文本传输协议(HTTP)协议之上。web服务可由诸如移动应用或远程终端之类的具有与基于XML的SOAP协议通信的能力的外部组件调用。此外,为了数据安全性,每个服务调用需要在ERP***中被授权。
存在大量的使用代表性状态转移(REST)式样的服务调用的外部组件(如REST服务客户端)。REST是用于分布式***的支配性的web服务设计模型。REST直接使用HTTP协议来通信。REST不要求复杂的代码通过SOAP传送,或者使用XML来用于数据交换。
概述
提供本概述是为了以精简的形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
为了进行web服务调用,客户端应用通过中继组件发送消息。消息由所述客户端应用采用客户端支持的协议发送。中继服务将所述消息转换成目标协议,然后使用目标协议将服务请求传送至后勤服务。中继组件在以目标协议与后勤服务通信时可充当所述客户端。服务响应通过中继组件被路由返回用户,中继组件也将响应转换成客户端支持的协议。
例如,中继组件可作为软件组件被添加在诸如ERP应用之类的后勤服务与试图调用后勤服务的客户端应用之间。在一个实施例中,后勤服务可被配置成接收SOAP服务调用,但是客户端应用可以是REST服务客户端。中继组件在客户端所要求的REST服务调用和响应与后勤服务所要求的SOAP服务调用和响应之间转换。
中继组件可创建REST服务端点,REST服务客户端能调用REST服务端点来与后勤服务上的SOAP端点通信。中继组件将由REST服务客户端作出的REST服务调用映射成对后勤服务的相应SOAP服务调用。
附图简述
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1例示出其中客户端应用与后勤服务交互的***。
图2例示出用于向SOAP服务提供REST外观的***的另一实施例。
图3是例示出使用中继组件在来自客户端应用的REST服务调用与后勤服务上所暴露的SOAPweb服务之间转换的框图。
图4例示出其中中继组件被用于支持客户端对后勤***作出REST服务调用与SOAP服务调用两者的一实施例。
图5是例示出用于中继对使用SOAP接口的后勤服务的REST服务调用的过程或方法的流程图。
图6例示出其中中继组件被用于支持使用多种协议、标准或格式对后勤服务作出服务调用的客户端应用的***。
图7是例示出用于中继来自使用第一格式的客户端对使用第二格式的后勤服务的服务调用的过程或方法的流程图。
图8例示出用于在REST客户端和SOAP服务应用之间提供中继组件的合适的计算和联网环境的示例。
详细描述
本发明的实施例允许用户的与某一web服务调用相耦合的身份信息通过服务中继从移动设备上的客户端流至后勤***。
图1例示出其中客户端应用101希望通过诸如因特网或其他公共网络之类的网络103与后勤服务102交互的***。客户端应用101是REST服务客户端,但后勤服务102暴露SOAPweb服务。尽管客户端应用101或许能够向后勤服务102的暴露出的端点发送REST服务调用104,但是那些REST服务调用将不被后勤服务102所理解。该问题的现有的解决方案将要求要么重写客户端应用101以支持SOAP,要么修改后勤服务102以支持REST调用。
在一个实施例中,添加了中继组件105。中继组件105被配置成使用SOAP与后勤服务102通信。中继105还暴露出可配合REST客户端101使用REST服务端点。
REST客户端101现在可将REST服务调用106发送给中继组件105处向外暴露的REST服务端点,而不是直接调用后勤服务102上的SOAP服务端点。例如,REST服务客户端101可使用HTTP协议对中继组件105作出REST服务调用106,以及可用JavaScriptObjectNotation(基于JavaScript语言的轻量级的数据交换格式:JSON)格式发送数据。
在接收到REST服务调用106之际,中继组件105将JSON格式的数据转换成后勤服务102所需的XML格式。中继组件105扮演REST客户端101的角色并使用SOAP消息107调用后勤服务102。后勤服务102然后可处理该服务调用,而不管发端客户端应用101的格式。
后勤服务102以XML格式108将结果数据发送给中继组件105。中继组件105然后将把该数据转换成JSON格式并使用发端协议(在该实施例中是HTTP109)将其传送回REST服务客户端。
中继组件105还可负责认证REST服务客户端101。为了实现这一点,中继组件将在每个REST服务调用中寻找认证令牌,以及将证实作出服务调用的用户的身份。仅在服务调用已被认证的情况下,中继组件105使用角色扮演来调用后勤服务102,以代表用户101作出调用。
图2例示出用于向SOAP服务提供REST外观的***的另一实施例。运行REST服务客户端的移动设备201需要调用后勤服务202。然而,后勤服务202和中继组件203是受防火墙205保护的企业网络204的一部分。不是直接与后勤服务202或中继组件203通信,移动设备201通过全局可用的服务中继206发送服务请求。
使用服务中继206避免了对在企业网络204或后勤服务202处提供公共端点的需要。服务中继206可穿过防火墙205通信以及滤除不具有所要求的认证令牌的通信量。
身份提供者和安全令牌服务(未示出)可提供安全令牌,该安全令牌包含唯一地标识用户来认证移动设备101的主张。令牌可由中继组件203在对后勤服务202作出SOAP调用时使用。在线授权服务或信任代理(未示出)也可被用于向服务中继206认证移动设备201。身份提供者和/或在线授权服务发出令牌以在网络207上向服务中继206认证移动设备201,网络207可以是因特网或任何公共网络。
服务中继206从移动设备201接收REST服务请求以及认证令牌208。服务中继206使用来自在线认证服务或其他安全令牌服务的令牌来验证移动设备201的身份。经认证的REST服务请求和令牌(209)被发送给企业网络204中的中继组件203。令牌可来自与后勤服务202或中继组件203具有信任关系的联合身份提供者。
中继组件203使用认证令牌来证实REST服务请求。中继组件203使用来自认证令牌的用户身份主张来扮演移动设备201,以及调用后勤服务202上的SOAP服务端点。中继组件203将REST服务请求209转换成SOAP请求210,以及将请求210转发给后勤服务202。
后勤服务202将SOAP服务响应211发送给中继组件203,中继组件203将该响应转换成REST响应212,中继组件203将REST响应212转发给服务中继206。移动设备201然后从服务中继206接收REST服务响应213。
移动设备201可运行被适配成适合于设备所使用的操作***和/或浏览器的客户端应用。在本文所例示的示例中,移动设备201所采取的动作由客户端应用执行或在客户端应用的控制下执行。客户端应用被配置成与身份提供者和在线授权服务通信来从安全令牌服务获得合适的令牌。客户端应用还与服务中继206通信来交换服务请求/响应以及令牌。移动服务201可以是任何移动设备,诸如运行微软iOS或安卓操作***的智能电话或平板。客户端应用不必在移动设备上。在其他实施例中,客户端应用可以是微软.NET软件客户端、服务、网站、或企业网络103内部或外部的能够对后勤服务202作出服务请求的任何固定或移动点。
移动设备201上的客户端应用被适配成生成适合于后勤服务202的服务请求。将理解,后勤服务202可包括任何企业资源规划、客户关系管理、或其他企业或后端服务,包括例如但不限于时间捕捉、花费捕捉、项目管理、资源管理、或审批应用,或可包括暴露web服务(可以是SOAP服务或REST性质的服务)的其他后端***或***集合。
在一个实施例中,本发明将现有技术组合到使用主动联合模式的认证解决方案中。例如,服务中继206可以是使用来自充当在线授权服务的WindowsAzureTM访问控制服务(WindowsAzureTMAccessControlService)的令牌的微软WindowsAzureTM服务总线(WindowsAzureTMServiceBus)。在其他实施例中,服务中继206可以是诸如举例来说亚马逊Web服务或任何其他分布式计算服务之类的云服务环境的一部分,所述任何其他分布式计算服务具有服务中继以及与该服务中继兼容且建立了与身份提供者的信任的任何安全令牌服务。在一示例实施例中,身份提供者可以是具有活动目录联合服务(ActiveDirectoryFederationServices)的微软的活动目录,或任何其他身份提供者和安全令牌服务。
服务中继206主控一中间层服务端点,该中间层服务端点可以是能够主控一web服务端点且处理来自身份提供者的令牌的任何中继服务。web服务可利用通过SSL的HTTP协议(HTTPS)。在基于SOAP的服务中,安全令牌可被置于SOAP报头或HTTP报头中。在REST式样的服务中,用于向服务中继授权的安全令牌可如服务中继206所要求并理解的那样被置于HTTP报头中,而其他令牌可被置于消息体或HTTP报头中。
后勤服务202可以是具有暴露SOAP或REST式样的web服务的能力的任何应用,诸如企业资源规划应用或其他业务服务。
尽管在上面的示例中客户端应用作出REST服务调用而后勤服务使用SOAPweb服务,但是将理解在其他实施例中可使用其他协议,包括例如但不限于客户端应用作出SOAP服务调用而后勤服务使用REST式样的服务调用。
图3是例示出使用中继组件在来自客户端应用的REST服务调用与后勤服务上所暴露的SOAPweb服务之间转换的框图。移动设备301或任何其他客户端设备运行REST客户端服务应用302。REST服务客户端302对中继组件303作出经认证的REST服务调用31。服务调用31包括REST服务已从例如一可信身份提供者接收的安全令牌(一个或多个)。
中继组件303应用认证算法304来认证REST服务调用31。如果令牌(一个或多个)不是有效的,则中继组件303将认证失败差错响应32返回给客户端应用302。如果令牌(一个或多个)被成功证实,则REST服务调用被传送33到数据转换和业务逻辑305。逻辑305将REST服务调用从例如JSON转换成例如XML,并对后勤服务306作出SOAP服务调用34。
后勤服务306在SOAP服务操作和业务逻辑307中处理该SOAP服务调用。后勤服务306然后向中继组件303发送SOAP响应35。数据转换和业务逻辑305将来自后勤服务306的XML数据转换成REST服务客户端所要求的数据格式。响应然后被发送36到REST客户端应用302。
图4例示出其中中继组件被用于支持客户端对后勤***作出REST服务调用与SOAP服务调用两者的一实施例。如上所述,REST客户端应用401可对中继组件403作出REST服务调用402,中继组件403暴露一用于REST客户端的端点。REST服务调用402可通过诸如因特网或其他公共或私有网络之类的网络404被发送到中继组件403。中继组件403证实该REST服务调用402,并将其转换成对后勤服务406的SOAP请求405。当后勤服务406以SOAP响应407作出响应时,中继组件403将响应407转换成REST响应408,并将其发送回REST客户端401。
中继组件403还可暴露用于SOAP请求或其他协议的端点。SOAP客户端应用409可通过网络404将服务请求410发送到中继组件403上的SOAP端点。中继组件403证实服务调用410并将其传送到后勤服务406(如作为SOAP请求405)而不要求转换。后勤服务406以SOAP响应407来作出响应。中继组件403以响应411将该响应发送回SOAP客户端409,而不要求任何协议转换。
中继组件403可对后勤服务406扮演REST客户端401和SOAP客户端408(或使用任何其他协议的客户端)这两者。由于中继组件403处理认证和转换,后勤服务406不需要关注客户端应用所使用的原始协议,而是可对通过中继组件403传入的所有服务请求使用标准化的接口。
当后勤服务406不可用时,则中继组件403可视情况向REST客户端401和/或SOAP客户端408返回“服务器离线”或其他响应。
图5是例示出用于中继对使用SOAP接口的后勤服务的REST服务调用的过程或方法的流程图。在步骤501中,中继组件从REST服务客户端接收经认证的REST服务调用。REST服务调用可将客户端从可信身份提供者接收的安全令牌包括在消息中。在步骤502中,中继组件使用所述令牌来认证该服务调用。在步骤503中,消息中的数据被转换成被后勤服务使用的XML。
在步骤504中,中继组件对后勤服务作出SOAP服务调用。在步骤505中,后勤服务对该服务调用作出响应。在步骤506中,中继组件将来自后勤服务的XML数据转换成REST服务客户端所要求的数据格式。在步骤507中,该数据然后作为响应被发送给REST服务客户端。
上述示例针对被暴露为基于XML的SOAP远程过程调用(RPC)的后勤服务,可使用诸如通过HTTP的JSON之类的REST设计模型使用中继服务来调用。然而,将理解本发明不限于那些协议。
本发明的各实施例使用支持任何RPC、REST或任意web服务的任何面向服务的架构(SOA)或面向资源的架构(ROA)来起作用。客户端应用、中继服务以及后勤服务可采用任何协议、标准或规范来构建web服务。例如,后勤服务可使用第一接口(如“协议A”)来暴露一web服务,而客户端应用可使用相同的接口或第二接口(如“协议B”)来调用服务。当协议A和协议B不同时,除了充当客户端应用和后勤服务之间的中继之外,中继服务在这两个接口之间转换调用。可被用于在客户端应用和后勤服务之间通信的协议和接口的示例包括但不限于:HTTP、传输控制协议(TCP)、统一资源标识符(URI)、XML、Web服务描述语言(WSDL)、SOAP、JSON、Atom发布协议(APP)、安全断言标记语言(SAML)、简单Web令牌(SWT)、JSONWeb令牌(JWT)、Web资源授权协议(WRAP)、开放数据协议(OData)、开放授权(OAuth)、Web服务安全(WS-Security)、Web服务信任(WS-Trust)、以及Web服务联合(WS-Federation)。
可用能构造、发送、接收或处理可互操作的消息的合适的技术或框架来具体实施客户端应用、中继服务以及后勤服务。可被用于客户端应用、中继服务或后勤服务的平台的示例包括但不限于:Windows通信基础(WCF)、WCF数据服务、异步JavaScript(Ajax)、因特网信息服务(IIS)、Java消息服务(JMS)、Spring框架、或ApacheAxis。
图6例示出其中中继组件601被用于支持通过网络611对后勤服务604作出服务调用的客户端应用602、603的***。中继服务601和后勤服务604可以是同一企业网络或***的组件,或可驻留在独立的网络中,或可驻留在同一设备上。后勤服务604可提供任何一个或多个web服务。后勤服务604可以是暴露web服务的***的集合,例如若干服务器和/或应用。
客户端应用602使用协议A对同样使用协议A的后勤服务604作出服务调用。客户端602向中继服务601上暴露的用于协议A的一端点发送服务调用605。中继服务601将该服务调用识别为针对来自后勤服务604的web服务。中继服务601扮演客户端602并使用协议A将合适的请求606转发到后勤服务604。
中继服务601也使用写协议A从后勤服务604接收响应607。中继服务601然后向客户端602发送响应608。在该情形中,客户端602和后勤服务都使用相同的协议,诸如上文列出的协议中的任一种。因此,中继服务601不必转换服务调用和响应。
图6还例示出来自客户端应用603的使用不同于后勤服务的协议的服务调用。客户端603对中继服务601上的协议B端点作出服务调用609。中继服务601确定服务调用609针对后勤服务604,并且知道后勤服务604上的web服务不能使用协议B来调用。
中继服务601将协议B服务调用609转换成用于后勤服务604的合适的协议A请求606。中继服务601然后扮演客户端603并使用协议A与后勤服务604交换请求606和响应607。
客户端603使用协议A发出了服务调用,并在任何响应中预期相同的协议。因此,中继服务601将响应607从协议A转换成协议B的相应响应610。响应610然后被发送给客户端603。
例如,客户端603可能希望使用通过HTTP的JSON(诸如按照OData规范通过URI来引用实体)、或者使用通过HTTP的基于XML的APP、或者使用万维网(如“协议B”)来调用web服务。然而,可使用通过HTTP的基于XML的SOAPRPC、或通过Net.TCP的基于XML的SOAPRPC、或者通过HTTP的JSON-RPC(如“协议A”),来在后勤服务604上暴露该web服务。中继服务601提供这些实现之间的必要转换,使得客户端能够以可互操作的方式调用web服务。
图7是例示出用于中继来自使用第一格式的客户端对使用第二格式的后勤服务的服务调用的过程或方法的流程图。在步骤701中,中继服务从所述客户端接收第一服务调用。所述第一服务调用是使用所述第一格式调用的。在步骤702中,所述中继服务将所述第一服务调用转换成第二服务调用。所述第二服务调用为所述后勤服务所使用的第二格式。
在步骤703中,所述中继服务使用所述第二格式对所述后勤服务作出服务调用。在步骤704中,所述中继服务接收对所述第二服务调用的第一响应。所述第一响应为所述第二格式,所述第二格式是所述后勤服务所提供的接口。
在步骤705中,所述中继服务将所述第一响应转换成第二响应。所述第二响应具有由所述客户端所使用的所述第一格式。在步骤706中,所述中继服务将所述第二响应发送给所述客户端。
所述中继服务还可使用安全令牌来在步骤701或702中认证所述第一服务调用。可从所述安全令牌中提取用户身份信息。当所述中继服务对所述后勤服务作出所述第二调用时,该用户身份信息然后可被所述中继服务使用。所述中继服务可暴露与它所支持的不同协议、标准或规范对应的不同端点。
在一个实施例中,所述中继服务和后勤服务可被主持在诸如同一服务器或处理器之类的同一设备上,或被主持在同一企业网络上。替代地,所述中继服务和后勤服务可被主持在不同设备或网络上,或由不同服务提供者来主持。所述后勤服务可以是提供单个web服务的一组不同***。在其他实施例中,所述后勤服务可以是提供多个不同web服务的一组不同***。
图8示出了在其上可以实现图1-7的示例的合适的计算和联网环境800的示例。计算***环境800仅是用于运行REST或SOAP客户端应用的设备或用于可运行中继组件或后勤服务的服务器或计算机的合适的计算环境的一个示例。图8不旨在对本发明的使用或功能范围提出任何限制。本发明可用众多其他通用或专用计算***环境或配置来操作。可适用于配合本发明使用的公知计算***、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持或膝上型设备、平板设备、多处理器***、基于微处理器的***、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述***或设备中的任何***或设备的分布式计算环境等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可被实践在分布式计算环境中,分布式计算环境中任务是由通过通信网络链接的远程处理设备执行的。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图8,用于实现本发明的各个方面的示例性***可以包括计算机800形式的通用计算设备。组件可包括但不限于诸如处理单元801之类的各种硬件组件、诸如***存储器之类的数据存储802、以及将包括数据存储802在内的各种***组件耦合到处理单元801的***总线803。***总线803可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、***总线和使用各种总线体系结构中的任一种的局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和***部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机800通常包括各种计算机可读介质804。计算机可读介质804可以是能由计算机800访问的任何可用介质,并同时包含易失性和非易失性介质以及可移动、不可移动介质,但不包括传播信号。作为示例而非限制,计算机可读介质804可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机800访问的任何其他介质。通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。计算机可读介质可被实现为计算机程序产品,诸如存储在计算机存储介质上的软件。
数据存储或***存储器802包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出***(BIOS)包含有助于诸如启动时在计算机800中元件之间传递信息的基本例程,它通常被存储在ROM中。RAM通常包含处理单元801可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制性,数据存储802保存操作***、应用程序、其他程序模块、和程序数据。
数据存储802还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,数据存储802可以是对不可移动、非易失性磁介质进行读写的硬盘驱动器,对可移动、非易失性磁盘进行读写的磁盘驱动器,或对诸如CDROM或其它光学介质等可移动、非易失性光盘进行读写的光盘驱动器。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。上文所描述的并且在图8中所显示的驱动器以及它们的关联的计算机存储介质,为计算机800提供对计算机可读取的指令、数据结构、程序模块及其他数据的存储。
用户可通过用户接口805或诸如平板、电子数字化仪、话筒、键盘和/或定点设备(通常指的是鼠标、跟踪球或触摸垫)等其它输入设备输入命令和信息。其他输入设备可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。另外,语音输入、使用手或手指的手势输入、或其它自然用户接口(NUI)也可与适当的输入设备(诸如话筒、相机、平板、触摸垫、手套、或其它传感器)一起使用。这些及其他输入设备常常通过耦合到***总线803的用户输入接口805连接到处理单元801,但是,也可以通过其他接口和总线结构,如并行端口、游戏端口、通用串行总线(USB)端口来进行连接。监视器806或其他类型的显示设备也通过诸如视频接口之类的接口连接至***总线803。监视器806也可以与触摸屏面板等集成。注意到监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备800的外壳,诸如在平板型个人计算机中。此外,诸如计算设备800等计算机还可以包括其他***输出设备,诸如扬声器和打印机,它们可以通过输出***接口等连接。
计算机800可使用至一个或多个远程设备(诸如远程计算机)的逻辑连接807在网络化或云计算环境中操作。远程计算机可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并且一般包括上面关于计算机800所述的许多或全部元件。图8中所描述的逻辑连接包括一个或多个局域网(LAN)和一个或多个广域网(WAN),但是,也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在联网或云计算环境中使用时,计算机800可通过网络接口或适配器807连接至公共或私有网络。在一些实施例中,使用调制解调器或用于在网络上建立通信的其它装置。调制解调器可以是内置或外置的,它经由网络接口807或其它适当的机制连接至***总线803。诸如包括接口和天线的无线联网组件可通过诸如接入点或对等计算机之类的合适的设备耦合到网络。在联网环境中,相关于计算机800所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (10)
1.一种用于在中继服务处处理web服务请求的方法,包括:
从一客户端接收第一服务调用,所述第一服务调用是使用第一格式实现的;
在所述中继服务处将所述第一服务调用转换成第二服务调用,所述第二服务调用采用由一后勤服务所使用的第二格式;
使用所述第二格式对所述后勤服务作出服务调用;
在所述中继服务处接收对所述第二服务调用的第一响应,所述第一响应采用所述第二格式;
在所述中继服务处将所述第一响应转换成第二响应,所述第二响应采用所述第一格式;以及
将所述第二响应从所述中继服务发送至所述客户端。
2.如权利要求1所述的方法,其特征在于,进一步包括:
使用安全令牌认证所述第一服务调用;以及
从所述安全令牌提取用户身份信息以在对所述后勤服务作出所述第二服务调用时使用。
3.如权利要求1所述的方法,其特征在于,进一步包括:其中所述后勤服务是提供单个web服务的一组不同***。
4.如权利要求1所述的方法,其特征在于,所述后勤服务是提供多个不同web服务的一组不同***。
5.如权利要求1所述的方法,其特征在于,进一步包括:
暴露用于接收具有所述第一格式的服务调用的第一端点;以及
暴露用于接收具有所述第二格式的服务调用的第二端点。
6.一种用于提供在中继服务处处理服务请求的方法的***,包括:
运行在中继服务器上的中继服务应用;以及
运行在应用服务器上的web服务应用;
所述中继服务应用被配置成:
从服务客户端接收采用第一格式的第一服务调用;
将所述第一服务调用转换成采用第二格式的第二服务调用,所述第二格式对应于由所述web服务应用使用的接口;以及
将所述第二服务调用发送至所述web服务应用。
7.如权利要求6所述的***,其特征在于,所述中继服务应用进一步被配置成:
接收对所述第二服务调用的第一响应,所述第一响应采用所述第二格式;
将所述第一响应转换成第二响应,所述第二响应采用所述第一格式;以及
将所述第二服务响应发送至所述服务客户端。
8.如权利要求6所述的***,其特征在于,所述中继服务应用进一步被配置成:
从所述服务客户端接收安全令牌;以及
使用所述安全令牌认证所述第一服务调用。
9.如权利要求8所述的***,其特征在于,所述中继服务应用进一步被配置成:
从所述安全令牌提取用户身份信息以在对所述web服务应用作出所述第二服务调用时使用。
10.如权利要求6所述的***,其特征在于,所述中继服务器与所述应用服务器是同一设备。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361786284P | 2013-03-14 | 2013-03-14 | |
US61/786,284 | 2013-03-14 | ||
US13/873,203 US20140280494A1 (en) | 2013-03-14 | 2013-04-29 | Relay Service for Different Web Service Architectures |
US13/873,203 | 2013-04-29 | ||
PCT/US2014/022898 WO2014159304A1 (en) | 2013-03-14 | 2014-03-11 | Relay service for different web service architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105144111A true CN105144111A (zh) | 2015-12-09 |
Family
ID=51533390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480014267.4A Pending CN105144111A (zh) | 2013-03-14 | 2014-03-11 | 用于不同web服务架构的中继服务 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140280494A1 (zh) |
EP (1) | EP2972862B1 (zh) |
CN (1) | CN105144111A (zh) |
WO (1) | WO2014159304A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412006A (zh) * | 2016-08-25 | 2017-02-15 | 苏州蓝海彤翔***科技有限公司 | 移动终端调用web应用的通信***、方法及装置 |
CN109660606A (zh) * | 2018-12-05 | 2019-04-19 | 新华三大数据技术有限公司 | 网络消息代理方法、装置及*** |
CN110187983A (zh) * | 2019-05-24 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 一种远程调用方法、装置及电子设备 |
CN111164945A (zh) * | 2017-10-13 | 2020-05-15 | 瑞典爱立信有限公司 | 用于不同架构之间的代理的方法和装置 |
CN111614757A (zh) * | 2020-05-20 | 2020-09-01 | 中国建设银行股份有限公司 | 客户端与服务器的报文交互方法、装置、设备及介质 |
CN112261075A (zh) * | 2020-09-07 | 2021-01-22 | 上海泛微软件有限公司 | 网络请求处理方法、装置、设备及计算机可读存储介质 |
CN112565215A (zh) * | 2020-11-25 | 2021-03-26 | 电信科学技术第十研究所有限公司 | 基于分布式服务代理的rest应用架构及构架方法 |
CN113676483A (zh) * | 2021-08-26 | 2021-11-19 | 中国联合网络通信集团有限公司 | 多区块链的接入管理方法及其***、能力开放装置 |
CN115509647A (zh) * | 2022-11-21 | 2022-12-23 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200660B2 (en) * | 2009-10-22 | 2012-06-12 | Hewlett-Packard Development Company, L.P. | System and method for executing queries |
US9183265B2 (en) | 2012-06-12 | 2015-11-10 | International Business Machines Corporation | Database query language gateway |
US9294454B2 (en) * | 2013-03-15 | 2016-03-22 | Microsoft Technology Licensing, Llc | Actively federated mobile authentication |
KR20180095126A (ko) * | 2013-09-20 | 2018-08-24 | 콘비다 와이어리스, 엘엘씨 | 관심에 기초한 향상된 m2m 콘텐츠 관리 |
EP3103238B1 (en) * | 2014-02-07 | 2021-06-23 | Oracle International Corporation | Mobile cloud service architecture |
US9600547B2 (en) * | 2014-05-30 | 2017-03-21 | International Business Machines Corporation | System and method of consuming and integrating with rest-based cloud and enterprise services |
US10229202B2 (en) * | 2014-09-29 | 2019-03-12 | International Business Machines Corporation | Social media bot to representational state transfer (REST) proxy for data systems |
US10116596B2 (en) | 2014-09-29 | 2018-10-30 | International Business Machines Corporation | Personalizing data system components and data sources as chatbots in a group chat session |
US10223432B2 (en) | 2014-09-29 | 2019-03-05 | International Business Machines Corporation | Interactive social media access to data systems |
US9977700B2 (en) | 2015-04-03 | 2018-05-22 | Oracle International Corporation | System and method for providing an application programming interface for deploying a service bus artifact from a local development environment to a cloud environment |
US10313451B2 (en) | 2015-04-03 | 2019-06-04 | Oracle International Corporation | System and method for providing a configuration wizard for use in creating representational state transfer services for execution in a service bus runtime |
US10091086B2 (en) | 2015-04-03 | 2018-10-02 | Oracle International Corporation | System and method for providing an application programming interface manager for use with a service bus runtime |
US9652269B2 (en) * | 2015-04-03 | 2017-05-16 | Oracle International Corporation | System and method for supporting representational state transfer services natively in a service bus runtime |
US9948694B2 (en) | 2015-04-20 | 2018-04-17 | International Business Machines Corporation | Addressing application program interface format modifications to ensure client compatibility |
US10412166B2 (en) | 2015-07-27 | 2019-09-10 | Presidio Llc | Hybrid cloud information management system |
US10110447B2 (en) * | 2015-10-23 | 2018-10-23 | Oracle International Corporation | Enhanced rest services with custom data |
US10025727B2 (en) * | 2016-02-05 | 2018-07-17 | Honeywell International Inc. | Relay mechanism to facilitate processor communication with inaccessible input/output (I/O) device |
US20170270157A1 (en) * | 2016-03-21 | 2017-09-21 | Virtual Network Element, Inc. | TCP/IP Network Automation and Orchestration Tools |
US11295273B2 (en) | 2016-05-16 | 2022-04-05 | Sap Se | Normalized object exposure for collaborative platforms |
US10726036B2 (en) * | 2016-05-16 | 2020-07-28 | Sap Se | Source service mapping for collaborative platforms |
US10878031B2 (en) * | 2017-05-16 | 2020-12-29 | Walmart Apollo, Llc | Web services-based data transfers for item management |
US10642804B2 (en) * | 2018-06-28 | 2020-05-05 | Bank Of America Corporation | Dynamic network database integration system |
CN110417875B (zh) * | 2019-07-15 | 2022-02-18 | 广东芬尼克兹节能设备有限公司 | 一种云服务器之间的对接方法、***、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140861A1 (en) * | 2006-12-06 | 2008-06-12 | Yahoo! Inc. | Web Services Multi-Protocol Support |
US20080263365A1 (en) * | 2002-11-14 | 2008-10-23 | International Business Machines Corporation | Integrating legacy application/data access with single sign-on in a distributed computing environment |
US20090323110A1 (en) * | 2008-06-25 | 2009-12-31 | Yoshiko Shiimori | Relay server for print service and method of controlling same |
US20120047494A1 (en) * | 2010-08-17 | 2012-02-23 | Lsi Corporation | Application programming interface (api) router implementation and method |
US20120072926A1 (en) * | 2010-09-17 | 2012-03-22 | Samsung Electronics Co., Ltd. | Method and apparatus for constructing a widget environment |
CN102812665A (zh) * | 2010-03-18 | 2012-12-05 | 微软公司 | 用于实现跨多个web服务的认证的可***令牌提供商模型 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6216101B1 (en) * | 1996-04-01 | 2001-04-10 | Openconnect Systems Incorporated | Server and terminal emulator for persistent connection to a legacy host system with client token authentication |
US6473759B1 (en) * | 1999-01-12 | 2002-10-29 | International Business Machines Corporation | Method and system for accessing java applications |
JP2002176432A (ja) * | 2000-12-05 | 2002-06-21 | Sony Corp | 通信中継装置、通信中継方法、および通信端末装置、並びにプログラム記憶媒体 |
US7853674B2 (en) * | 2005-01-24 | 2010-12-14 | Research In Motion Limited | System and method for provisioning component applications |
US8402525B1 (en) * | 2005-07-01 | 2013-03-19 | Verizon Services Corp. | Web services security system and method |
US7627681B2 (en) * | 2005-07-20 | 2009-12-01 | Microsoft Corporation | Relaying messages through a firewall |
US20070177590A1 (en) * | 2006-01-31 | 2007-08-02 | Microsoft Corporation | Message contract programming model |
US8171538B2 (en) * | 2006-03-17 | 2012-05-01 | Microsoft Corporation | Authentication and authorization of extranet clients to a secure intranet business application in a perimeter network topology |
JP2008139981A (ja) * | 2006-11-30 | 2008-06-19 | Sharp Corp | 制御装置、端末装置、表示システム、表示方法、プログラムおよびその記録媒体 |
US8086495B2 (en) * | 2007-09-10 | 2011-12-27 | Prodea Systems, Inc. | Device and a method for ordering product at a premises via an integrated multimedia service system |
US8312190B2 (en) * | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Protocol translation in a serial buffer |
US9307042B2 (en) * | 2011-12-07 | 2016-04-05 | Verizon Patent And Licensing Inc. | Orchestration server for video distribution network |
-
2013
- 2013-04-29 US US13/873,203 patent/US20140280494A1/en not_active Abandoned
-
2014
- 2014-03-11 WO PCT/US2014/022898 patent/WO2014159304A1/en active Application Filing
- 2014-03-11 CN CN201480014267.4A patent/CN105144111A/zh active Pending
- 2014-03-11 EP EP14720294.9A patent/EP2972862B1/en not_active Not-in-force
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263365A1 (en) * | 2002-11-14 | 2008-10-23 | International Business Machines Corporation | Integrating legacy application/data access with single sign-on in a distributed computing environment |
US20080140861A1 (en) * | 2006-12-06 | 2008-06-12 | Yahoo! Inc. | Web Services Multi-Protocol Support |
US20090323110A1 (en) * | 2008-06-25 | 2009-12-31 | Yoshiko Shiimori | Relay server for print service and method of controlling same |
CN102812665A (zh) * | 2010-03-18 | 2012-12-05 | 微软公司 | 用于实现跨多个web服务的认证的可***令牌提供商模型 |
US20120047494A1 (en) * | 2010-08-17 | 2012-02-23 | Lsi Corporation | Application programming interface (api) router implementation and method |
US20120072926A1 (en) * | 2010-09-17 | 2012-03-22 | Samsung Electronics Co., Ltd. | Method and apparatus for constructing a widget environment |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412006A (zh) * | 2016-08-25 | 2017-02-15 | 苏州蓝海彤翔***科技有限公司 | 移动终端调用web应用的通信***、方法及装置 |
CN111164945A (zh) * | 2017-10-13 | 2020-05-15 | 瑞典爱立信有限公司 | 用于不同架构之间的代理的方法和装置 |
US11750708B2 (en) | 2017-10-13 | 2023-09-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for proxy between different architectures |
CN109660606A (zh) * | 2018-12-05 | 2019-04-19 | 新华三大数据技术有限公司 | 网络消息代理方法、装置及*** |
CN110187983A (zh) * | 2019-05-24 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 一种远程调用方法、装置及电子设备 |
CN111614757A (zh) * | 2020-05-20 | 2020-09-01 | 中国建设银行股份有限公司 | 客户端与服务器的报文交互方法、装置、设备及介质 |
CN112261075A (zh) * | 2020-09-07 | 2021-01-22 | 上海泛微软件有限公司 | 网络请求处理方法、装置、设备及计算机可读存储介质 |
CN112565215A (zh) * | 2020-11-25 | 2021-03-26 | 电信科学技术第十研究所有限公司 | 基于分布式服务代理的rest应用架构及构架方法 |
CN113676483A (zh) * | 2021-08-26 | 2021-11-19 | 中国联合网络通信集团有限公司 | 多区块链的接入管理方法及其***、能力开放装置 |
CN115509647A (zh) * | 2022-11-21 | 2022-12-23 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
CN115509647B (zh) * | 2022-11-21 | 2023-03-03 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20140280494A1 (en) | 2014-09-18 |
WO2014159304A1 (en) | 2014-10-02 |
EP2972862B1 (en) | 2018-04-25 |
EP2972862A1 (en) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144111A (zh) | 用于不同web服务架构的中继服务 | |
CN105229987B (zh) | 主动联合的移动认证 | |
CN108901022B (zh) | 一种微服务统一鉴权方法及网关 | |
CN108733991B (zh) | 网页应用访问方法及装置、存储介质 | |
CN100568256C (zh) | 用于运行时刻用户帐户创建操作的方法 | |
US10362026B2 (en) | Providing multi-factor authentication credentials via device notifications | |
US8347378B2 (en) | Authentication for computer system management | |
TW200810460A (en) | Authentication of a principal in a federation | |
CN110278179A (zh) | 单点登录方法、装置和***以及电子设备 | |
CN109150800A (zh) | 一种登录访问方法、***和存储介质 | |
CN108287894A (zh) | 数据处理方法、装置、计算设备及存储介质 | |
EP2813051B1 (en) | Dynamic sharing of a webservice | |
CA3176188A1 (en) | Using client certificates to communicate trusted information | |
CN115065703A (zh) | 物联网***及其认证与通信方法、相关设备 | |
WO2012097728A1 (zh) | 一种开放平台代理访问方法及装置 | |
CN103179108B (zh) | 应用认证方法及计算机*** | |
CN104426890B (zh) | 基于b/s架构的网元访问方法和*** | |
EP3329650B1 (en) | Providing multi-factor authentication credentials via device notifications | |
WO2015149530A1 (zh) | M2m应用服务方法、装置及*** | |
TWI434529B (zh) | 提供近場通訊裝置安全連線的系統及其方法 | |
CN116708027B (zh) | 一种多端远程协同通信方法、装置、设备及存储介质 | |
US8761818B2 (en) | Converged dialog in hybrid mobile applications | |
CN118114213A (zh) | 认证方法、装置、业务平台及存储介质 | |
EP4272096A1 (en) | Multiworkflow authorization system and method | |
CN117614934A (zh) | 资源转移方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151209 |