CN111819589B - 用于建立共同请求处理的系统和方法 - Google Patents

用于建立共同请求处理的系统和方法 Download PDF

Info

Publication number
CN111819589B
CN111819589B CN201980017352.9A CN201980017352A CN111819589B CN 111819589 B CN111819589 B CN 111819589B CN 201980017352 A CN201980017352 A CN 201980017352A CN 111819589 B CN111819589 B CN 111819589B
Authority
CN
China
Prior art keywords
request
response
processor
implementation
stub
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.)
Active
Application number
CN201980017352.9A
Other languages
English (en)
Other versions
CN111819589A (zh
Inventor
R·苏希亚
R·K·巴图拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visa International Service Association
Original Assignee
Visa International Service Association
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Visa International Service Association filed Critical Visa International Service Association
Publication of CN111819589A publication Critical patent/CN111819589A/zh
Application granted granted Critical
Publication of CN111819589B publication Critical patent/CN111819589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

本发明公开了一种方法。实施方案建立系统可以从请求处理器接收包括请求方法模型和模板的第一消息。所述实施方案建立系统可以基于所述请求方法模型和所述模板生成至少一个测试API调用。所述实施方案建立系统可以随后将所述至少一个测试API调用传送到所述请求处理器。所述实施方案建立系统可以基于所述至少一个测试API调用从所述请求处理器接收至少一个响应。所述实施方案建立系统可以评估所述至少一个响应。所述实施方案建立系统可以基于所述至少一个响应生成响应通知。所述实施方案建立系统可以将所述响应通知传送到所述请求处理器。

Description

用于建立共同请求处理的系统和方法
相关申请交叉引用
本申请要求2018年3月6日提交的第15/913,638号美国申请案的优先权,所述美国申请案出于所有目的以全文引用的方式并入本文中。
背景技术
在当前系统和方法中,从请求系统到请求处理器的请求消息是通过请求格式化平台发送的。举例来说,作为资源提供商计算机的请求系统可以传送请求消息,请求授权可以经由请求格式化平台将请求消息传送到授权实体计算机的请求处理器。在从请求系统接收请求之后,请求格式化平台可以根据共同请求处理API的规范生成对请求处理器的格式化的请求。同一共同请求处理API可以由请求格式化平台使用以根据一个特定格式与所有请求处理器通信。
然而,通过这样做,请求处理器需要按请求格式化平台的API规范来译码。通常,这是通过手动地设置请求处理器与请求格式化平台之间的API调用,并且接着进行故障排除来完成。为了做到这一点,请求处理器的用户通常经由电子邮件向请求格式化平台的用户提供端点细节。请求处理器的用户随后将他们希望使用哪些API服务提供给请求格式化平台的用户。请求处理器的用户随后对其系统进行译码以能够以对应于共同请求处理API的格式接收调用。请求处理器的用户发电子邮件或以其它方式联系请求格式化平台的用户,陈述他们准备好接收API调用。在协调日期和时间之后,请求格式化平台可将API调用传送到请求处理器。请求处理器可响应API调用。请求格式化平台的用户可以随后确定是否以正确格式接收到API调用。请求格式化平台的用户可以随后与请求处理器的用户讨论决定如何配置请求处理器,使得其正确地响应API调用。
一旦请求处理器已被配置,就会发生更多次轮的API调用和响应。在请求处理器正确地生成响应之后,请求处理器的用户可以从请求格式化平台要求认证。
此过程具有若干缺点。一个是请求格式化平台需要具有专门的支持和集成团队来将请求处理器细节加载到请求格式化平台上,且发起定制API调用以测试请求处理器的响应。
另一问题是对特定API进行译码的请求处理器高度依赖于请求格式化平台针对所述API来加载和测试请求处理器的响应。
这些问题导致较低的效率、较长的上市时间以及带有缺陷和项目管理问题的解决方案,原因在于对请求处理器需要遵从的外部系统的相互依赖性。关于多个请求处理器进行此操作又显著地增加问题。
本发明的实施例个别地以及共同地解决这些问题和其它问题。
发明内容
本发明的实施例通过允许请求处理器自动建立用于响应请求的实施方案而解决这些问题。
本发明的一个实施例包括一种方法,其包括一种方法,包括:由实施方案建立系统从请求处理器接收包括请求方法模型和模板的第一消息;由实施方案建立系统基于请求方法模型和模板生成至少一个测试API调用;由实施方案建立系统将所述至少一个测试API调用传送到请求处理器;由实施方案建立系统基于所述至少一个测试API调用从请求处理器接收至少一个响应;由实施方案建立系统评估所述至少一个响应;由实施方案建立系统基于所述至少一个响应生成响应通知;以及由实施方案建立系统将响应通知传送到请求处理器。
本发明的另一实施例包括一种实施方案建立系统,其包括:处理器;存储器装置;以及耦合到处理器的计算机可读介质,所述计算机可读介质包括可由处理器执行以用于实施一种方法的代码,所述方法包括:从请求处理器接收包括请求方法模型和模板的第一消息;基于请求方法模型和模板生成至少一个测试API调用;将所述至少一个测试API调用传送到请求处理器;基于所述至少一个测试API调用从请求处理器接收至少一个响应;评估所述至少一个响应;基于所述至少一个响应生成响应通知;以及将响应通知传送到请求处理器。
本发明的另一实施例包括一种方法,包括:由请求处理器将包括请求方法模型和模板的第一消息传送到实施方案建立系统;由请求处理器基于请求方法模型和模板从实施方案建立系统接收至少一个测试API调用;由请求处理器的客户端请求桩程序(stub)基于所述至少一个测试API调用生成响应;由请求处理器将响应传送到实施方案建立系统;由请求处理器基于响应从实施方案建立系统接收响应通知;以及由请求处理器确定是否配置客户端请求桩程序。
本发明的另一实施例包括一种请求处理器,其包括:处理器;存储器装置;以及耦合到处理器的计算机可读介质,所述计算机可读介质包括可由处理器执行以用于实施一种方法的代码,所述方法包括:将包括请求方法模型和模板的第一消息传送到实施方案建立系统;基于请求方法模型和模板从实施方案建立系统接收至少一个测试API调用;基于所述至少一个测试API调用生成响应;将响应传送到实施方案建立系统;基于响应从实施方案建立系统接收响应通知;以及确定是否配置客户端请求桩程序。
在下文参考附图和具体实施方式进一步详细描述这些和其它实施例。
附图说明
图1示出根据本发明的实施例的用于处理请求的系统的框图。
图2示出根据本发明的实施例的第一请求处理器的框图。
图3示出根据本发明的实施例的实施方案建立系统的框图。
图4示出根据本发明的实施例的示出用于为请求处理器建立实施方案的方法的流程图。
图5示出根据本发明的实施例的示出用于为请求处理器建立实施方案的替代方法的流程图。
具体实施方式
在论述本发明的实施例之前,可以进一步详细描述一些术语。
“应用程序编程接口”或“API”可以是用于建立和维护软件和应用程序的一组定义、协议和工具。API可以用于服务器计算机、基于网络的系统、操作系统、数据库系统、计算机硬件和/或计算机软件。“共同请求处理API”可以是被配置成处理中多个实体当中共同的请求(例如,格式请求、行动请求、响应请求等)的任何API。举例来说,共同请求处理API可以由接收且格式化请求的请求格式化平台以及由接收、行动且响应格式化请求的多个请求处理器实施,使得请求格式化平台可以与多个请求处理器类似地(例如,以相似格式)通信。
“规范”可包括某物的一个或多个要求和/或细节。在一些实施例中,用于应用程序编程接口(API)的规范可以包括用于例程、数据结构、对象类别、变量和/或远程调用的要求。举例来说,用于API的规范可以指定对请求运行特定例程以生成格式化请求。在另一实例中,用于API的规范可以指定将用于生成对格式化请求的响应的特定结构或格式。
“实施方案”可以是由实施方案建立系统视为完全起作用且完成的程序或软件组件。对于规范可以存在多于一个实施方案。
“桩程序”可以是用以代替某一其它编程功能性的一条代码或程序。在一些实施例中,桩程序可以是不完整的实施方案。桩程序可以被配置和/或更改而变为实施方案。举例来说,请求处理器可以使用桩程序以生成响应于请求的响应,其中桩程序可能生成不正确的响应。如果桩程序生成不正确的响应,那么桩程序可以被配置成不生成不正确的响应。在一些实施例中,如果桩程序不生成不正确的响应,那么桩程序可以被视为实施方案。
“请求方法模型”可以是用于请求处理的模型。请求方法模型可以包括至少一个请求方法。在一些实施例中,请求方法可以包括请求处理器支持的API服务、请求处理器支持的API服务的序列、请求处理器根据需要支持的API字段,和/或请求处理器任选地支持的API字段。在一些实施例中,不同请求处理器可以与不同请求方法模型相关联。举例来说,请求方法模型可以包括与银行转账相关的请求方法,具有“支付处理”、“退款服务”和“状态服务”的API服务。可以使用任何合适的请求方法。可以使用任何合适的API服务。在一些实施例中,请求方法可涉及支付、医疗保健、银行、零售、装运、公共事业、数据管理、教育或制造。
“字段”可以指代在固定或已知位置的可分的数据集合。举例来说,消息可以包括一个或多个不同字段。每一字段可以具有类型和/或位置。字段的类型可为例如用于请求系统的标识符,而字段可以包括“Resource_Provider_A”。字段的位置可为例如在消息的开端处的第一字段。字段由于其已知位置而可以是可剖析的。字段可以具有固定或可变长度。如果字段具有固定长度,那么字段将容易地为可剖析的,因为其始终具有特定数目的字符。在一些实施例中,可以将前导零(或另一值)添加到字段以使其为恰当固定长度。如果字段具有可变长度,那么所述字段可以通过使用分隔符(例如,一个或多个空格、一个或多个标点符号,或任何其它字符)从消息中的其它字段剖析。
“格式”可以指代某物的布置、组织、大小、形状和/或组成。举例来说,消息的格式可以包括消息中的字段的数目、消息中的字段的大小、消息中的字段的类型、消息中的字段的位置(例如,布置)、字段之间和消息的其它位置中的间距,和/或字段中和之间以及消息的其它位置中的标点。
“标识符”可以指代用以唯一地标识某物的字母、数字和/或符号的任何组合。可以随机地、连续地或根据任何模式或算法指派标识符。在一些实施例中,请求系统可以与可用以将请求系统标识到请求格式化平台的标识符相关联。
“请求”可以是在要求某物的实体之间发送的任何消息。请求可以来源于一个实体且发送到另一实体以要求某物。在一些实施例中,请求可以要求信息、数据、动作、不动作、服务、应用程序及类似物。请求可以通过任何合适方法,例如通过网络传送。请求可以包括可以由接收实体解译的字母、数字和/或符号的任何组合。在一些实施例中,请求可以被加密、散列、编码或另外模糊处理。请求可呈例如API调用的形式。请求可以具有任何格式。“格式化请求”可以是已被转换为特定格式的请求。
“请求处理器”可以是包括可处理从另一实体(例如,系统、装置或服务器计算机)接收的请求的一个或多个电子组件的实体(例如,系统或服务器计算机)。举例来说,请求处理器可为包括至少一个处理器的计算装置,所述至少一个处理器耦合到存储用于由处理器执行的指令或代码的存储器。请求处理器可以向网络提供远程通信能力。请求处理器可被配置成将数据或通信传送到其它装置以及从其它装置接收数据或通信。在一些实例中,请求处理器可以是服务提供商或由服务提供商操作。
“请求系统”可以是包括可将请求传达到另一实体(例如,系统、装置或服务器计算机)的一个或多个电子组件(例如,集成芯片)的实体(例如,系统或装置)。举例来说,请求系统可为包括至少一个处理器的计算装置,所述至少一个处理器耦合到存储用于由处理器执行的指令或代码的存储器。请求系统可以对网络提供远程通信能力。请求系统可被配置成将数据或通信传送到其它装置以及从其它装置接收数据或通信。请求系统可以呈计算机、接入装置(例如,销售点装置)、例如移动电话(例如,智能电话、蜂窝式电话等)的移动装置、平板计算机、便携式媒体播放器、个人数字助理装置(PDA)、可穿戴计算装置(例如,手表)、健康监视装置、电子读取器装置(例如,卡读取器装置)、物联网(IoT)装置等的形式,或呈卡(例如,智能卡)或钥匙链等的形式。请求系统的实例还可以包括便携式计算装置(例如,膝上型计算机、上网本、超级本等)。请求系统还可呈车辆(例如,汽车)的形式,或集成为车辆的部分(例如,车辆的信息系统)。
“资源”可以是任何有形或无形资产。示例性资源包括金钱、劳动、数据、软件、商品、信息、服务及类似物。
“响应”可以是在响应请求的实体之间发送的任何消息。响应可以来源于一个实体且发送到另一实体以提供答案、结果或对请求的反应,但每个请求不一定需要或具有响应。响应可以通过任何合适方法,例如通过网络传送。在一些实施例中,响应可以包括信息、通知、报告、数据、动作、不动作、服务、应用程序及类似物。响应可以包括可以由接收实体解译的字母、数字和/或符号的任何组合。在一些实施例中,响应可以被加密、散列、编码或另外模糊处理。响应可以具有任何格式。“格式化响应”可以是已以特定格式生成的响应。
“服务器计算机”可以包括有力的计算机或计算机集群。举例来说,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,并且可以使用多种计算结构、布置和编译中的任一种来服务于来自一个或多个客户端计算机的请求。请求格式化平台可以是服务器计算机的实例。
“端点”可以是通信信道的末端。在一些实施例中,终点可以是用以与API通信的统一资源定位符(universal resource locator,URL)。在其它实施例中,端点可以是请求和其它API调用可以到达以进行处理的地方。
A.系统
下文描述系统。在方法部分中进一步详细描述系统的能力。
图1示出根据本发明的实施例的包括若干组件的系统100的框图。系统100包括请求系统104、请求格式化平台106、实施方案建立系统102、第一请求处理器108A、第二请求处理器108B,以及第N请求处理器108C。
请求系统104可以与请求格式化平台106成操作性通信。请求格式化平台106可以操作方式耦合到实施方案建立系统106F。实施方案建立系统102可以与第一请求处理器108A、第二请求处理器108B和第N请求处理器108C成操作性通信。
实施方案建立系统106F、请求系统104、请求格式化平台106、第一请求处理器108A、第二请求处理器108B和第N请求处理器108C可以通过任何合适的通信信道或通信网络彼此成操作性通信。合适的通信网络可以是下列中的任一个和/或组合:直接互连、互联网、局域网(LAN)、城域网(MAN)、作为互联网节点的运行任务(OMNI)、安全定制连接、广域网(WAN)、无线网络(例如,采用协议诸如但不限于无线应用协议(WAP)、I-模式等),等等。计算机、网络与装置之间的消息可以使用安全通信协议来传送,这些安全通信协议诸如,但不限于,文件传送协议(FTP);超文本传送协议(HTTP);安全超文本传送协议(HTTPS)、安全套接层(SSL)、ISO(例如,ISO 8583)等。
为了简化说明,图1中示出一定数目的组件。然而,应理解,本发明的实施例可以包括多于一个每种组件。举例来说,可能存在多于一个请求系统104。在一些实施例中,可能存在数千个请求系统104。
请求系统104可以是能够与请求格式化平台106通信的系统或装置。请求系统104可以将请求传送到请求格式化平台106。请求可以呈能够由请求格式化平台106接收的任何合适的格式。在一些实施例中,请求系统104可以与请求系统标识符相关联。
请求格式化平台106可能够从请求系统104接收请求。来自请求系统104的请求可以呈符合请求格式化平台106的规范的格式。在一些实施例中,请求格式化平台106可以与第一请求处理器108A、第二请求处理器108B和第N请求处理器108C成操作性通信。请求格式化平台106可以执行2016年11月18日提交的第15/355,453号美国专利申请案中进一步描述的功能中的任一个,所述美国专利申请案出于所有目的以全文引用的方式并入本文中。
实施方案建立系统102可以与请求格式化平台106相关联。在一些实施例中,实施方案建立系统102可以是服务器计算机。实施方案建立系统102可能够从第一请求处理器108A接收数据且可能够将数据传送到第一请求处理器108A。
在一些实施例中,实施方案建立系统102可能够从第一请求处理器108A接收包括请求方法模型和模板的第一消息。实施方案建立系统102可能够基于请求方法模型和模板生成至少一个测试API调用。实施方案建立系统102可以随后能够将所述至少一个测试API调用传送到第一请求处理器108A。
此外,实施方案建立系统102可能够基于所述至少一个测试API调用而从第一请求处理器108A接收至少一个响应。实施方案建立系统102可以随后能够评估所述至少一个响应且基于所述至少一个响应生成响应通知。实施方案建立系统102可能够将响应通知传送到第一请求处理器108A。
在其它实施例中,实施方案建立系统102可以从第一请求处理器108A接收请求消息。请求消息可以调用实施方案建立系统102以生成客户端请求桩程序和模拟器模块。在一些实施例中,实施方案建立系统102可以生成客户端请求桩程序。实施方案建立系统102还可以生成模拟器模块。在一些实施例中,实施方案建立系统102可以将客户端请求桩程序传送到第一请求处理器108A。
第一请求处理器108A、第二请求处理器108B和第N请求处理器108C可以是服务器计算机。第一请求处理器108A可能够经由请求格式化平台106从请求系统104接收请求。
在一些实施例中,第一请求处理器108A可能够通过提供请求处理器端点而将自身加载到实施方案建立系统102上,所述端点可以接收测试API调用以及API调用。所述请求处理器端点可以是URL,其被定义成以特定格式接收测试API调用以及API调用,并且接着根据共同请求处理API的规范进行响应。第一请求处理器108A可能够使用共同请求处理API。第一请求处理器108A可以构建符合共同请求处理API的规范的代码。
第一请求处理器108A可以将包括请求方法模型和模板的第一消息传送到实施方案建立系统102。第一请求处理器108A可以基于请求方法模型和模板从实施方案建立系统102接收至少一个测试API调用。在一些实施例中,在接收到所述至少一个测试API调用之后,第一请求处理器108A可以基于所述至少一个测试API调用生成至少一个响应。第一请求处理器108A可以随后将所述至少一个响应传送到实施方案建立系统102。第一请求处理器108A可以随后基于所述至少一个响应从实施方案建立系统102接收响应通知。
在一些实施例中,第一请求处理器108A可能够将认证请求传送到请求格式化平台106。实施方案建立系统102可能够基于至少认证请求确定认证第一请求处理器108A的客户端请求桩程序。在其它实施例中,第一请求处理器108A可以向实施方案建立系统102提交故障单以用于故障排除和帮助。
第二请求处理器108B和第N请求处理器108C可以具有与第一请求处理器108A相似或不同的特性,且此处无需重复共同特性的描述。
图2示出根据本发明的实施例的第一请求处理器108A的框图。第一请求处理器108A可以包括处理器202、网络接口204、输入/输出元件206、包括客户端请求桩程序210A的计算机可读介质210,以及存储器208。
网络接口204可以包括可允许第一请求处理器108A与外部计算机或其它节点通信的接口。举例来说,网络接口204可以包括触点、蓝牙或Wi-Fi接口。在一些实施例中,网络接口204可以被配置成允许第一请求处理器108A与实施方案建立系统102之间的安全传送。
输入/输出元件206可以包括可以输出数据的任何合适的装置。输入元件的实例可以包括按钮、触摸屏、触摸板、麦克风、生物计量扫描器等。输出元件的实例可以包括显示屏、扬声器和数据传送装置。
计算机可读介质210可以包括可由处理器202执行的代码。计算机可读介质210可含有任何数目的应用程序、模块和代码。计算机可读介质210可以包括包括客户端请求桩程序210A的若干模块。计算机可读介质210还可以包括代码,所述代码在由处理器202执行时可以实施一种方法,包括:将包括请求方法模型和模板的第一消息传送到实施方案建立系统;基于请求方法模型和模板从实施方案建立系统接收至少一个测试API调用;基于所述至少一个测试API调用生成响应;将响应传送到实施方案建立系统;由请求处理器基于响应从实施方案建立系统接收响应通知;以及确定是否配置客户端请求桩程序。
客户端请求桩程序210A可以是桩程序。换句话说,客户端请求桩程序210A可能不是完整实施方案。客户端请求桩程序210A可以被配置成和/或更改而变为实施方案。在一些实施例中,实施方案建立系统102可以确定客户端请求桩程序210A是否正确地响应测试API调用。如果客户端请求桩程序210A正确地响应测试API调用,那么在一些实施例中,实施方案建立系统102可以认证客户端请求桩程序210A,其中客户端请求桩程序210A可以随后被视为实施方案。
存储器208可以耦合到处理器202且可以存储数据、应用程序、密钥和任何其它合适的信息。存储器208可呈使用任何合适数据存储模式的一个或多个存储器装置(例如,RAM、EEPROM、ROM芯片)的形式。在一些实施例中,第一请求处理器108A中的存储器208还可以包括用于存储例如加密密钥等敏感数据的安全存储区域。
图3示出根据本发明的实施例的实施方案建立系统102的框图。实施方案建立系统102可以包括:网关配置302,其包括API模拟器模块302A、测试报告生成模块302B和门户302C;网关处理304,其包括调用生成器304A和响应分析器304B;以及网关配置持久性306,其包括请求方法模型配置306A和基础结构配置306B。图3还示出用户310和包括客户端请求桩程序210A的第一请求处理器108A。在一些实施例中,用户310可以操作计算机,未图示。
网关配置302可以操作方式耦合到网关处理304和网关配置持久性306。网关处理304可以操作方式耦合到网关配置持久性306。用户310可以访问网关配置302。客户端请求桩程序210A可以与调用生成器304A和响应分析器304B成操作性通信。
网关配置302可以是第一请求处理器108A的用户310可以通过其配置请求处理器细节的网关,所述细节例如请求方法模型和请求处理器基础结构。网关配置302可以包括API模拟器模块302A、测试报告生成模块302B和门户302C。在一些实施例中,网关配置302可以是用户310可以通过其访问API模拟器模块302A、测试报告生成模块302B和门户302C的接口。举例来说,用户310可以经由网关配置302访问API模拟器模块302A以开始API模拟。
网关处理304可能够处理数据。网关处理304可以包括调用生成器304A和响应分析器304B。在一些实施例中,网关处理可以包括能够处理数据的模块。在一些实施例中,网关处理304和其中的模块不可由用户310访问。
网关配置持久性306可以操作方式耦合到网关处理304以及门户302C。网关配置持久性306可能够存储信息和数据。在一些实施例中,网关配置持久性306可以是存储器或数据库,或者存储器或数据库中的文件。网关配置持久性306可以包括请求方法模型配置306A和基础结构配置306B。
门户302C可以是第一请求处理器108A可以通过其访问网关配置持久性306的门户。门户302C可能够将用户310连接到包括请求方法模型配置306A和基础结构配置306B的网关配置持久性306。在一些实施例中,门户302C可以允许用户310输入请求方法模型和请求处理器基础结构。
请求方法模型配置306A可以存储第一请求处理器108A的请求方法模型。在一些实施例中,请求方法模型配置306A可以被配置成允许用户310选择第一请求处理器108A支持的API服务、请求处理器支持的API服务的序列、请求处理器根据需要支持的API字段,以及请求处理器任选地支持的API字段。举例来说,用户310可以选择医疗保健请求的请求方法,其具有“计划回顾服务”、“预约服务”和“状态服务”的API服务。请求方法模型配置306A可以随后存储用户310对请求方法模型的选择。在一些实施例中,门户302C可以被配置成允许用户310编辑存储于请求方法模型配置306A中的请求方法模型和基础结构。
基础结构配置306B可以存储第一请求处理器108A的基础结构。在一些实施例中,第一请求处理器108A的基础结构可以是请求处理器的端点和请求处理器的IP地址。在一些实施例中,基础结构配置306B可以存储其它相关基础结构数据,例如标识第一请求处理器108A的信息。举例来说,基础结构配置306B可以存储请求处理器的IP和端点以及操作第一请求处理器108A的实体的名称。在一些实施例中,第一请求处理器108A可以与可存储于基础结构配置306B中的请求处理器标识符相关联。
API模拟器模块302A可以是在由处理器执行时能够模拟API的模块。在一些实施例中,API模拟器模块302A可以经由网关配置302从用户310接收请求方法模型和模板。模板可以是用于实施方案建立系统102生成测试API调用的一组测试情境。第一请求处理器108A可能够创建和/或使用模板来测试客户端请求桩程序210A。举例来说,模板可以包括其中以正确字段格式化测试API调用的第一测试情境、其中格式化测试API调用而无所需“金额”字段的第二测试情境、其中以不支持的货币代码格式化测试API调用的第三测试情境,以及其中以大于原始支付金额的退款金额格式化测试API调用的第四测试情境。
API模拟器模块302A与处理器结合可以调用调用生成器304A以生成至少一个测试API调用。在一些实施例中,API模拟器模块302A可能够响应于从第一请求处理器108A接收到包括请求方法模型和模板的第一消息而生成客户端请求桩程序210A。
在一些实施例中,API模拟器模块302A与处理器结合可以基于请求方法模型生成客户端请求桩程序210A。在一些实施例中,API模拟器模块302A可以生成客户端请求桩程序210A以使得客户端请求桩程序210A可能够响应与请求方法模型相关的测试API调用和API调用。举例来说,API模拟器模块302A可以通过使用请求格式化平台106的相关支付API规范而生成可能够响应支付API调用的客户端请求桩程序210A。在一些实施例中,API模拟器模块302A可以编译通过共同请求处理API概括的功能和/或代码。
在其它实施例中,实施方案建立系统102可能够生成API模拟器模块302A。实施方案建立系统102可以从第一请求处理器108A接收请求消息,其中请求消息指示生成模拟器模块的请求。实施方案建立系统102可以生成用于每一请求处理器的API模拟器模块302A。举例来说,可能存在请求生成API模拟器的四个请求处理器。实施方案建立系统102可以生成用于四个请求处理器的四个API模拟器模块。
在一些实施例中,API模拟器模块302A的生成可以包括实施方案建立系统102根据共同请求处理API规范编译预制功能、例程、数据结构、对象类别、变量和/或远程调用。在其它实施例中,API模拟器模块302A的生成可以基于请求方法模型。举例来说,如果请求方法模型涉及银行转账,那么API模拟器模块302A可以包括与银行转账相关的功能和预制代码。
调用生成器304A可能够生成至少一个测试API调用。所述至少一个测试API调用可以与第一请求处理器108A的请求方法模型相关。调用生成器304A可以由API模拟器模块302A调用。调用生成器304A可以基于共同请求处理API格式化所述至少一个测试API调用。调用生成器304A可以将至少一个测试API调用传送到第一请求处理器108A的客户端请求桩程序210A。
在一些实施例中,如果调用生成器304A从API模拟器模块302A接收到模板,那么调用生成器304A可以基于模板生成至少一个测试API调用。举例来说,模板可以包括其中以正确字段格式化测试API调用的第一测试情境、其中格式化测试API调用而无所需的“doctor_name”字段的第二测试情境,以及其中格式化测试API调用而无所需的“条件”和“日期”字段的第三测试情境。在此实例中,调用生成器304A可以生成包括正确格式化字段的第一测试API调用、包括缺失的“doctor_name”字段的第二测试API调用,以及包括缺失的“条件”字段和缺失的“日期”字段的第三测试API。
在一些实施例中,调用生成器304A可以生成至少一个预期响应。所述至少一个预期响应可以是实施方案建立系统102预期接收的响应。所述至少一个预期响应可以基于共同请求处理API而格式化。举例来说,如果格式化测试API调用而无所需的“doctor_name”字段,那么预期响应可以包括具有“原因”和“位置”的子字段的“错误”字段。在此实例中,“原因”子字段可含有“需要医生姓名”且“位置”子字段可含有“doctor_name”。
第一请求处理器108A可以包括客户端请求桩程序210A。客户端请求桩程序210A可以与实施方案建立系统102成操作性通信。在一些实施例中,客户端请求桩程序210A可以与调用生成器304A和响应分析器304B成操作性通信。客户端请求桩程序210A可以是可为用于请求处理器的实施方案的占位符的桩程序。举例来说,客户端请求桩程序210A可以是实施方案建立系统102可能需要完成或可能需要认证的不完整实施方案。
客户端请求桩程序210A可能够基于所述至少一个测试API调用生成至少一个响应。客户端请求桩程序210A可能够将所述至少一个响应传送到实施方案建立系统102。在一些实施例中,如果客户端请求桩程序210A接收到四个测试API调用,那么客户端请求桩程序210A可以生成四个响应。客户端请求桩程序210A可以生成任何合适数目的响应。
响应分析器304B可能够从客户端请求桩程序210A接收至少一个响应。响应分析器304B可以分析所述至少一个响应。在一些实施例中,响应分析器304B可以接收所述至少一个响应,并且接着可以在存储器或数据库中记录所述至少一个响应。在一些实施例中,可以在网关配置持久性306中记录所述至少一个响应。
在其它实施例中,响应分析器304B可以剖析和分析所述至少一个响应,其中剖析和分析所述至少一个响应可以包括剖析所述至少一个响应的字段并确定所述至少一个响应是否匹配所述至少一个预期响应。在一些实施例中,响应分析器304B可以将经过剖析和分析的响应传送到测试报告生成模块302B。举例来说,所述至少一个响应可以是数据串。可以剖析数据串以获得字段,例如“doctor_name”、“错误”、“位置”等。可以将经过剖析的数据串,即字段和子字段与预期字段和子字段进行比较。
测试报告生成模块302B可以生成响应通知。在一些实施例中,测试报告生成模块302B可以从响应分析器304B接收经过剖析和分析的响应,其中测试报告生成模块302B可以基于经过剖析和分析的响应生成响应通知。
在一些实施例中,经过剖析和分析的响应可以指示响应与预期响应之间的差异。举例来说,可能存在对应于每一字段的指示所述字段是否匹配对应预期字段的子字段。
在一些实施例中,测试报告生成模块302B可以基于对至少一个测试API调用的所述至少一个响应而生成响应通知。响应通知可以包括成功指示符、原因和差异列表。成功指示符可以指示响应是否失败或响应是否成功。原因可以描述响应为何失败或成功。差异列表可以列出响应与预期响应之间的差异。
用户310可以是与第一请求处理器108A相关联的用户。用户310可以访问网关配置302。
在其它实施例中,实施方案建立系统102还可包括处理器、网络接口、输入/输出元件和计算机可读介质。举例来说,实施方案建立系统102的计算机可读介质可以包括代码,所述代码当由实施方案建立系统102的数据处理器执行时可以实施一种方法,包括:从请求处理器接收包括请求方法模型和模板的第一消息;基于请求方法模型和模板生成至少一个测试API调用;将所述至少一个测试API调用传送到请求处理器;基于所述至少一个测试API调用从请求处理器接收至少一个响应;评估所述至少一个响应;基于所述至少一个响应生成响应通知;以及将响应通知传送到请求处理器。
B.方法
图4示出根据本发明的实施例的示出用于为请求处理器建立请求的方法的流程图。将在银行转账的请求方法模型的上下文中描述图4中示出的方法。然而,应理解本发明可应用于其它环境(例如,支付、医疗保健、银行、零售、装运、公共事业、数据管理、教育、制造等)。虽然以特定顺序示出了步骤,但是应当理解,本发明的实施例可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本发明的实施例内。
在步骤S402,第一请求处理器108A可以将请求消息传送到实施方案建立系统102。请求消息可以包括设置客户端请求桩程序210A的请求。在一些实施例中,请求消息可以包括第一请求处理器108A的请求方法模型和基础结构。第一请求处理器108A的基础结构可以包括端点、请求处理器的IP地址、请求处理器标识符和任何其它合适的信息。请求方法模型可以存储于请求方法模型配置306A中。第一请求处理器108A的基础结构可以存储于基础结构配置306B中。
在其它实施例中,第一请求处理器108A的用户310可以经由门户302C将第一请求处理器108A的请求方法模型和基础结构的细节输入到网关配置持久性306中。
在一些实施例中,第一请求处理器108A可能够定义请求方法模型,例如将使用哪些API服务、针对请求将使用哪些API字段,以及将支持何种使用情况。一些实例API服务可以是“用于支付处理的销售API服务”、“退款服务”和“状态服务”。将使用的每一API服务可以使用不同API字段。举例来说,API服务“用于支付处理的销售API服务”可以支持“金额”、“货币”、“客户名称”、“商家描述符”、“国家”和“交易ID”的字段。第一请求处理器108A可以定义将与API服务一起使用的特征。举例来说,API服务“退款服务”可以使用“支持部分退款”的特征,而API服务“状态服务”可以使用“可用以获取支付或退款的状态”的特征。
在步骤S404,实施方案建立系统102可以生成API模拟器模块302A。可以生成API模拟器模块302A以使得其可以由传送请求消息的请求处理器访问。在一些实施例中,API模拟器模块302A可以与传送请求消息的第一请求处理器108A相关联。在其它实施例中,可存在许多不同API模拟器模块,其中每一不同API模拟器模块可以与不同请求处理器相关联。举例来说,第一请求处理器108A可以访问第一API模拟器模块,而第二请求处理器108B可以访问第二API模拟器模块。
在一些实施例中,API模拟器模块302A的生成可以包括实施方案建立系统102根据共同请求处理API规范和请求方法模型编译预制功能、例程、数据结构、对象类别、变量和/或远程调用。举例来说,如果请求方法模型涉及银行转账,那么API模拟器模块302A可以包括与银行转账相关的功能和预制代码。
在步骤S406,在接收请求消息之后,实施方案建立系统102可以生成客户端请求桩程序210A。实施方案建立系统102可以基于请求方法模型生成客户端请求桩程序210A。举例来说,请求方法模型可以是银行转账。可以生成客户端请求桩程序210A以使得其可以响应与银行转账相关的测试API调用和API调用。举例来说,实施方案建立系统102可以检取与银行转账相关的预制功能且将它们编译为客户端请求桩程序210A。
在步骤S408,在生成客户端请求桩程序210A和API模拟器模块302A之后,实施方案建立系统102可以将客户端请求桩程序210A传送到第一请求处理器108A。
在一些实施例中,第一请求处理器108A可以生成客户端请求桩程序210A而不是实施方案建立系统102生成客户端请求桩程序210A。举例来说,用户310可以选择第一请求处理器108A来生成客户端请求桩程序210A。
在步骤S410,第一请求处理器108A可以配置客户端请求桩程序210A。在一些实施例中,第一请求处理器108A可以为客户端请求桩程序210A配置端点、认证和请求系统标识符。客户端请求桩程序210A可以被配置成与第一请求处理器108A介接。举例来说,第一请求处理器108A可以使用端点设置实施方案建立系统102与客户端请求桩程序210A之间的通信信道。
在步骤S412,第一请求处理器108A可以在实施方案建立系统102处调用API模拟器。在一些实施例中,第一请求处理器108A可以将包括请求方法模型和模板的第一消息传送到实施方案建立系统102。模板可以是用于实施方案建立系统102生成测试API调用的一组测试情境。第一请求处理器108A可能够创建和/或使用模板来测试客户端请求桩程序210A。举例来说,模板可以包括其中以正确字段格式化测试API调用的第一测试情境、其中格式化测试API调用而无所需“金额”字段的第二测试情境、其中以不支持的货币代码格式化测试API调用的第三测试情境,以及其中以大于原始支付金额的退款金额格式化测试API调用的第四测试情境。
在步骤S414,在接收第一消息之后,实施方案建立系统102可以使用调用生成器304A生成至少一个测试API调用。可以基于请求方法模型和模板生成所述至少一个测试API调用。在一些实施例中,调用生成器304A可以经由网关处理304从网关配置持久性306接收请求方法模型。所述至少一个测试API调用可以包括如由请求方法模型请求的字段。实施方案建立系统102可以如上文所描述生成所述至少一个测试API调用且此处无需重复。在一些实施例中,实施方案建立系统102可以生成至少一个预期响应。预期响应可以是实施方案建立系统102预期接收的响应。所述至少一个预期响应可以基于共同请求处理API而格式化。在一些实施例中,可能存在相同数目的测试API调用和预期响应。
在步骤S416,实施方案建立系统102可以将所述至少一个测试API调用传送到第一请求处理器108A处的客户端请求桩程序210A。在步骤S418,在接收到测试API调用之后,第一请求处理器108A可以生成对所述至少一个测试API调用的至少一个响应。所述至少一个响应可以基于所述至少一个测试API调用且可以包括与使用的请求方法模型和模板的类型相关的信息。举例来说,所述至少一个响应可以包括用于“状态”、“responseCode”、“processorResponse”和“errorMessage”的字段。字段可以包括子字段。举例来说,字段“processorResponse”可以包括子字段“paymentRedirectURL”和“错误”。此外,子字段可以包括子字段。举例来说,子字段“paymentRedirectURL”可以包括子字段“类型”和“描述”。作为另一实例,子字段“错误”可以包括子字段“位置”、“原因”和“消息”。可以遵循共同请求处理API的格式生成所述至少一个响应。可以使用任何合适的字段和子字段。
在一些实施例中,所述至少一个测试API调用可以是多于一个API调用。举例来说,所述至少一个测试API调用可以是三个API调用。第一测试API调用可涉及API服务“用于支付处理的销售API服务”,第二测试API调用可涉及API服务“退款服务”,且第三测试API调用可涉及API服务“状态服务”。测试API调用可以当发送时在特定序列中。
举例来说,测试API调用可以是:
对上述实例测试API调用的实例响应可以是:
"状态":"失败",
"responseCode":"10000",
"processorResponse":{
"错误":[{
"位置":"金额",
"原因":"缺失",
"消息":"必须发送金额"
},]
"errorMessage":"字符串"(“需要金额”)
}
在以上实例中,传送测试API调用而无“金额”字段。在一些实施例中,可以生成和传送测试API调用而无需所有所需的字段。这可以完成以便测试第一请求处理器108A的客户端请求桩程序210A是否可生成对具有缺失字段的API调用的预期响应。在以上实例中,响应指示“失败”的“状态”、“金额”的“位置”,和“缺失”的“原因”。
在另一实例中,测试API调用可以包括不支持的货币代码。举例来说,第一请求处理器108A可以由欧洲的商家操作。商家可以仅接受欧元作为货币。在此实例中,请求方法模型可以支持具有子字段“货币”的字段“purchaseTotal”,其中“货币”子字段必须是欧元。具有设定成美元的“货币”子字段的实例测试API调用在下文示出:
由于测试API调用包括不支持的货币代码,因此预期响应将是:
"状态":"失败",
"responseCode":"10000",
"processorResponse":{
"错误":[{
"位置":"货币",
"原因":"无效",
"消息":"仅支持欧元作为货币"
},]
"errorMessage":"字符串"(“仅支持欧元作为货币”)
}
在此实例中,预期响应包括“失败”的“状态”。预期响应指示测试API调用中的“货币”子字段无效,因为仅支持欧元作为货币。
在又另一示例中,两个测试API调用可以从实施方案建立系统102发送到第一请求处理器108A。第一测试API调用可以用于购买且可以包括10欧元的购买总额。下方的第二测试API调用可以用于前一购买的退款。第二测试API调用可以与20欧元的退款总额一起发送。下方的预期响应可以包括错误且可以陈述退款金额高于原始金额。实例测试API调用:
实例预期响应:
"状态":"失败",
"responseCode":"10000",
"processorResponse":{
"错误":[
{
"位置":"货币",
"原因":"无效",
"消息":"退款金额高于原始支付金额"
},
]
"errorMessage":"字符串"(“退款金额高于原始支付金额”)
}
在另一实例中,测试API调用基于请求方法模型可以包括所需的字段。下方的测试API调用可以从实施方案建立系统102传送到第一请求处理器108A。下方的预期响应指示支付重定向URL的成功创建。
实例预期响应:
“SaleAPIResponse”:{
"状态":"成功",
"responseCode":"10000",
"processorResponse":{
"paymentRedirectURL":[
{
“类型”:"https://xyzbank.com/tthis784uhjrjhhujshd854j"
"描述":"成功创建URL",
},
}
在此实例中,由于测试API调用包括呈正确格式的所有所需的字段,因此预期响应是支付重定向URL的创建。
在步骤S420,在生成所述至少一个响应之后,第一请求处理器108A可以将所述至少一个响应传送到实施方案建立系统102。在步骤S422,在接收到所述至少一个响应之后,实施方案建立系统102可以验证所述至少一个响应。在一些实施例中,验证所述至少一个响应可以包括将所述至少一个响应与所述至少一个预期响应进行比较。实施方案建立系统102可以确定响应的特定子字段是否匹配预期响应的相应子字段。举例来说,所述至少一个响应可以包括设定成“商家A”的子字段“merchantDescriptor”。然而,预期响应可能包括设定成“商家B”的子字段“merchantDescriptor”。在此情况下,响应与预期响应不同,因此实施方案建立系统102可以确定所述至少一个测试API调用和所述至少一个响应并不匹配。
在步骤S424,实施方案建立系统102可以基于对所述至少一个测试API调用的所述至少一个响应而生成响应通知。响应通知可以包括成功指示符、原因和差异列表。成功指示符可以指示响应是否失败或响应是否成功。原因可以描述响应为何失败或成功。差异列表可以列出响应与预期响应之间的差异。
响应通知可与多于一个测试API调用相关。举例来说,如果三个测试API调用从实施方案建立系统102传送到第一请求处理器108A且三个响应从第一请求处理器108A传送到实施方案建立系统102,那么响应通知可以包括三个成功指示符、三个原因和三个差异列表。
在一些实施例中,原因可以是测试响应消息不正确地格式化。举例来说,第一请求处理器108A可能以不正确字段或子字段进行响应。另一原因可以是第一请求处理器108A与实施方案建立系统102之间存在通信故障。举例来说,可能存在致使实施方案建立系统102不接收响应的网络中断。在此情况下,在实施方案建立系统102指示响应失败之前可能存在预定时间量。所述预定时间量可以是任何合适的时间量(例如,30分钟、4小时、1天等)。在一些实施例中,其它原因可涉及字段、子字段、内容和格式化。在其它实施例中,如果成功指示符指示响应成功,那么原因可以是“恰当格式化的响应”或任何其它合适的消息。
在步骤S426,实施方案建立系统102可以将响应通知传送到第一请求处理器108A。在步骤S428,在接收到响应通知之后,第一请求处理器108A可以基于响应通知确定是否配置客户端请求桩程序210A。在一些实施例中,如果至少一个响应不匹配至少一个预期响应,那么第一请求处理器108A可以配置客户端请求桩程序210A。客户端请求桩程序210A可以被配置成使得其根据共同请求处理API恰当地格式化响应。举例来说,如果响应通知指示响应中的“类型”子字段不同于预期响应中的“类型”子字段,那么第一请求处理器108A可以配置客户端请求桩程序210A以更改生成“类型”子字段的方式。
在一些实施例中,如果响应通知的成功指示符指示响应失败,那么第一请求处理器108A可以在步骤S412开始重复先前步骤。第一请求处理器108A可以重复步骤直到成功指示符指示响应成功。
在一些实施例中,如果成功指示符指示响应成功,那么第一请求处理器108A可以确定不配置客户端请求桩程序210A。第一请求处理器108A可以随后将认证请求传送到实施方案建立系统102。在一些实施例中,认证请求可以包括让请求处理器的客户端请求桩程序由实施方案建立系统102认证的请求。实施方案建立系统102可以评估认证请求且在预定时间范围内认证请求处理器。在一些实施例中,实施方案建立系统102可以确定认证请求处理器的客户端请求桩程序。在其它实施例中,实施方案建立系统102可以确定不认证请求处理器的客户端请求桩程序。
在一些实施例中,如果请求处理器的客户端请求桩程序被认证,那么客户端请求桩程序可以被视为实施方案,且第一请求处理器108A可以经由请求格式化平台106从请求系统104接收请求。
图5示出根据本发明的实施例的示出用于为请求处理器建立请求的替代方法的流程图。将在医疗保健请求的请求方法模型的上下文中描述图5中示出的方法。然而,应理解本发明可应用于其它环境(例如,支付、医疗保健、银行、零售、装运、公共事业、数据管理、教育、制造等)。虽然以特定顺序示出了步骤,但是应当理解,本发明的实施例可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本发明的实施例内。上文已经描述如何生成客户端请求桩程序210A、如何传送消息的具体细节和其它细节且此处无需重复。
在一些实施例中,第一请求处理器108A可以是与医疗保健提供商相关联的服务器计算机。第一请求处理器108A可能想要从请求系统接收API调用。
在步骤S502,第一请求处理器108A可以将请求消息传送到实施方案建立系统102。请求消息可以包括生成API模拟器模块的请求和请求方法模型。在接收到请求消息后,在步骤S504,实施方案建立系统102可以生成API模拟器模块。在步骤S506,第一请求处理器108A可以生成客户端请求桩程序210A。在一些实施例中,步骤S504和步骤S506可以在相同或相似时间发生。在其它实施例中,在生成API模拟器模块之后,实施方案建立系统102可以将指示API模拟器模块已生成的消息传送到第一请求处理器108A。
在步骤S508,第一请求处理器108A可以将包括请求方法模型和模板的第一消息传送到实施方案建立系统102。举例来说,请求方法模型可与医疗保健请求相关。在此实例中,模板可以包括其中以正确字段格式化测试API调用的第一测试情境、其中格式化测试API调用而无所需的“日期”字段的第二测试情境,以及其中以无效的医生执照编号格式化测试API调用的第三测试情境。
在步骤S510,实施方案建立系统102可以基于请求方法模型和模板生成至少一个测试API调用。举例来说,实施方案建立系统102可以生成三个测试API调用,因为模板包括三个测试情境。第一测试API调用可以包括正确字段,第二测试API调用可不包括所需的“日期”字段,且第三测试API调用可以包括无效的医生执照编号。
在步骤S512,实施方案建立系统102可以将至少一个测试API调用传送到第一请求处理器108A。在步骤S514,在接收到所述至少一个测试API调用之后,第一请求处理器108A可以基于所述至少一个测试API调用生成至少一个响应。在此实例中,由于所述至少一个测试API调用是三个测试API调用,因此第一请求处理器108A可以生成三个响应。第一响应可不包括错误字段,第二响应可以包括设定成“所需的日期字段”的错误字段,且第三响应可以包括设定成具有设定成“LicenseNumber”的位置子字段的“无效的医生执照编号”的错误字段。
在步骤S516,第一请求处理器108A可以将所述至少一个响应传送到实施方案建立系统102。在步骤S518,在接收到所述至少一个响应之后,实施方案建立系统102可以评估所述至少一个响应。实施方案建立系统102可能先前已生成至少一个预期响应。实施方案建立系统102可以将所述至少一个响应与所述至少一个预期响应进行比较。举例来说,实施方案建立系统102可能先前已生成三个预期响应,因为实施方案建立系统102生成三个测试API调用。第一预期响应可不包括错误字段,第二预期响应可以包括设定成“所需的日期字段”的错误字段,且第三预期响应可以包括设定成具有设定成“LicenseNumber”的位置子字段的“无效的医生执照编号”的错误字段。在此实例中,三个响应分别匹配三个预期响应。
在步骤S520,实施方案建立系统102可以基于所述至少一个响应生成响应通知。在此实例中,响应通知可以指示所有测试API调用成功。
在步骤S522,实施方案建立系统102可以将响应通知传送到第一请求处理器108A。在步骤S524,在接收到响应通知之后,第一请求处理器108A可以确定响应通知是否指示成功。在此实例中,实施方案建立系统102可以确定响应通知指示成功。
在步骤S526,在确定响应通知指示成功之后,第一请求处理器108A可以生成认证请求。认证请求可以包括让客户端请求桩程序由实施方案建立系统102认证的请求。
在步骤S528,第一请求处理器108A可以将认证请求传送到实施方案建立系统102。在步骤S530,在接收到认证请求之后,实施方案建立系统102可以确定认证第一请求处理器108A的客户端请求桩程序210A。实施方案建立系统102可以基于若干准则确定认证客户端请求桩程序210A。一个准则可以是客户端请求桩程序210A是否先前已生成正确格式化的响应。另一准则可以基于风险因素。其它准则可以由实施方案建立系统102预定。
在步骤S532,实施方案建立系统102可以将认证响应传送到第一请求处理器108A。认证响应可以指示客户端请求桩程序210A是否已经被认证。
本发明的实施例提供了许多优点。一个优点是请求处理器可以定义请求方法模型和模板以测试请求处理器的客户端请求桩程序。这是有利的,因为请求处理器可以对共同请求处理API译码,但可能不像先前方法和系统中那样需要来自请求格式化平台的额外输入。请求处理器可以自动与实施方案建立系统102进行交互。
此外,本发明的实施例与上文描述的现有方法相比减少了建立实施方案的步骤的数目。举例来说,本发明的实施例允许请求处理器自动接收API调用,响应API调用,且接收与API调用和响应相关的数据。在先前方法中,请求处理器和格式化请求平台的用户将需要通常经由电子邮件彼此通信以设置机器之间的API调用。步骤数目的减少允许本发明的实施例比先前方法更高效。
另一优点是本发明的实施例允许比先前方法快得多的对实施的认证。这至少是由于人类将执行的步骤的减少。另一优点是在请求处理器处生成响应与在请求处理器处接收响应通知之间的时间与先前方法和系统相比极大地减少。
另一优点是请求处理器可紧接在建立请求处理器的客户端请求桩程序之后请求认证。
应理解,本发明的实施例中的任一个可以使用硬件(例如,专用集成电路或现场可编程门阵列)和/或以模块化或集成方式大体上与可编程处理器一起使用计算机软件而以控制逻辑的形式来实施。如本文中所使用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本文提供的公开内容和教导,本领域普通技术人员将了解并且意识到使用硬件以及硬件和软件的组合来实现本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可以被实施为要使用例如Java、C、C++、C#、Objective-C、Swift的任何合适计算机语言或例如Perl或Python的脚本语言,使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在用于存储和/或传送的计算机可读介质上,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、诸如硬盘驱动器或软盘的磁介质或诸如光盘(CD)或DVD(数字通用光盘)的光学介质、闪存等等。计算机可读介质可以是此类存储或传送装置的任何组合。
此类程序也可以使用载波信号来编码和传送,所述载波信号适合于经由符合多种协议的有线、光学和/或无线网络来传送,包括因特网。因此,根据本发明的实施例的计算机可读介质可以使用用此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开地提供(例如,经由因特网下载)。任何此类计算机可读介质都可驻存在单个计算机产品(例如硬盘驱动器、CD或整个计算机系统)上或其内部,并且可存在于系统或网络内的不同计算机产品上或其内部。计算机系统可包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其它合适的显示器。
以上描述是说明性的且不是限制性的。在本领域技术人员阅读了本公开之后,本发明的许多变体对于他们会变得显而易见。因此,本发明的范围不应该参考上面的描述来确定,而是应该参考待决的权利要求及其完整范围或等同物来确定。
在不偏离本发明的范围的情况下,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
如本文中所使用,除非明确指示有相反的意思,否则使用“一个”、“一种”或“所述”旨在意指“至少一个”。

Claims (16)

1.一种计算机实现的方法,其包括:
由实施方案建立系统通过网络从请求处理器接收请求消息,其中所述请求消息引起客户端请求桩程序和模拟器模块的生成;
由所述实施方案建立系统生成所述模拟器模块;
由所述实施方案建立系统生成所述客户端请求桩程序;
由所述实施方案建立系统通过所述网络将所述客户端请求桩程序传送到所述请求处理器;
由所述实施方案建立系统通过所述网络从所述请求处理器接收包括请求方法模型和模板的第一消息;
由所述实施方案建立系统基于所述请求方法模型和所述模板生成至少一个测试API调用,其中所述模板包括用于所述实施方案建立系统生成测试API调用的测试情境;
由所述实施方案建立系统通过所述网络将所述至少一个测试API调用传送到所述请求处理器;
由所述实施方案建立系统基于所述至少一个测试API调用通过所述网络从所述请求处理器接收至少一个响应;
由所述实施方案建立系统通过以下操作评估所述至少一个响应:由所述实施方案建立系统基于所述请求方法模型和所述模板生成至少一个预期响应,以及由所述实施方案建立系统将所述至少一个响应与所述至少一个预期响应进行比较;
由所述实施方案建立系统基于所述至少一个响应生成响应通知;以及
由所述实施方案建立系统通过所述网络将所述响应通知传送到所述请求处理器,其中所述响应通知提供数据以更新所述请求处理器中的客户端请求桩程序,并且
其中所述方法进一步包括:
由所述实施方案建立系统接收认证请求,所述认证请求包括让所述客户端请求桩程序由所述实施方案建立系统认证的请求;以及
由所述实施方案建立系统基于至少所述认证请求确定认证所述客户端请求桩程序。
2.根据权利要求1所述的方法,其中所述至少一个测试API调用、所述至少一个响应以及所述至少一个预期响应是基于与所述实施方案建立系统相关联的请求格式化平台的API规范而格式化的。
3.根据权利要求1所述的方法,其中所述请求方法模型和所述模板与数据管理相关。
4.根据权利要求1所述的方法,其中所述响应通知包括成功指示符、原因以及差异列表中的一项或多项。
5.根据权利要求1所述的方法,其中所述至少一个测试API调用包括针对第一金额的购买的第一测试API调用,以及针对与所述第一金额不同的第二金额的退款的第二测试API调用。
6.根据权利要求1所述的方法,进一步包括将所述客户端请求桩程序传送到包括所述请求处理器的多个请求处理器。
7.一种实施方案建立系统,其包括:
处理器;
存储器装置;以及
计算机可读介质,其耦合到所述处理器,所述计算机可读介质包括能由所述处理器执行以实施方法的代码,所述方法包括:
通过网络从请求处理器接收请求消息,其中所述请求消息引起客户端请求桩程序和模拟器模块的生成;
生成所述模拟器模块;
生成所述客户端请求桩程序;
通过所述网络将所述客户端请求桩程序传送到所述请求处理器;
通过所述网络从所述请求处理器接收包括请求方法模型和模板的第一消息;
基于所述请求方法模型和所述模板生成至少一个测试API调用,其中所述模板包括用于所述实施方案建立系统生成测试API调用的测试情境;
通过所述网络将所述至少一个测试API调用传送到所述请求处理器;
基于所述至少一个测试API调用通过所述网络从所述请求处理器接收至少一个响应;
通过以下操作评估所述至少一个响应:基于所述请求方法模型和所述模板生成至少一个预期响应,以及将所述至少一个响应与所述至少一个预期响应进行比较;
基于所述至少一个响应生成响应通知;以及
通过所述网络将所述响应通知传送到所述请求处理器,其中所述响应通知提供数据以更新所述请求处理器中的客户端请求桩程序,并且其中所述方法进一步包括:
由所述实施方案建立系统接收认证请求,所述认证请求包括让所述客户端请求桩程序由所述实施方案建立系统认证的请求;以及
由所述实施方案建立系统基于至少所述认证请求确定认证所述客户端请求桩程序。
8.根据权利要求7所述的实施方案建立系统,其中所述至少一个测试API调用、所述至少一个响应以及所述至少一个预期响应是基于与所述实施方案建立系统相关联的请求格式化平台的API规范而格式化的。
9.根据权利要求7所述的实施方案建立系统,其中所述请求方法模型和所述模板与数据管理相关。
10.根据权利要求7所述的实施方案建立系统,其中所述响应通知包括成功指示符、原因以及差异列表中的一项或多项。
11.一种计算机实现的方法,其包括:
由请求处理器将包括请求方法模型和模板的第一消息传送到实施方案建立系统,其中所述模板包括用于所述实施方案建立系统生成测试API调用的测试情境;
由所述请求处理器基于所述请求方法模型和所述模板从所述实施方案建立系统接收至少一个测试API调用;
由所述请求处理器的客户端请求桩程序基于所述至少一个测试API调用生成响应;
由所述请求处理器将所述响应传送到所述实施方案建立系统;
由所述请求处理器基于所述响应从所述实施方案建立系统接收响应通知,其中所述响应通知包括成功指示符、原因以及差异列表,并且其中所述差异列表包括所述响应和至少一个预期响应之间的一个或多个差异;
由所述请求处理器确定配置所述客户端请求桩程序;
由所述请求处理器响应于所述响应与所述至少一个预期响应不匹配而配置所述客户端请求桩程序;
由所述请求处理器生成认证请求,所述认证请求包括让所述客户端请求桩程序由所述实施方案建立系统认证的请求;以及
由所述请求处理器将所述认证请求传送给所述实施方案建立系统。
12.根据权利要求11所述的方法,还包括:
由所述请求处理器生成所述客户端请求桩程序。
13.根据权利要求11所述的方法,还包括:
由所述请求处理器通过网络从所述实施方案建立系统接收所述客户端请求桩程序。
14.如权利要求11所述的方法,其中所述响应包括与所述请求方法模型以及所述模板相关的信息。
15.如权利要求11所述的方法,其中所述请求方法模型和所述模板与数据管理相关。
16.一种请求处理器,其包括:
处理器;
存储器装置;以及
计算机可读介质,其耦合到所述处理器,所述计算机可读介质包括能由所述处理器执行以用于实施根据权利要求11-15中任一项所述的方法的代码。
CN201980017352.9A 2018-03-06 2019-03-04 用于建立共同请求处理的系统和方法 Active CN111819589B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/913,638 US10467066B2 (en) 2018-03-06 2018-03-06 System and method for establishing common request processing
US15/913,638 2018-03-06
PCT/US2019/020620 WO2019173245A1 (en) 2018-03-06 2019-03-04 System and method for establishing common request processing

Publications (2)

Publication Number Publication Date
CN111819589A CN111819589A (zh) 2020-10-23
CN111819589B true CN111819589B (zh) 2024-01-26

Family

ID=67843907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980017352.9A Active CN111819589B (zh) 2018-03-06 2019-03-04 用于建立共同请求处理的系统和方法

Country Status (6)

Country Link
US (2) US10467066B2 (zh)
EP (1) EP3762882B1 (zh)
CN (1) CN111819589B (zh)
ES (1) ES2951835T3 (zh)
SG (1) SG11202008393TA (zh)
WO (1) WO2019173245A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016405656A1 (en) 2016-05-03 2018-08-30 Visa International Service Association Platform for appliance based resource catalog
US10430179B1 (en) * 2019-03-07 2019-10-01 Capital One Services, Llc Methods and systems for managing application configurations
US10929276B2 (en) * 2019-06-14 2021-02-23 Paypal, Inc. Simulation computing services for testing application functionalities
US11392536B2 (en) * 2019-10-23 2022-07-19 Motorola Solutions, Inc. Method and apparatus for managing feature based user input routing in a multi-processor architecture
US11630761B2 (en) * 2021-02-24 2023-04-18 Capital One Services, Llc Methods, systems, and media for generating test authorization for financial transactions
US11698895B2 (en) 2021-02-24 2023-07-11 Capital One Services, Llc Access control for a databank system
US11775420B2 (en) 2021-02-24 2023-10-03 Capital One Services, Llc Methods, systems, and media for accessing data from a settlement file
US20230031380A1 (en) 2021-07-30 2023-02-02 APPDIRECT, Inc. Encryption key rotation
US11687675B1 (en) * 2022-09-08 2023-06-27 Pezo Tech Llc Method and system for improving coupling and cohesion of at least one educational program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0844558A2 (en) * 1996-07-01 1998-05-27 Sun Microsystems, Inc. Object-oriented system, method and article of manufature for a client-server event driver message framework in an interprise computing framework system
CA2543557A1 (en) * 2005-04-18 2006-10-18 Research In Motion Limited System and method for producing notification based web services
CN101496055A (zh) * 2005-03-30 2009-07-29 美国运通旅游有关服务公司 用于电子消息传递的方法、系统和计算机程序产品
CN103620576A (zh) * 2010-11-01 2014-03-05 七网络公司 适用于移动应用程序行为和网络条件的缓存
CN104904160A (zh) * 2012-11-09 2015-09-09 思杰系统有限公司 用于数据流的应用流的系统和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366650B2 (en) * 2001-04-12 2008-04-29 Arm Limited Software and hardware simulation
US20020169815A1 (en) * 2001-05-10 2002-11-14 Francis Wong Method and apparatus for configuration independent simulation of network layer conditions
US7334219B2 (en) 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
US7484145B1 (en) 2005-09-23 2009-01-27 At&T Intellectual Property Ii, L.P. Method for embedded integrated end-to-end testing
US20070169015A1 (en) * 2005-12-07 2007-07-19 Sbc Knowledge Ventures, L.P. Web services development automation toolkit with test case driver and customized configuration file
US7996816B2 (en) * 2006-11-15 2011-08-09 International Business Machines Corporation Method and apparatus for dynamically binding service component implementations for specific unit test cases
CN101286131B (zh) * 2007-04-09 2010-06-09 国际商业机器公司 服务测试方法和服务测试系统
WO2010048746A1 (en) * 2008-10-31 2010-05-06 Ebay Inc. System and method to test executable instructions
KR101576907B1 (ko) 2009-02-20 2015-12-14 엘에스전선 주식회사 유연성과 가교 특성이 뛰어난 전선용 절연 재료 및 이를 갖춘 전선
CA2889387C (en) * 2011-11-22 2020-03-24 Solano Labs, Inc. System of distributed software quality improvement
US20130283238A1 (en) * 2012-04-19 2013-10-24 Doron Levi Testing system for an integrated software system
US20150128103A1 (en) * 2013-11-07 2015-05-07 Runscope, Inc. System and method for automating application programming interface integration
US9934135B2 (en) 2015-08-13 2018-04-03 Ca, Inc. Generic test automation for application programming interface applications
US10387146B2 (en) 2015-11-30 2019-08-20 Visa International Service Association System and method for common request processing
US10432499B2 (en) * 2016-06-03 2019-10-01 Ebay Inc. Application program interface endpoint monitoring
US10146674B2 (en) * 2016-06-16 2018-12-04 Vmware, Inc. Plugin-based software verification system
US10353807B2 (en) 2016-08-26 2019-07-16 Accenture Global Solutions Limited Application development management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0844558A2 (en) * 1996-07-01 1998-05-27 Sun Microsystems, Inc. Object-oriented system, method and article of manufature for a client-server event driver message framework in an interprise computing framework system
CN101496055A (zh) * 2005-03-30 2009-07-29 美国运通旅游有关服务公司 用于电子消息传递的方法、系统和计算机程序产品
CA2543557A1 (en) * 2005-04-18 2006-10-18 Research In Motion Limited System and method for producing notification based web services
CN103620576A (zh) * 2010-11-01 2014-03-05 七网络公司 适用于移动应用程序行为和网络条件的缓存
CN104904160A (zh) * 2012-11-09 2015-09-09 思杰系统有限公司 用于数据流的应用流的系统和方法

Also Published As

Publication number Publication date
US10884826B2 (en) 2021-01-05
US10467066B2 (en) 2019-11-05
EP3762882B1 (en) 2023-05-31
US20190278637A1 (en) 2019-09-12
EP3762882A4 (en) 2021-04-21
CN111819589A (zh) 2020-10-23
US20200012546A1 (en) 2020-01-09
SG11202008393TA (en) 2020-09-29
WO2019173245A1 (en) 2019-09-12
ES2951835T3 (es) 2023-10-25
EP3762882A1 (en) 2021-01-13

Similar Documents

Publication Publication Date Title
CN111819589B (zh) 用于建立共同请求处理的系统和方法
US10540273B2 (en) Simulator for system testing
US10558963B2 (en) Shareable widget interface to mobile wallet functions
WO2020233048A1 (zh) 定制化软件生成方法、系统、电子设备及存储介质
US10026079B2 (en) Selecting ecosystem features for inclusion in operational tiers of a multi-domain ecosystem platform for secure personalized transactions
US9454758B2 (en) Configuring a plurality of security isolated wallet containers on a single mobile device
US8868786B1 (en) Apparatus, systems and methods for transformation services
US20140020068A1 (en) Limiting widget access of wallet, device, client applications, and network resources while providing access to issuer-specific and/or widget-specific issuer security domains in a multi-domain ecosystem for secure personalized transactions
CN112613877A (zh) 应用于区块链网络的智能合约触发方法、装置及相关设备
US20230409453A1 (en) Computer and conduit for system testing
CN111930535B (zh) 一种应用功能调用方法、装置、计算机设备及存储介质
US10621523B1 (en) Computer methods and computer systems for facilitating business rule generation and validation
US20230052559A1 (en) Network based testing of mobile device kernels system and method
CN116775769A (zh) 一种分布式数据校验方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant