CN103946841A - 用于动态服务集成的系统和方法 - Google Patents

用于动态服务集成的系统和方法 Download PDF

Info

Publication number
CN103946841A
CN103946841A CN201280055871.2A CN201280055871A CN103946841A CN 103946841 A CN103946841 A CN 103946841A CN 201280055871 A CN201280055871 A CN 201280055871A CN 103946841 A CN103946841 A CN 103946841A
Authority
CN
China
Prior art keywords
data source
service
result
inquiry
services request
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
Application number
CN201280055871.2A
Other languages
English (en)
Inventor
威廉·B·吉尔伯特
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.)
Benefitfocus Inc
Original Assignee
Benefitfocus com Inc
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 Benefitfocus com Inc filed Critical Benefitfocus com Inc
Publication of CN103946841A publication Critical patent/CN103946841A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

客户端可以访问很多种数据源,而无需大规模定制。服务集成模块包括多个服务记录,每一个服务记录与相应数据源相关联。服务集成模块可被配置成管理数据源集成,该数据源集成包括数据源驱动程序、凭证和连接信息。响应于来自客户端的服务请求,服务集成模块标识服务记录,生成数据源查询,获得查询结果,并且将结果传输给客户端。服务集成模块可以把数据源返回的原始数据映射为标准格式。服务集成模块还可以把结果重新格式化为由客户端规定的格式或数据编码。

Description

用于动态服务集成的系统和方法
技术领域
本公开涉及创建并且提供服务,并且特别地涉及数据源和客户端的动态集成。
附图说明
图1示出示例性服务记录数据结构和示例性数据源记录数据结构;
图2是用于提供动态服务集成的系统的一个实施例的框图;以及
图3是用于动态服务集成的方法的一个实施例的流程图;
图4是用于动态服务集成的方法的另一个实施例的流程图;
图5是用于动态服务集成的方法的另一个实施例的流程图;以及
图6是用于动态服务集成的方法的另一个实施例的流程图。
具体实施方式
现代信息技术系统越来越多地依赖于对不同类型的数据源的访问。但是使客户端适应于使用不同的数据源可能是耗时且易于出错的任务。虽然某些数据源和/或服务公布了服务描述,希望使用这些服务的客户端仍然必须根据服务描述来定制。此外,当许多不同客户端必须适应于访问不同数据源时,这种定制开销成倍增加。
本文所公开的系统和方法可以用于最小化或甚至排除集成具有不同类型的数据源的客户端所需的定制开销。用户可以利用本文所公开的用于动态服务集成的系统和方法,以对于数据源所用的底层技术和/或数据格式和/或通信机制的最少知识,来集成具有很多种数据源的客户端。新数据源和服务一旦被注册就变得可用,由此并不存在复杂化和部署延迟。
在某些实施例中,服务集成模块可以简化客户端对一个或多个数据源的访问。数据集成模块可以在相应数据源记录中注册一个或多个数据源。每个数据源记录可包括属于特定数据源的信息。数据源记录可包括但不限于:数据源的驱动程序、数据源凭证、数据源连接信息等。如本文所用的,数据源的驱动程序指被配置成与特定类型的数据源交互的组件或库(例如,计算机可读指令)。驱动程序可包括但不限于:Java数据库连接(JDBC)驱动程序、对象数据库连接(ODBC)驱动程序、结构化查询语言(SQL)数据库驱动程序、语义数据源连接驱动程序等。数据源记录可以包括对数据源驱动程序的引用或链接,而不是驱动程序本身。数据源凭证可用于对数据源鉴权。数据源凭证可以包括用户名、口令、PIN、证书、密钥等。数据源连接信息可包括连接字符串或者被用来(使用相对应的驱动程序)起始到特定数据源的连接的其它信息。连接字符串可包括数据源的地址(例如数据源的URL)、标识数据源名称(例如,表或数据库名称)、规定数据源驱动程序等。
服务集成模块可通过一个或多个服务提供对数据源的访问。服务集成模块可使用相应服务记录来注册一个或多个服务。服务记录可包括但不限于:标识符、数据源(例如,对数据源记录的注明)、参数化查询、结果映射等。服务可注明一个或多个数据源。数据源可由多个不同的服务使用(例如通过注明)。
服务的参数化查询可包括查询串(或其它查询格式),其可包括一个或多个参数占位符。占位符可用服务请求参数来替换以形成数据源查询。如本文所用的,“服务请求”是指被导向服务和/或数据源的请求。服务请求可包括一个或多个请求参数、服务标识符或名称、鉴权凭证等。一个或多个请求参数可以被插入参数化查询中以生成数据源查询。如本文所用的,术语“数据源查询”指被配置成结合特定数据源使用的查询。例如,用来在结构化查询语言(SQL)数据库中搜索特定人的参数化查询可包括“select*from TABLE whereFIRST_NAME=%search_parameter%(从TABLE中选择*,其中FIRST_NAME=%搜索参数%”)。“%search_parameter%”的值可以用服务请求中的参数替换。在某些实施例中,生成数据源查询可进一步包括把一个或多个请求参数重新格式化为适合于特定数据源的格式。例如,请求参数可以被从UTF-8编码转换为ASCII编码等。
服务记录的结果映射可包括在从数据源返回的原始结果数据与标准化数据格式之间的映射。标准化格式可包括,但不限于:可扩展标记语言(XML)、Javascript对象表示法(JSON)、YAML、诸如简化RDF三元组语言(Turtle)的资源描述格式(RDF)、界定文本、格式组合等。在某些实施例中,结果可以被转换为替代格式或编码。转换可以在服务请求中规定。例如,结果可以转换为二进制格式,特别文本编码(例如、ASCII、UTF-8等)等。例如,服务请求可以规定在XML标准格式中的结果使用UTF-8字符编码来编码。
图1示出示例性服务记录数据结构和示例性数据源记录数据结构。示例性服务记录数据结构150包括标识符152、数据源引用154、参数化查询156和结果映射158。数据源引用154可以注明数据源记录160,其包括数据源标识符162、驱动程序164、数据源凭证166和连接信息168(例如连接串)。作为替代或作为补充,数据源记录160可以被合并到服务记录数据结构150的一个或多个字段。
数据结构150和160可实施于非暂时性计算机可读存储介质上,诸如硬盘、非易失性存储器等。尽管图1描绘了示例性数据结构150和160,本公开在此方面不受限制并且可适于使用以任何合适格式的任何合适数据结构。
客户端可以使用任何合适请求机制来访问服务集成模块的服务。在某些实施例中,客户端使用超文本传输协议(HTTP)获得(GET)请求来访问服务集成模块的服务。GET请求可标识所请求的服务和/或可包括一个或多个请求参数。响应于服务请求,服务集成模块标识服务记录,生成数据源查询,获得数据源查询的结果(例如,在数据存储区或结果高速缓存中),以及把结果传输到客户端。服务集成模块可也把结果映射为标准化模式和/或转换结果,如上文所描述的。
在某些实施例中,服务集成模块被配置成高速缓存数据源请求的结果。服务集成模块可以把结果串行化为适合于存储于存储介质上的格式,并且可以把串行化结果与数据源查询和/或一个或多个请求参数相关联地置于高速缓存中。对于相同结果的随后服务请求(通过相同请求参数和/或导致等效数据源查询)可以从结果高速缓存返回。在某些实施例中,高速缓存结果被存储预定时段和/或根据高速缓存策略(例如,最近最少使用(LRU)或其它合适高速缓存策略)而被存储。在某些实施例中,服务集成模块210可以响应于在数据源上的其它存储操作,诸如写入和/或修改,而移除无效条目(例如脏条目)。
在某些实施例中,服务请求可包括聚集(aggregate)请求,其包括对于来自一个或多个数据源的多个数据集合的请求。聚集请求可包括向数据源发出多个查询(或者,访问结果高速缓存的多个条目),每个查询得到一个或多个结果。聚集请求可包括多个界定请求参数(例如,GET请求参数),其中的每一个可以被应用到服务的参数化查询以生成不同的相应数据源查询和对应的结果。这些结果中的每一个可以被映射到标准化格式和/或转换,如上文所描述,并且结果可以被聚集并且返回到客户端。在某些实施例中,聚集结果被串行化并且高速缓存,如上文所描述的。结果可以被以聚集和/或作为个别数据源查询高速缓存。
某些实施例可包括呈现模块,其被配置成自动生成结果的图形表示以在显示装置上呈现。图形表示可包括但不限于:图表、曲线图、图形表示的组合等。作为替代或作为补充,呈现模块可以以特定格式,诸如表格式、分列格式、电子表格格式等,生成结果的文本表示。
图2为用于动态服务集成的系统200的一个实施例的框图。系统200可包括在计算装置220上操作的服务集成模块210。计算装置220可包括处理器222、存储器、非暂时性存储介质224(例如,硬盘、固态存储等)、通信接口226等。在某些实施例中,服务集成模块210被实施为在非暂时性存储介质224上存储的指令,其被配置成在处理器222上执行。尽管图2描绘了在具有单个处理器222的单个计算装置210上操作的服务集成模块210,本公开在此方面不受限制。在某些实施例中,该系统200可包括在集群和/或高可用性环境中在多个计算装置210(或虚拟计算装置)上操作的多个服务集成模块210。
服务集成模块210可以经由网络140通信联接到一个或多个数据源230。数据源230可各自在相应服务器计算机、集群或其它合适的计算装置上操作。网络140可包括任何合适通信网络并且可包括但不限于:因特网协议(IP)网络、因特网、局域网(LAN)、广域网(WAN)、无线网、蜂窝数据网、公共交换电话网(PSTN)等。
尽管图2描绘了网络可访问的数据源230,本公开在此方面并不受到限制。在某些实施例中,除了(或替代)网络可访问的数据源230,系统200可包括一个或多个本地数据源。本地数据源可经由一个或多个总线或者其它通信链路(例如,通用串行总线、IEEE1394、SCSI、外部组件互连(PCI)等)通信地联接到服务集成模块210和/或计算装置220。
服务集成模块210可包括数据存储区212,在其上存储一个或多个服务记录250和/或一个或多个数据源记录260。每个数据源记录260可包括标识符、驱动程序、凭证和连接信息,如上文所描述的。每个服务记录250可包括标识符、数据源(注明数据源记录260)、参数化查询和结果映射,如上文所描述的。在某些实施例中,数据存储区212可包括结果高速缓存270以高速缓存一个或多个数据源查询的结果,如上文所描述的。
服务集成模块210可以被配置成响应于包括数据源标识符、驱动程序、凭证、连接信息等的添加数据源请求而向数据存储区212添加新数据源记录260。在某些实施例中,服务集成模块210在向数据存储区212添加对应的数据源记录260之前验证新数据源能够与提供的信息关联。
在某些实施例中,服务集成模块210包括服务注册接口214(例如,web接口),用户可以通过服务注册接口214来创建、编辑或另外管理数据源记录260和/或服务记录250。服务集成模块210可以被配置成通过服务注册接口214向数据存储区212添加新服务记录250和/或数据源记录260。添加服务记录250的请求可包括标识符、数据源、参数化查询、结果映射等。在某些实施例中,在把新服务记录250添加到数据存储区212之前,服务集成模块210验证服务。验证服务可包括判断特定数据源是否存在于数据存储区212,验证数据源,验证参数化查询(例如,验证查询的语法,利用一个或多个测试参数来对数据源的查询进行测试等),和/或验证结果映射(例如,验证映射的语法等)。验证服务可进一步包括鉴权请求以确保客户端被授权添加新服务记录。
服务注册端口214可允许用户规定在一个或多个数据源230的原始数据类型与标准化数据格式之间的结果映射。映射可以被应用于一个或多个服务记录250,如上文所描述的。服务注册接口214可以被配置成通过测试到一个或多个数据源230的连接、通过一个或多个服务运行测试查询等来测试一个或多个服务和/或数据源。在某些实施例中,服务注册接口214可进一步允许用户规定对于结果高速缓存270的策略。高速缓存策略可包括老化时间、最大高速缓存容量、LRU策略等。
数据源和服务可以在注册时间被添加到服务集成模块210。因此,一旦在数据存储区212中创建了对应的数据源记录230和/或服务记录250,新数据源和/或服务就可用。
服务集成模块210可包括服务接口216,其被配置成经由网络140向客户端280呈现在服务集成模块210注册的一个或多个服务。如本文所用的,“客户端”指客户端计算装置,其可包括但不限于:个人计算装置、膝上型计算机、笔记本、上网本、平板计算机、个人数字助理(PDA)、智能电话等。在某些实施例中,服务集成模块210可以使每个服务记录250与相应统一资源标识符(URL)相关联。客户端280可以使用URL来导向请求到特定服务。服务记录250的URL可以来自于服务记录的标识符。例如,如果服务接口216的主机名为“service.com”,被标识为“Service_A”的服务的URL可以是“service.com/services/Service_A”。在某些实施例中,服务可以通过请求参数来标识。例如导向至服务接口216的HTTP请求可以包括具有值“Service_A”的“服务标识符”参数。虽然在本文中描述了用于注册和/或呈现服务的示例性机制,本公开在此方面不受限制并且可以适用于任何合适注册机制。
在某些实施例中,服务接口216提供可用服务和/或数据源的列表或目录。服务接口216可以列举一个或多个注册服务的参数和/或可以提供示例性服务请求。服务接口216可进一步被配置成提供服务映射信息和/或规定可以以其返回服务结果的标准化格式。服务接口216可以允许客户端280通过服务注册接口214编辑和/或修改服务中的一个或多个,如上文所描述的。
服务接口216被配置成从一个或多个客户端280接收服务请求217。服务接口216可以使用任何合适机制来接收服务请求217,包括但不限于:HTTP、简单对象访问协议(SOAP)、远程过程呼叫(RPC)、远程方法调用(RPC)等。
在接收到服务请求217后,服务集成模块210可以验证请求217,其可包括验证请求语法、验证请求参数等。在某些实施例中,对于服务集成模块210的访问被限制为经鉴权的用户。服务集成模块210可包括和/或通信地接到用户数据库、目录等(未图示)。验证服务请求217可包括鉴权在服务请求217中的凭证,诸如用户名称和口令、PIN、数字签名等。
在验证服务请求217后,服务集成模块210可标识对应的服务记录250,如上文所描述的。服务集成模块210可以基于请求217被导向到的URL、服务请求217的参数等来标识服务记录250。
服务集成模块210可以使用标识的服务记录250的参数化查询和/或服务请求217的参数来生成数据源查询。生成数据源查询可包括把服务请求217的一个或多个请求参数插入服务记录250的参数化查询内。在某些实施例中,请求参数可以被格式化和/或编码为对于数据源230的合适格式。
服务请求217可以包括对多个数据集合的请求。例如,服务请求217可以包括多个请求参数集合。响应于这样的请求,服务集成模块210可以生成多个不同的数据源查询,每个数据源查询包括相应请求参数集合。请求参数可以由特定字符来界定和/或通过服务请求217的格式来表示。
服务集成模块210可以使用数据源查询来生成和/或传输结果给客户端。在某些实施例中,服务集成模块210判断结果是否被高速缓存在结果高速缓存270中。若如此,服务集成模块210可以将高速缓存结果传输给客户端,而无需查询数据源230。
如果并未在高速缓存270中发现结果(或者,高速缓存结果无效),那么服务集成模块210可以经由网络240从数据源230获得结果。服务集成模块210可以使用由服务记录250注明的数据源记录260的驱动程序、凭证和/或连接信息来访问数据源230。服务集成模块210可以把包括该结果的响应219传输给客户端查询217。
在某些实施例中,服务集成模块210可进一步被配置成应用服务记录250的结果映射,把从数据源230采集的结果映射到标准化格式,如上文所描述的。响应219可以包括以标准化格式的结果。在某些实施例中,服务集成模块210可以被配置成将结果格式化为在服务请求217中规定的格式。如上文所描述的,格式可以包括二进制格式,文本格式或适合由客户端280使用的其它格式。
服务集成模块可以被配置成在结果高速缓存270中高速缓存结果。高速缓存结果可以包括把结果“串行化”成适合于存储在非暂时性计算机可读介质上的格式并且使串行化结果与结果查询相关联。串行化结果可与诸如最后访问时间、访问频率度量、到期时间等的高速缓存管理数据相关联。
客户端280可以接收响应219并且从中提取结果。在某些实施例中,客户端280包括客户端呈现模块282,其被配置成在客户端280的一个或多个人机接口组件(诸如显示器、音频输出等)上呈现结果219。客户端呈现模块282可以被配置成以图形、文本等方式呈现结果。在某些实施例中,客户端呈现模块282从服务集成模块210可得到和/或经由网络240可访问(例如,客户端呈现模块282可以包括由服务集成模块210提供的小应用程序)。
客户端呈现模块282可以被配置为结果219选择合适图形表示格式。图形表示格式可包括但不限于:图表、曲线图、基于文本的格式(例如,表格式、分列格式、电子表格格式等)、格式的组合等。客户端呈现模块282可以基于结果219的“结构”,诸如在结果219中表示的变量的数量和/或类型、结果219的输入/输出变量的数量、服务请求217的参数等,来选择图形表示格式。因此,客户端呈现模块282可以被配置成分析结果219以选择合适图形表示格式。选择可以基于一个或多个用户定义的选择标准或偏好。
作为替代或作为补充,服务集成模块210可以包括服务器侧呈现模块213,其被配置成自动地生成结果219的图形表示以在客户端280上呈现。服务器侧呈现模块213可以为结果219自动选择合适图形表示,如上文所描述的。格式化结果可以被提供给客户端280以在其上呈现。
在某些实施例中,客户端280可包括服务器计算装置,其被配置成经由网络240向一个或多个客户端284呈现从服务集成模块获得的结果。例如,客户端280可包括web服务器,其被配置成聚集并且公布结果给多个客户端计算装置284。
图3为用于动态服务集成的方法300一个实施例的流程图。在步骤310,方法300开始并且初始化。方法300可以在非暂时性存储介质上实施为计算机可读指令。因此,步骤310可以包括在计算装置上加载一个或多个计算机可读指令和/或执行一个或多个指令。方法300的步骤中的一个或多个可以结合特定机器组件,诸如通信接口、计算机可读介质等。步骤310因此可以包括访问和/或初始化这些机器组件。
在步骤320,方法300可经由网络通信接口接收服务请求。服务请求可包括服务标识符和/或一个或多个请求参数。服务标识符可以用来在步骤330标识服务记录和/或数据源记录,如上文所描述的。在步骤320标识的服务记录和/或数据源记录可以存储于计算装置的非暂时性计算机可读存储介质上。
步骤340可包括使用服务记录的参数化查询和/或服务请求的一个或多个请求参数来生成数据源查询。步骤340可包括将一个或多个请求参数插入于参数化查询内。在某些实施例中,步骤340包括将一个或多个请求参数格式化和/或编码为适合于特定数据源的格式。步骤340可进一步包括使用数据源查询来获得结果。在某些实施例中,从结果高速缓存获得结果。作为替代或作为补充,可以从数据源获得结果。从数据源获得结果可包括使用在步骤330标识的数据源记录的驱动程序、凭证和/或连接信息向数据源发出查询。
步骤350可包括在网络上向客户端传输结果。在某些实施例中,步骤350包括应用服务记录的结果映射来将原始结果数据映射为标准化格式。步骤350可进一步包括将结果转换为适合于客户端的格式,如上文所描述的。在某些实施例中,步骤350可进一步包括将结果包括于结果高速缓存中,如上文所描述的。
在步骤360,方法300结束直到接收到另一服务请求。
图4为用于提供动态服务集成的方法400的另一个实施例的流程图。
在步骤410,方法400开始并且初始化。方法400可以在非暂时性存储介质上实施为计算机可读指令。因此,方法410可以包括在计算装置上加载一个或多个计算机可读指令和/或执行一个或多个指令。方法400的步骤中的一个或多个可以结合特定机器组件,诸如通信接口、计算机可读存储介质等。步骤410因此可包括访问和/或初始化这些机器组件。步骤420包括接收服务请求,如上文所描述的。
在步骤422,可以验证服务请求。验证服务请求可包括验证请求的语法,验证请求的凭证(例如,检验请求是否来自授权客户端)等。步骤422可包括访问用户目录或数据库,验证数字签名等。步骤422可进一步包括验证服务请求注明了有效服务记录和/或数据源记录。如果服务请求得以验证,方法400可继续到步骤430;否则,方法400可以在步骤424继续。
步骤424可包括将报错响应返回到客户端。步骤424可以包括生成报错响应,该报错响应指示错误的性质,提供关于如何在随后的服务请求中解决错误的指令等。
在步骤430,方法400标识对应于服务请求的服务记录,如上文所描述的。在步骤432,方法400可以判断在结果高速缓存中服务请求结果是否可用。步骤432可以包括利用服务请求的一个或多个请求参数(或数据源查询)来查询结果高速缓存。步骤432可进一步包括判断高速缓存结果是否有效(例如,尚未过期,不“脏”等)。如果在高速缓存中有效结果可用,方法400在步骤470继续,否则,方法400在步骤440继续。
步骤440包括生成用于服务请求的数据源查询。步骤440可包括将一个或多个请求参数插入于在步骤430所标识的服务记录的参数化查询。步骤430可进一步包括将一个或多个请求参数重新格式化和/或编码为适合于数据源的格式。
步骤450可包括使用在服务记录中注明的数据源记录的驱动程序、凭证和/或连接信息来将查询发出到数据源。步骤450可进一步包括从数据源接收对于查询的响应。步骤460包括将结果映射应用于从数据源返回的原始数据,如上文所描述的。在某些实施例中,步骤460进一步包括在结果高速缓存中高速缓存结果。
在某些实施例中,方法400进一步包括在步骤470将结果转换为的服务请求中规定的格式,如上文所描述的。结果可以在步骤480使用网络接口传输到客户端计算装置。在步骤490,方法400结束直到接收到下一服务请求。
图5为用于动态服务集成的方法的另一实施例的流程图。在步骤510,方法500开始并且初始化。方法500可以实施为在非暂时性存储介质上的计算机可读指令。因此,步骤510可包括在计算装置上加载一个或多个计算机可读指令和/或执行一个或多个指令。方法500的步骤中的一个或多个可结合特定机器组件,诸如通信接口、计算机可读存储介质等。步骤510可因此包括访问和/或初始化这些机器组件。
在步骤520接收添加新服务记录的请求。请求可以经由网络接口从客户端接收。步骤520的请求可包括服务标识符、参数化查询、结果映射、引用数据源和/或规定数据源标识符、驱动程序、凭证和/或连接信息。
步骤522可包括验证请求,其可包括检查请求语法,检验请求的凭证以判断请求是否来自于授权客户端等。如果请求是有效的,方法500可以继续到步骤530。在某些实施例中,验证请求进一步包括在非暂时性计算机可读存储介质上存储新服务记录(和/或新数据源记录)。新服务自在步骤522验证后可以立即可用。因此,新服务可以可用,而不会复杂化和/或部署延迟。
如果请求未被验证,方法500可以继续到步骤524,其中,报错响应被返回到客户端。报错响应可以指示错误性质和/或指示在随后的请求中可以如何来解决错误。
步骤540包括接收导向至新服务请求的服务请求,如上文所描述的。步骤550可包括响应于服务请求而生成结果并且将结果传输给客户端,如上文所描述的。自在步骤522验证新服务记录时,步骤540和550可以立即发生。
方法500止于步骤550直到添加了另一服务请求和/或接收了另一服务请求。
图6为动态服务集成的方法的另一实施例的流程图。在步骤610,方法600开始并且被初始化。方法600可以在非暂时性存储介质上实施为计算机可读指令。因此,步骤610可包括在计算装置上加载一个或多个计算机可读指令和/或执行一个或多个指令。方法600的步骤中的一个或多个可结合特定机器组件,诸如通信接口、计算机可读存储介质等。步骤610因此可以包括访问和/或初始化这些机器组件。
在步骤610,客户端计算装置将服务请求传输到网络可访问的服务集成模块。服务请求可包括服务标识符和一个或多个请求参数。服务请求可以独立于被查询以获得请求结果的数据源。因此,服务请求可以用简单格式生成,诸如HTTP、SOAP等。服务请求可不包括并且也不注明数据源驱动程序、数据源凭证等。在某些实施例中,服务请求可以是请求的结果规定格式和/或编码(例如ASCII文本、UTF-8等)。
在某些实施例中,步骤620的服务请求由操作于计算机上的应用程序生成。作为替代或作为补充,服务请求可以由被配置成向一个或多个客户端组件装置提供内容的web服务器的组件生成和/或传输。
在步骤630,客户端计算装置接收对于服务请求的响应,其包括以诸如XML、JSON、YAML、RDF、Turtle等的标准化隔格式的结果。结果可以按照服务请求中规定那样来格式化和/或编码。在步骤630接收的响应可以由服务集成模块生成,如上文所描述的。
在步骤640,客户端计算装置可以自动生成结果的图形表示。图形表示可包括任何合适图形表示格式,包括但不限于:图表、曲线图、基于文本的表示、图形表示格式的组合等。在某些实施例中,步骤640包括基于在步骤630获得的结果来选择图形表示格式(例如,选择适合于显示结果的格式)。选择可以基于结果的“结构”。因此,步骤640可包括基于用户定义的选择标准来分析结果,如上文所描述的。替代地,在某些实施例中,图形表示可以由网络可访问的服务集成模块生成,如上文所描述的。
在某些实施例中,步骤640包括在显示装置上呈现图形表示。图形表示可包括被配置成接收用户输入的用户接口组件。步骤640可包括响应于通过用户接口组件接收的用户输入来修改图形表示。例如,步骤640可包括放大图形表示的一部分,在图形表示内漫游,改变图形表示的类型(例如,曲线图到饼图)等。在某些实施例中,用户接口组件可以被配置成接收请求参数和/或允许用户使计算装置在步骤620传输另一服务请求。响应于接收到新服务请求的响应,图形表示可以在步骤630和640更新并且向用户呈现。
在步骤650,流程结束直到下一服务请求传输到服务接口模块。
上文的描述提供许多具体细节用于透彻地理解本文所描述的实施例。但本领域技术人员将认识到可以省略具体细节中的一个或多个,或者可以使用其它方法、组件或材料。在某些情况下,并未详细地示出或描述操作。
而且,在一个或多个实施例中,所描述的特点、操作或特征可以以任何合适方式组合。还应理解,结合所公开的实施例所描述的方法的步骤或动作的次序可以改变,如对于本领域技术人员显而易见的。因此,在附图或详细描述中的任何次序仅出于说明目的并且未必意味着必需的次序,除非规定需要这样的次序。
实施例可包括各种步骤,其可以以机器可执行指令实施以由通用或专用计算机(或其它电子装置)来执行。替代地,可以由包括用来执行步骤的具体逻辑的硬件组件或者由硬件、软件和/或固件的组合来执行这些步骤。
实施例可以设置为包括具有其上存储指令的计算机可读存储介质的计算机程序产品,指令可以用来对计算机(或其它电子装置)编程以执行本文所描述的过程。计算机可读存储介质可包括但不限于:硬驱动、软盘、光盘、CD-ROM、DVD-ROM、ROM、RAM、EPROM、EEPROM、磁卡或光学卡、固态存储装置或适合于存储电子指令的其它类型的介质/机器可读介质。
如本文所用的,软件模块或组件可包括位于存储器装置和/或计算机可读存储介质内的任何类型的计算机指令或计算机可执行代码。软件模块可例如包括计算机指令的一个或多个物理或逻辑块,其可以被组织为执行一个或多个任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。
在某些实施例中,特定软件模块可包括存储于存储器装置的不同位置的相异指令,它们一起实施所描述的模块功能。实际上,模块可包括单个指令或许多指令,并且可以分布于若干不同代码段上,在不同程序中并且在若干存储器装置上。某些实施例可以在分布式计算环境中实践,其中由通过通信网络链接的远程处理装置来执行任务。在分布式计算环境中,软件模块可以位于本地和/或远程存储装置中。此外,在数据库记录中结合或描绘在一起的数据可以贮存在同一存储器装置或若干存储器装置上,并且可以在网络上的数据库中的记录字段中被链接在一起。
本领域技术人员应了解在不偏离本发明的基本原理的情况下可对上述实施例的细节做出许多变化。

Claims (25)

1.一种用于动态服务集成的方法,包括:
在计算装置接收来自客户端的服务请求,所述服务请求包括服务标识符和一个或多个请求参数;
使用所述服务标识符来标识多个服务记录之一,所述服务记录包括参数化查询并且注明多个数据源记录之一,其中所述多个服务记录和所述多个数据源记录被存储在非暂时性计算机可读存储介质上;
把所述一个或多个请求参数插入所述参数化查询以生成数据源查询;以及
在所述计算装置的网络接口上把所述数据源查询的结果传输到所述客户端。
2.根据权利要求1所述的方法,进一步包括:应用所述服务记录的结果映射以把数据源的原始数据映射为标准化格式。
3.根据权利要求1所述的方法,进一步包括:应用所述服务记录的结果映射以把数据源的原始数据映射为下述之一:可扩展标记语言格式、Javascript对象表示法格式、YAML格式、资源描述格式(RDF)、简化RDF三元组语言和界定文本格式。
4.根据权利要求1所述的方法,进一步包括:把所述结果格式化成所述服务请求中规定的格式。
5.根据权利要求1所述的方法,进一步包括:使用所述数据源查询来访问在所述计算装置的结果高速缓存中的结果。
6.根据权利要求1所述的方法,进一步包括:
串行化所述结果;以及
与所述数据源查询相关联地在所述计算装置的结果高速缓存中高速缓存被串行化的结果。
7.根据权利要求1所述的方法,进一步包括:使用由所标识的服务记录所注明的所述数据源记录的驱动程序、凭证和连接信息来向数据源发出所述数据源查询。
8.根据权利要求1所述的方法,其中,所述服务标识符包括所述服务请求的统一资源标识符。
9.根据权利要求1所述的方法,其中,所述服务标识符包括所述服务标识符的参数。
10.根据权利要求1所述的方法,进一步包括:使用所述服务请求中包含的凭证来鉴权所述服务请求。
11.根据权利要求1所述的方法,进一步包括:
把新服务记录添加到所述计算机可读存储介质,该服务记录注明在所述计算机可读存储介质上的新数据源记录;
接收标识所述新服务记录的服务请求,以及在添加所述新服务记录时传输对所述新数据源记录的数据源的数据源查询结果。
12.根据权利要求1所述的方法,进一步包括:在显示器上呈现所述结果的图形表示。
13.根据权利要求1所述的方法,进一步包括:
基于所述结果的结构来选择图形表示格式;以及
在显示器上以所选择的图形表示格式呈现所述结果的图形表示。
14.一种非暂时性计算机可读存储介质,所述计算机可读存储介质包括被配置成使计算装置执行用于动态服务集成方法的指令,所述方法包括:
从客户端接收服务请求,所述服务请求包括服务标识符和一个或多个请求参数;
使用所述服务标识符来标识多个服务记录之一,所述服务记录包括参数化查询并且注明多个数据源记录之一;
把所述一个或多个请求参数插入所述参数化查询以生成数据源查询;以及
从结果高速缓存和数据源之一访问所述数据源查询的结果;以及
经由网络把所述结果传输到所述客户端。
15.根据权利要求14所述的计算机可读存储介质,所述方法还包括:把所述结果映射为标准化格式。
16.根据权利要求14所述的计算机可读存储介质,所述方法还包括:把所述结果重新格式化为请求的格式。
17.根据权利要求14所述的计算机可读存储介质,所述方法还包括:
串行化所述结果;以及
与所述数据源查询相关联地在所述结果高速缓存中高速缓存所述串行化结果。
18.根据权利要求14所述的计算机可读存储介质,所述方法还包括:使用所述数据源记录的驱动程序、凭证和连接信息来向网络可访问的数据源发出所述数据源查询。
19.根据权利要求14所述的计算机可读存储介质,其中,所述服务标识符包括所述服务请求的统一资源标识符和所述服务请求的请求参数之一。
20.根据权利要求14所述的计算机可读存储介质,其中,生成所述数据源查询包括重新格式化所述一个或多个请求参数。
21.根据权利要求14所述的计算机可读存储介质,所述方法还包括:
基于所述结果的结构来选择图形表示格式;以及
在显示器上以所选择的图形表示格式呈现所述结果的图形表示。
22.一种用于动态服务集成的设备,包括:
计算装置,所述计算装置包括处理器、网络接口、存储器和非暂时性计算机可读存储介质;
服务集成模块,所述服务集成模块在所述计算装置上操作,其中所述服务集成模块被配置成在所述网络接口上接收来自客户端的服务请求,所述服务请求包括服务标识符和一个或多个请求参数;使用所述服务标识符来标识多个服务记录之一;从所标识的服务记录的参数化查询和所述一个或多个请求参数生成数据源查询;以及在所述网络接口上把所述数据源查询的结果传输到所述客户端。
23.根据权利要求22所述的设备,其中进一步包括结果高速缓存,所述结果高速缓存包括相应数据源查询的多个结果,其中所述服务集成模块被配置成从所述结果高速缓存和网络可访问的数据源之一访问所述数据源查询的结果。
24.根据权利要求22所述的设备,其中,所述服务集成模块被配置成使用所述服务记录的结果映射把数据源的原始结果映射为所述数据源查询的结果的标准化格式。
25.根据权利要求22所述的设备,其中,所述服务集成被配置成使用所标识的服务记录的数据源记录的驱动程序、凭证和连接信息来从网络可访问的数据源访问所述数据源查询的结果。
CN201280055871.2A 2011-11-17 2012-10-22 用于动态服务集成的系统和方法 Pending CN103946841A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/299,112 2011-11-17
US13/299,112 US20130132372A1 (en) 2011-11-17 2011-11-17 Systems and methods for dynamic service integration
PCT/US2012/061277 WO2013074249A1 (en) 2011-11-17 2012-10-22 Systems and methods for dynamic service integration

Publications (1)

Publication Number Publication Date
CN103946841A true CN103946841A (zh) 2014-07-23

Family

ID=48427928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280055871.2A Pending CN103946841A (zh) 2011-11-17 2012-10-22 用于动态服务集成的系统和方法

Country Status (10)

Country Link
US (1) US20130132372A1 (zh)
EP (1) EP2780839A4 (zh)
JP (2) JP2015505387A (zh)
KR (1) KR20140093947A (zh)
CN (1) CN103946841A (zh)
AU (1) AU2012337242A1 (zh)
CA (1) CA2855191A1 (zh)
IN (1) IN2014CN02117A (zh)
TW (1) TW201322135A (zh)
WO (1) WO2013074249A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933115A (zh) * 2015-06-05 2015-09-23 北京京东尚科信息技术有限公司 一种多维分析方法和系统
CN108334622A (zh) * 2018-02-08 2018-07-27 竞技世界(北京)网络技术有限公司 一种获取格式化复合数据的方法
CN109643311A (zh) * 2016-06-23 2019-04-16 施耐德电气美国股份有限公司 用于分布式系统的事务性非结构化数据驱动的顺序联合查询方法
CN109656989A (zh) * 2018-10-29 2019-04-19 平安科技(深圳)有限公司 多数据源整合方法、装置、计算机设备和存储介质
CN111444443A (zh) * 2020-03-27 2020-07-24 广州华多网络科技有限公司 内容推送服务器及其内容服务的内容推送方法
CN115309566A (zh) * 2022-08-09 2022-11-08 医利捷(上海)信息科技有限公司 一种服务接口的动态管理方法及系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339133B2 (en) 2013-11-11 2019-07-02 International Business Machines Corporation Amorphous data preparation for efficient query formulation
TWI552547B (zh) * 2014-07-22 2016-10-01 廣達電腦股份有限公司 資料傳輸服務切換系統和方法
CN106227782A (zh) * 2016-07-15 2016-12-14 广东亿迅科技有限公司 一种基于多数据源插入到数据库的方法
JP6834290B2 (ja) * 2016-09-21 2021-02-24 カシオ計算機株式会社 人材情報処理装置及びプログラム
US10412149B2 (en) 2016-12-12 2019-09-10 Sap Se Logical data object web services
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
CN108875291B (zh) * 2017-05-11 2022-11-29 腾讯科技(深圳)有限公司 一种信息处理方法及服务器、计算机存储介质
CN110633313A (zh) * 2018-05-31 2019-12-31 贵州白山云科技股份有限公司 一种基于多数据源的数据传输方法及装置
US11514053B2 (en) * 2019-04-16 2022-11-29 Microsoft Technology Licensing, Llc Caching of potential search results
CN110704521A (zh) * 2019-08-30 2020-01-17 深圳壹账通智能科技有限公司 接口数据接入方法及系统
CN110909059A (zh) * 2019-11-25 2020-03-24 杭州晨鹰军泰科技有限公司 一种数据集成系统、方法、设备及存储介质
CN111092877B (zh) * 2019-12-12 2022-09-02 北京金山云网络技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198120A1 (en) * 2000-04-12 2005-09-08 Webcollage Inc. Dynamic integration of Web sites
WO2008018080A2 (en) * 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
CN102089767A (zh) * 2008-05-30 2011-06-08 爱迪德加拿大公司 无人值守应用程序的经认证数据库连接

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4251699B2 (ja) * 1999-02-03 2009-04-08 三菱電機株式会社 データベース検索システム
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
JP2001265799A (ja) * 2000-03-15 2001-09-28 Hitachi Ltd 情報検索方法
US20020091712A1 (en) * 2000-10-28 2002-07-11 Martin Andrew Richard Data-base caching system and method of operation
JP2004295364A (ja) * 2003-03-26 2004-10-21 Ntt Comware Corp データベースアクセスシステム及び方法、データベースアクセスサーバ、ならびに、コンピュータプログラム
US7464073B2 (en) * 2003-04-10 2008-12-09 International Business Machines Corporation Application of queries against incomplete schemas
CA2533167A1 (en) * 2003-07-22 2005-01-27 Kinor Technologies Inc. Information access using ontologies
US20050240600A1 (en) * 2004-04-21 2005-10-27 Hill David A Methods, systems, and storage mediums for integrating service request generation systems with a service order control system
US9268856B2 (en) * 2007-09-28 2016-02-23 Yahoo! Inc. System and method for inclusion of interactive elements on a search results page
CN101398810B (zh) * 2007-09-30 2013-05-01 日电(中国)有限公司 自适应服务选择设备及其方法,查询系统及其方法
JP5320637B2 (ja) * 2008-03-31 2013-10-23 株式会社Jsol データ検索システム、システム、プログラム、およびデータ検索方法
US8190675B2 (en) * 2010-02-11 2012-05-29 Inditto, Llc Method and system for providing access to remotely hosted services through a normalized application programming interface
US9043323B2 (en) * 2011-08-22 2015-05-26 Nokia Corporation Method and apparatus for providing search with contextual processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198120A1 (en) * 2000-04-12 2005-09-08 Webcollage Inc. Dynamic integration of Web sites
WO2008018080A2 (en) * 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
WO2008018080A3 (en) * 2006-08-11 2008-12-11 Bizwheel Ltd Smart integration engine and metadata-oriented architecture for automatic eii and business integration
CN102089767A (zh) * 2008-05-30 2011-06-08 爱迪德加拿大公司 无人值守应用程序的经认证数据库连接

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933115A (zh) * 2015-06-05 2015-09-23 北京京东尚科信息技术有限公司 一种多维分析方法和系统
CN104933115B (zh) * 2015-06-05 2019-05-03 北京京东尚科信息技术有限公司 一种多维分析方法和系统
CN109643311A (zh) * 2016-06-23 2019-04-16 施耐德电气美国股份有限公司 用于分布式系统的事务性非结构化数据驱动的顺序联合查询方法
CN109643311B (zh) * 2016-06-23 2023-10-03 施耐德电气美国股份有限公司 用于分布式系统的事务性非结构化数据驱动的顺序联合查询方法
CN117235162A (zh) * 2016-06-23 2023-12-15 施耐德电气美国股份有限公司 用于分布式系统的事务性非结构化数据驱动的顺序联合查询方法
CN108334622A (zh) * 2018-02-08 2018-07-27 竞技世界(北京)网络技术有限公司 一种获取格式化复合数据的方法
CN108334622B (zh) * 2018-02-08 2020-06-02 竞技世界(北京)网络技术有限公司 一种获取格式化复合数据的方法
CN109656989A (zh) * 2018-10-29 2019-04-19 平安科技(深圳)有限公司 多数据源整合方法、装置、计算机设备和存储介质
CN111444443A (zh) * 2020-03-27 2020-07-24 广州华多网络科技有限公司 内容推送服务器及其内容服务的内容推送方法
CN111444443B (zh) * 2020-03-27 2024-04-16 广州方硅信息技术有限公司 内容推送服务器及其内容服务的内容推送方法
CN115309566A (zh) * 2022-08-09 2022-11-08 医利捷(上海)信息科技有限公司 一种服务接口的动态管理方法及系统
CN115309566B (zh) * 2022-08-09 2023-09-05 医利捷(上海)信息科技有限公司 一种服务接口的动态管理方法及系统

