当前位置: 首页 > 专利查询>开文公司专利>正文

用于构建和提供异构储存库的多态REST服务的系统和方法技术方案

技术编号:24949809 阅读:23 留言:0更新日期:2020-07-18 00:02
响应于访问异构储存库的请求,REST服务器查询资源登记器以查找与请求中包含的映射信息匹配的资源。资源登记器返回包含匹配的资源的资源登记器表。资源登记器表实现资源登记器模型的统一数据结构,并且在运行时通过资源登记器将REST服务配置参数映射到统一数据结构的字段而生成。REST服务配置参数被添加到扩展SDK,用于让REST扩展开发人员增强用于扩展应用的REST服务配置。REST服务配置参数在实现时被配置,并在运行时被加载/扫描到REST服务器中。REST服务器迭代地评估资源登记器表,直到所有匹配的资源都已被评估。评估结果被用于确定是拒绝、接受、还是重定向来自客户端设备的请求。

【技术实现步骤摘要】
【国外来华专利技术】用于构建和提供异构储存库的多态REST服务的系统和方法对相关申请的交叉引用本申请援引35U.S.C§119(e)要求于2017年8月9日提交的标题为“SYSTEMSANDMETHODSFORBUILDINGANDPROVIDINGPOLYMORPHICRESTSERVICESFORHETEROGENEOUSREPOSITORIES”的美国临时申请No.62/543,092的优先权,该申请出于所有目的通过引用被完全并入本文。
本公开一般而言涉及企业内容管理领域。更特别地,本公开涉及由企业内容管理平台提供的内容服务。甚至更特别地,本文公开的实施例涉及用于在企业内容管理平台上构建和提供用于访问异构内容储存库的多态表示状态转移(REST)服务的系统、方法和计算机程序产品。
技术介绍
企业内容管理(ECM)一般是指策略、方法和工具(在本文中统称为“ECM技术”)的动态组合,用于在信息的生命周期(例如,从创建到删除或销毁)中捕获、管理、存储、保存(存档)和交付支持公司、组织或企业的处理的信息。可以利用ECM技术来组织在企业中被使用和分发的所有内容(在本文中称为“企业内容”)。在这种情况下,“企业内容”可以是文档、文件、图像、音频、视频、电子邮件、绘图以及任何其它非结构化的企业拥有和/或相关的信息(在本文中统称为“内容”)。虽然可以将内容存储在企业网络驱动器上的文件或企业网络(例如,内联网或安全专用网络)中的文件系统中,但越来越多地使用内容储存库。内容储存库是指计算机存储装置,其中以有组织的方式来保持和维护数据的聚合。ECM技术可以被用于对存储在此类储存库中的内容进行分类、控制(例如,调节)、管理、标记、路由和定位。ECM解决方案是指实现ECM技术以使内容可搜索、管理版本控制、执行路由和工作流等的特定方式。ECM解决方案的示例可以是可从总部位于加拿大的OpenTextTM获得的DocumentumTM。这种ECM解决方案为企业用户提供了丰富的即用型(OOTB)内容服务集,以通过REST应用编程接口(API)访问内容服务器、内容储存库等。REST定义了体系架构原理的集合,通过这些体系架构原理可以创建Web服务以专注于系统的资源,包括各种以不同语言编写的客户端如何通过超文本传输协议(HTTP)寻址和传送资源状态。ECM解决方案可以包括REST扩展软件开发工具包(SDK),该工具包为应用开发人员/设计人员提供了扩展点,以在其利用服务器侧的内容储存库的定制ECM应用(在本文中统称为“扩展应用”)中添加定制资源、禁用OOTB资源或覆盖OOTB资源。REST扩展方法和装置的示例可以在美国专利申请公开No.2016/0308949A1和中国专利公开No.CN106156932A中找到,这两个专利都通过引用并入本文。扩展应用的示例可以包括OpenTextDocumentumD2(开文文档管理D2)、OpenTextCapitalProjectsSolutions(开文资本项目解决方案)等。
技术实现思路
如以上所讨论的,ECM扩展应用开发人员可以使用扩展SDK来构建定制REST服务。一旦部署了扩展服务,定制将在运行的REST实例的生存期内永久且静态地生效。当扩展应用通过自己的配置来预配置储存库并要求API适应(一个或多个)储存库类型时,这成为技术限制。本文公开的用于构建和提供多态REST服务的技术解决方案的实施例可以解决上述技术限制并提供附加的技术解决方案和益处。这种新的解决方案为ECM扩展应用开发人员提供了在客户端侧构建REST扩展的新能力,并在服务器侧提供了包括REST服务器在内的REST服务器框架,该框架具有自行并且在REST服务器内部请求处置之内决定是否应当将资源定制应用于传入的REST请求的新能力。例如,在客户端侧,特殊的YAML配置参数可以包括在新的REST扩展SDK中(作为非限制性示例,其可以用YAML编写)。YAML代表“YAMLAin'tMarkupLanguage(YAML不是一种标记语言)”并且是用于所有编程语言的人性化的数据序列化标准。YAML具有人类可读性和计算能力。从技术上讲,YAML是JavaScript对象表示法(JSON)的超集,它是开放标准的文件格式,使用人类可读的文本来传输由属性-值对和数组数据类型组成的数据对象(或任何其它可序列化的值)。可从yaml.org的<http://www.yaml.org/spec/>获得YAML规范,因此本文不再赘述。以下进一步解释的REST扩展配置参数(例如,YAML配置参数)使ECM扩展应用开发人员能够定制他们的RESTAPI。例如,在开发扩展应用时,ECM扩展应用开发人员可以在REST扩展SDK中配置YAML配置参数,以确定例如将在具有储存库范围(类型)的REST扩展项目中添加、覆盖或禁用哪些资源。这样配置的YAML配置参数可以在YAML配置文件中找到或者在扩展应用的Java代码(可以包括多个文件)中注释。在服务器侧,REST服务器可以从这样构建的扩展应用接收请求。根据扩展应用的资源配置并取决于请求所针对的储存库的类型在运行时预配置可用于服务请求的资源。此类REST服务的多态性可以克服上面提到的技术限制,其中扩展应用的资源定制在运行的REST实例的生存期内永久且静态地生效。在这种情况下,REST服务器可操作以利用请求中包含的映射信息来查找资源。映射信息的示例可以包括通用资源标识符(URI)、查询参数、HTTP头部、媒体类型等。REST服务器可以将对资源信息的查询发送到资源登记器(这是REST服务器框架的一部分)。资源登记器可操作以利用包含“范围内”资源的资源登记器表的集合来响应来自REST服务器的查询。在通信地连接到REST服务器的已预配置和/或未预配置的储存库的所有资源当中,范围内资源表示潜在地可用于服务这个特定REST请求的资源的子集。在一些实施例中,资源登记器表由资源登记器利用REST服务器的内部资源登记器模型和扩展应用的资源定制(例如,由扩展应用的开发人员配置并在实施时间提供给REST服务器框架的YAML配置参数)来生成和/或更新。由REST服务器在运行时在内部创建的资源登记器模型具有统一的数据结构并支配所有登记的资源端点,包括OOTB资源和任何新预配置的(例如,修改或定制的)资源。以这种方式,所有范围内资源都可以统一描述。资源登记器将这样生成/更新的资源登记器表存储在存储器中,以供REST服务器内部使用。REST服务器可操作以迭代地评估由资源登记器返回的资源登记器表,直到所有匹配的资源都被评估为止。基于来自这个迭代评估处理的评估结果,REST服务器可操作以确定将如何处置请求(例如,拒绝请求、接受请求或重定向请求)。以这种方式,当REST请求到达REST服务器时,REST服务器可以智能地决定是接受、重定向还是拒绝该请求。此处的技术效果是,单个REST服务器实例可以访问现有的未预配置的储存库以及新预配置的储存库。一个实施例包括一种系统,该系统包括处本文档来自技高网
...

