使用表述性状态转移(REST)应用编程接口(API)进行数据转换的方法、系统和计算机可读介质技术方案

技术编号:29600930 阅读:24 留言:0更新日期:2021-08-06 20:05
按照一种方法,所述方法包括:经由REST API从客户端接收第一格式的输入;使用预定元数据将第一格式的输入变换为第二格式的输入;将第二格式的输入发送到使用第二格式的输入进行操作的传统系统;从传统系统接收第二格式的输出,其中所述输出至少部分基于使用第二格式的输入进行的操作;使用预定元数据,将第二格式的输出转换为第一格式的输出;和经由REST API将第一格式的输出发送到客户端。

【技术实现步骤摘要】
【国外来华专利技术】使用表述性状态转移(REST)应用编程接口(API)进行数据转换的方法、系统和计算机可读介质优先权要求本申请要求于2019年3月13日提交的序列号为16/352,738的美国专利申请的优先权,该专利申请的公开内容通过引用整体包含在本文中。
本文中描述的主题涉及网络通信。更具体地,所述主题涉及使用表述性状态转移(REST)应用编程接口(API)进行数据转换的方法、系统和计算机可读介质。
技术介绍
一些计算机系统使用多种数据格式和/或协议进行通信。例如,基于云的计算机系统中的组件可以使用网际协议(IP)、超文本传输协议(HTTP)和/或其他协议进行通信。此外,为了允许各种实体之间的通信,可以支持一个或多个应用编程接口(API),以便为通信提供标准化的方式。表述性状态转移(REST)API是一种用于提供web服务的API。例如,RESTAPI可以允许两个系统之间经由HTTP的通信。在这个例子中,包含有效负载的HTTP请求被发送到统一资源标识符(URI),例如统一资源定位符(URL),并且作为响应,包含有效负载的HTTP响应可以被提供给请求者。然而,一些系统或其中的组件可能不能处理经由RESTAPI提供的有效负载,因为数据可能是以不支持的格式存储的。
技术实现思路
公开了使用表述性状态转移(REST)应用编程接口(API)进行数据转换的方法、系统和计算机可读介质。按照一种方法,所述方法包括:经由RESTAPI从客户端接收第一格式的输入;使用预定元数据将第一格式的输入变换为第二格式的输入;将第二格式的输入发送到使用第二格式的输入进行操作的传统(legacy)系统;从传统系统接收第二格式的输出,其中所述输出至少部分基于使用第二格式的输入进行的操作;使用预定元数据,将第二格式的输出变换为第一格式的输出;和经由RESTAPI将第一格式的输出发送到客户端。按照一种系统,所述系统包括至少一个处理器和使用所述至少一个处理器实现的服务器。所述服务器被配置用于:经由RESTAPI从客户端接收第一格式的输入;使用预定元数据将第一格式的输入变换为第二格式的输入;将第二格式的输入发送到使用第二格式的输入进行操作的传统系统;从传统系统接收第二格式的输出,其中所述输出至少部分基于使用第二格式的输入进行的操作;使用预定元数据,将第二格式的输出变换为第一格式的输出;和经由RESTAPI将第一格式的输出发送到客户端。本文中描述的主题可以用与硬件和/或固件结合的软件来实现。例如,本文中描述的主题可以用处理器执行的软件来实现。在一些实现中,本文中描述的主题可以使用其上存储有计算机可执行指令的非临时性计算机可读介质来实现,当由计算机的处理器执行时,所述计算机可执行指令控制计算机执行步骤。适合于实现本文中描述的主题的例证计算机可读介质包括非临时性设备,比如盘式存储设备、芯片存储设备、可编程逻辑器件和专用集成电路。另外,实现本文中描述的主题的计算机可读介质可以位于单个设备或计算平台上,或者可以跨多个设备或计算平台分布。本文中使用的术语“节点”指的是包括一个或多个处理器和存储器的至少一个物理计算平台。本文中使用的术语“功能”或“模块”指的是用于实现本文中描述的特征的硬件、固件或者与硬件和/或固件结合的软件。附图说明现在参考附图说明本文中描述的主题,附图中:图1是图解说明使用表述性状态转移(REST)应用编程接口(API)进行数据转换的例证环境的示图;图2A-2B描述用于验证和/或在数据格式间进行变换的例证元数据;图3描述与在数据格式间进行变换相关的例证默认值数据;图4描述JavaScript对象表示法(JSON)数据格式的例证请求数据;图5描述字段列表(FList)数据格式的例证请求数据;图6描述FList数据格式的例证输出;图7描述JSON数据格式的例证输出;图8是图解说明例证的数据转换处理的示图;和图9是图解说明基于REST的数据变换的例证处理的示图。具体实施方式本文中描述的主题涉及使用表述性状态转移(REST)应用编程接口(API)进行数据转换的方法、系统和计算机可读介质。一些提供多种重要服务的系统,例如传统系统或较旧的系统,可以使用一种或多种专有或传统API或协议进行通信。由于这种系统更换起来可能非常昂贵和耗时,因此很可能最终较新的系统将需要与较旧的系统交互,并且较新的系统可能无法配置成进行这样的通信。例如,金融机构或其他企业可能使用最初在20世纪80年代设计的传统系统(例如,数据库、存储系统或后端)。在这个例子中,同一企业还可能使用需要与传统系统或组件通信的现代前端或客户端(例如,基于web的用户界面)。继续该例子,如果传统系统是使用传统API和/或数据格式(例如,字段列表(FList)格式)的计费和收入管理(BRM)系统,那么在处理不同服务域(例如,账户、订阅和账单)中的信息时,FList格式可能无法用于现代客户端。因而,为了能被现代客户端使用,数据需要被转换为兼容的数据格式,例如JSON格式。一种将传统格式变换为非传统格式的方法可涉及将变换逻辑手工编码到传统系统或中间网关节点中。例如,这样的方法可能涉及手动编码用于创建、更新和获取用于每种类型的多个数据对象(例如账户数据对象、订阅数据对象、支付简档数据对象和计费数据对象)的函数。然而,这样的方法可能导致重复的代码、过度的测试工作、容易出错的行为,并且提供不可预测的性能结果。按照本文中描述的主题的一些方面,公开了用于基于元数据的数据转换框架的技术、方法或机制,所述数据转换框架可以用于使用元数据,例如由操作员在系统运行时或之前提供的映射模板,将一种数据格式变换为另一种数据格式。例如,例证的数据转换算法或相关框架可以通过定义指示应当如何映射或变换各个数据部分的简单元数据文件,来有效地将FList数据变换为JSON数据,反之亦然。此外,例如,通过执行兼容性测试来判定是否需要修改元数据(例如,映射模板),例如,如果新的字段被添加到服务域,那么可以向JSON/FLIST映射模板添加新的字段,以进行正确的变换或转换,这样的架构可以提供向后兼容性并改进可扩展性。按照本文中描述的主题的一些方面,公开了用于基于REST的数据转换框架的技术、方法或机制。例如,例证的基于REST的数据转换框架可以利用元数据和RESTAPI,使得所有REST调用(例如,HTTP请求)都使用数据框架或相关的数据转换算法来处理。在这个例子中,由于REST调用由同一框架来处理,因此可以看到每个服务域实体的性能问题和益处,而不会损害数据完整性和性能。按照本文中描述的主题的一些方面,公开了用于使用反射编程技术的数据转换框架的技术、方法或机制。例如,数据转换系统可以基于元数据在运行时或运行时附近生成变换或转换逻辑。在这个例子中,假设逻辑是用Java或另外的面向对象的编程语言编写的,数据转换系统可以使用元数据来生成代码(例如,多个类、对象、接口和相关逻辑),以将本文档来自技高网...

【技术保护点】
1.一种使用表述性状态转移REST应用编程接口API进行数据转换的方法,所述方法包括:/n在使用REST API提供数据转换的服务器处:/n经由REST API从客户端接收第一格式的输入;/n使用预定元数据将第一格式的输入变换为第二格式的输入;/n将第二格式的输入发送到使用第二格式的输入进行操作的传统系统;/n从传统系统接收第二格式的输出,其中所述输出至少部分基于使用第二格式的输入进行的操作;/n使用所述预定元数据将第二格式的输出变换为第一格式的输出;和/n经由REST API将第一格式的输出发送到客户端。/n

【技术特征摘要】
【国外来华专利技术】20190313 US 16/352,7381.一种使用表述性状态转移REST应用编程接口API进行数据转换的方法,所述方法包括:
在使用RESTAPI提供数据转换的服务器处:
经由RESTAPI从客户端接收第一格式的输入;
使用预定元数据将第一格式的输入变换为第二格式的输入;
将第二格式的输入发送到使用第二格式的输入进行操作的传统系统;
从传统系统接收第二格式的输出,其中所述输出至少部分基于使用第二格式的输入进行的操作;
使用所述预定元数据将第二格式的输出变换为第一格式的输出;和
经由RESTAPI将第一格式的输出发送到客户端。


2.按照权利要求1所述的方法,其中第一格式是JavaScript对象表示法(JSON)格式或可扩展标记语言(XML)格式,并且第二格式是字段列表(FList)格式或门户通信模块(PCM)格式。


3.按照权利要求1所述的方法,其中第一格式是字段列表(FList)格式或门户通信模块(PCM)格式,并且第二格式是JavaScript对象表示法(JSON)格式或可扩展标记语言(XML)格式。


4.按照前述权利要求任意之一所述的方法,其中使用所述预定元数据将第一格式的数据变换为第二格式的数据包括基于要进行的动作或超文本传输协议(HTTP)请求类型来选择变换规则。


5.按照权利要求4所述的方法,其中变换规则包括用于验证第一格式的值的规则,和/或用于将无效的第一格式的值改变为第二格式的有效值的规则。


6.按照前述权利要求任意之一所述的方法,其中使用所述预定元数据将第一格式的数据变换为第二格式的数据包括使用所述预定元数据和反射编程来生成变换逻辑。


7.按照前述权利要求任意之一所述的方法,包括:
进行向后兼容性测试,以判定第二格式的数据是否有效,或者判定第一格式的输出是否有效。


8.按照权利要求7所述的方法,其中响应于从操作员或客户端接收到附加的元数据,触发向后兼容性测试。


9.按照前述权利要求任意之一所述的方法,其中所述客户端包括用户界面应用、外部系统、客户关系管理系统、云服务、web服务、RESTAPI客户端或账务软件。


10.一种使用表述性状态转移REST应用编程接口API进行数据转换的系统,所述系统包括:
至少一个处理器;和
使用所述至少一个处理器实现的、使用RESTAPI提供数据转换的服务器,其中所述服务器被配置用于:
经由RESTAPI从客户端接收第一格式的输入;
使用预定元数据将第一格式的输入变换为第二格式的输入;
将第二格式的输入发送到使用第二格式的输入进行操作的传统系统;
...

【专利技术属性】
技术研发人员:A·皮金B·J·杜克P·J·托马斯D·迪伊
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1