Also Published As

Publication number Publication date
CA2855191A1 (en) 2013-05-23
EP2780839A4 (en) 2015-10-07
AU2012337242A1 (en) 2014-03-27
TW201322135A (zh) 2013-06-01
WO2013074249A1 (en) 2013-05-23
JP2017111834A (ja) 2017-06-22
US20130132372A1 (en) 2013-05-23
EP2780839A1 (en) 2014-09-24
JP2015505387A (ja) 2015-02-19
KR20140093947A (ko) 2014-07-29
IN2014CN02117A (zh) 2015-05-29

Similar Documents

Publication Publication Date Title
CN103946841A (zh) 用于动态服务集成的系统和方法
KR101925165B1 (ko) 외부 데이터 소스로부터의 데이터를 이용한 데이터베이스 쿼리 응답의 강화 기법
US8326873B2 (en) Enterprise architecture system and method
JP5200721B2 (ja) 制御方法、制御装置、及びプログラム
CN101102313B (zh) 自动更换代理服务器的网络下载系统及方法
AU2016382909A1 (en) Method and device for processing short link, and short link server
US20130110903A1 (en) File fetch from a remote client device
CN102663009B (zh) 一种支持企业用户数据私有化的web服务集成方法
CN110022354A (zh) 基于http协议的移动应用集成方法、装置、计算机设备及存储介质
CA2845932C (en) Method and system for registering software systems in data-sharing sessions
CN101924799A (zh) 一种对域名进行信息查询的方法和系统
CN111310230B (zh) 一种空间数据处理方法、装置、设备及介质
US8930502B2 (en) Internet vehicle data logger framework that provide data controller by the user in standardized human understandable format via web services
CN113381866A (zh) 基于网关的服务调用方法、装置、设备及存储介质
US20140278542A1 (en) Method and system for medical record collection and distribution
KR100759186B1 (ko) 비구조 웹문서 및 데이터베이스의 다양한 정보를웹서비스로 제공하기 위한 웹서비스 제공 시스템 및 그방법
CN114840574A (zh) 数据查询方法、服务器、节点及存储介质
US10313433B2 (en) Method and system for registering software systems and data-sharing sessions
CN115017185A (zh) 一种数据处理方法、装置及存储介质
JP5636394B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20200177693A1 (en) Id space conversion system and method for the same
CN101771731B (zh) 获取网络地址本的方法和实现网络地址本的装置
CN116701520A (zh) 页面显示方法、装置、服务器及存储介质
JP5415848B2 (ja) データ共有システム及びデータ共有方法
CA3195743A1 (en) Privacy manager for connected tv and over-the-top applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140723