【技术保护点】
1.一种方法,包括:/n由表示状态转移(REST)服务器从客户端设备接收用于访问通信地连接到REST服务器的异构储存库的请求,该REST服务器具有处理器和非暂态计算机可读介质;/n响应于从客户端设备接收到请求,由REST服务器利用请求中包含的映射信息查询资源登记器,所述映射信息包括定义储存库范围的资源;/n由REST服务器从资源登记器接收包含与定义储存库范围的资源匹配的资源的资源登记器表集合,所述资源登记器表集合实现资源登记器模型,所述资源登记器模型具有指定字段集合的统一数据结构,所述资源登记器表集合由资源登记器利用REST服务配置参数在运行时生成,所述资源登记器表集合具有所述统一数据结构并且在所述字段集合中包含REST服务配置参数值;/n由REST服务器迭代地评估所述资源登记器表集合,直到所有资源都已被评估,所述评估返回评估结果;以及/n由REST服务器至少部分地基于评估结果来确定是拒绝、接受还是重定向来自客户端设备的请求。/n

【技术特征摘要】
【国外来华专利技术】20170809 US 62/543,0921.一种方法,包括:
由表示状态转移(REST)服务器从客户端设备接收用于访问通信地连接到REST服务器的异构储存库的请求,该REST服务器具有处理器和非暂态计算机可读介质;
响应于从客户端设备接收到请求,由REST服务器利用请求中包含的映射信息查询资源登记器,所述映射信息包括定义储存库范围的资源;
由REST服务器从资源登记器接收包含与定义储存库范围的资源匹配的资源的资源登记器表集合,所述资源登记器表集合实现资源登记器模型,所述资源登记器模型具有指定字段集合的统一数据结构,所述资源登记器表集合由资源登记器利用REST服务配置参数在运行时生成,所述资源登记器表集合具有所述统一数据结构并且在所述字段集合中包含REST服务配置参数值;
由REST服务器迭代地评估所述资源登记器表集合,直到所有资源都已被评估,所述评估返回评估结果;以及
由REST服务器至少部分地基于评估结果来确定是拒绝、接受还是重定向来自客户端设备的请求。


2.如权利要求1所述的方法,其中所述评估进一步包括:
对于评估下的每个资源登记器表:
确定资源登记器模型定义是否在所述每个资源登记器表中;以及
响应于资源登记器模型定义在所述每个资源登记器表中,保存中间结果并设置优先级,所述中间结果指示请求将被接受或重定向。


3.如权利要求2所述的方法,其中资源登记器模型定义包括所述字段集合和对应的服务配置参数值的组合。


4.如权利要求3所述的方法,其中所述字段集合包括范围字段、模式字段和替代字段。


5.如权利要求2所述的方法,其中所述确定进一步包括:获得被配置为接受或重定向请求的方法处理程序。


6.如权利要求2所述的方法,其中所述评估进一步包括:
对于评估下的每个资源登记器表:
确定另一个资源登记器模型定义是否在所述每个资源登记器表中;以及
响应于另一个资源登记器模型定义在所述每个资源登记器表中,立即返回另一个中间结果并设置另一个优先级,所述另一个中间结果指示请求将被拒绝。


7.如权利要求6所述的方法,其中所述确定进一步包括:
获得被配置为拒绝请求的方法处理程序。


8.如权利要求6所述的方法,进一步包括:
基于优先级对中间结果进行排序;以及
返回具有最高优先级的结果作为评估结果。


9.一种系统,包括:
处理器;
非暂态计算机可读介质;以及
存储的指令,能够被处理器翻译来:
从客户端设备接收用于访问通信地连接到所述系统的异构储存库的请求;
响应于从客户端设备接收到请求,利用请求中包含的映射信息查询资源登记器,所述映射信息包括定义储存库范围的资源;
从资源登记器接收包含与定义储存库范围的资源匹配的资源的资源登记器表集合,所述资源登记器表集合实现资源登记器模型,所述资源登记器模型具有指定字段集合的统一数据结构,所述资源登记器表集合由资源登记器利用服务配置参数在运行时生成,所述资源登记器表集合具有所述统一数据结构并且在所述字段集合中包含服务配置参数值;
迭代地评估所述资源登记器表集合,直到所有资源都已被评估,所述评估返回评估结果;以及
至少部分地基于评估结果来确定是拒绝、接...

【专利技术属性】
技术研发人员:周伟陈木华阮伟王晨
申请(专利权)人:开文公司
类型:发明
国别省市:加拿大;CA

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

1