增强中间件通信服务.pdf

上传人:1*** 文档编号:470477 上传时间:2018-02-18 格式:PDF 页数:17 大小:1.95MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410095895.1

申请日:

2014.03.14

公开号:

CN104052792A

公开日:

2014.09.17

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/08申请日:20140314|||著录事项变更IPC(主分类):H04L 29/08变更事项:申请人变更前:SAP股份公司变更后:SAP欧洲公司变更事项:地址变更前:德国瓦尔多夫变更后:德国瓦尔多夫|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

SAP股份公司

发明人:

R.诺普

地址:

德国瓦尔多夫

优先权:

2013.03.15 US 13/834,098

专利代理机构:

北京市柳沈律师事务所 11105

代理人:

邵亚丽

PDF下载: PDF下载
内容摘要

本发明中的各种实施例包括提供增强中间件通信服务的系统、方法和软件中的一个或多个。实施例一般包括可执行以便在中间件平台和诸如企业级应用的应用之间提供通信能力以便于由访问用于功能和数据的移动应用经由中间件平台访问应用的数据和功能的服务。一些实施例包括至少一个服务来增强应用,所述至少一个服务从中间件对象接收请求数据的调用,并且标识将被包括在对该请求的响应中的数据。然后可以检索所标识的数据,然后将其返回到调用的中间件对象。通常从移动设备应用接收中间件对象的调用,而且中间件对象响应于请求将接收到的数据提供给移动应用。

权利要求书

1.  一种方法,包括:
从中间件对象接收服务调用,该服务调用包括对数据的请求;
对于该数据请求,标识将被包括在对该数据请求的响应中的数据;
检索所标识的数据;以及
调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。

2.
  如权利要求1所述的方法,其中,所述服务调用是通过网络接收到的超文本传输协议。

3.
  如权利要求1所述的方法,其中,标识将被包括在对该数据请求的响应中的数据包括:
从标识中间件对象能够处理的有效数据项的数据库表中检索数据。

4.
  如权利要求3所述的方法,其中,标识中间件对象能够处理的有效数据项的数据库表包括用于多个中间件对象中的每一个的一行数据,用于所述多个中间件对象中的每一个的一行数据标识各自的中间件对象能够处理的数据项。

5.
  如权利要求1所述的方法,其中,利用传输过程构建的第一传输数据结构以标识包括在第一传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。

6.
  如权利要求5所述的方法,其中,第一传输数据结构的格式是JavaScript对象符号格式。

7.
  如权利要求1所述的方法,还包括:
从中间件对象接收包括数据更新的第二传输数据结构;
从第二传输数据结构读取包括已更新的数据的数据;
确定读取自第二传输数据结构的已更新的数据将被存储到的数据存储位置;
基于读取自第二传输数据结构的已更新的数据和所确定的数据存储位置,发出数据更新命令;
当接收到对数据更新命令的成功响应时,调用数据传输过程,以参考接收到的第二传输数据结构并包括代表成功更新的数据来构建第三传输数据结 构,并且发送第三传输数据结构到中间件对象;以及
当接收到对数据更新命令的失败响应时:
发出回退命令;以及
调用数据传输过程,以参考接收到的第二传输数据结构并包括代表更新失败的数据来构建第四传输数据结构,并且发送第四数据传输结构到中间件对象。

8.
  一种在其上存储有指令的非临时性计算机可读介质,该指令在被至少一个计算设备的至少一个处理器运行时使所述至少一个计算设备:
从中间件对象接收服务调用,该服务调用包括对数据的请求;
标识将被包括在对该数据请求的响应中的数据;
检索所标识的数据;以及
调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。

9.
  如权利要求8所述的非临时性计算机可读介质,其中,所述中间件对象是存在于中间件平台内的多个中间件对象之一,其操作以通过网络提供后端数据和访问移动客户端应用的功能。

10.
  如权利要求8所述的非临时性计算机可读介质,其中,标识将被包括在对该数据请求的响应中的数据包括:
从标识中间件对象能够处理的有效数据项的数据库表中检索数据。

11.
  如权利要求10所述的非临时性计算机可读介质,其中,标识中间件对象能够处理的有效数据项的数据库表包括用于多个中间件对象中的每一个的一行数据,用于所述多个中间件对象中的每一个的一行数据标识各自的中间件对象能够处理的数据项。

12.
  如权利要求10所述的非临时性计算机可读介质,其中:
对数据的请求作为在运行时检索数据的远程功能调用被接收;
检索所标识的数据包括使远程功能调用被运行以检索数据;以及
标识将被包括在对该数据请求的响应中的数据包括:
读取与包括在检索到的数据中的数据项相关联的元数据,以标识中间件对象不能处理的任何数据项;以及
从检索到的数据中移除中间件对象不能处理的任何数据项。

13.
  如权利要求8所述的非临时性计算机可读介质,其中,由传输过程 构建的第一传输数据结构以标识包括在第一传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。

14.
  如权利要求8所述的非临时性计算机可读介质,具有在其上存储的进一步指令,该进一步指令在被至少一个计算设备的至少一个处理器执行时,进一步使所述至少一个计算设备:
从中间件对象接收包括数据更新的第二传输数据结构;
从第二传输数据结构读取包括已更新的数据的数据;
确定读取自第二传输数据结构的已更新的数据将被存储到的数据存储位置;
基于读取自第二传输数据结构的已更新的数据和所确定的数据存储位置,发出数据更新命令;
当接收到对数据更新命令的成功响应时,调用数据传输过程,以参考接收到的第二传输数据结构并包括代表成功更新的数据来构建第三传输数据结构,并且发送第三传输数据结构到中间件对象;以及
当接收到对数据更新命令的失败响应时:
发出回退命令;以及
调用数据传输过程,以参考接收到的第二传输数据结构并包括代表更新失败的数据来构建第四传输数据结构,并且发送第四数据传输结构到中间件对象。

15.
  一种系统,包括:
至少一个处理器、至少一个存储器设备和至少一个网络接口设备;
应用,其存储在所述至少一个存储器设备上并且能够由所述至少一个处理器运行以便将数据存储到数据库中并经由所述至少一个网络接口设备提供第一联网计算环境内的应用功能,该应用功能的至少一部分能够经由一个或多个应用服务调用;
中间件接口模块,其存储在所述至少一个存储器设备上,中间件接口模块包括能够由所述至少一个处理器运行的一组服务,该服务包括:
接收有关中间件对象的数据下载请求的下载服务,数据下载请求至少包括中间件对象标识符,通过以下操作生成对数据下载请求的响应:
从数据库检索与请求的中间件对象相关的数据项的标识符;
从数据库检索与检索到的数据项标识符相对应的数据项;以及
生成并发送包括检索到的数据项的数据结构到中间件对象标识符的中间件对象。

16.
  如权利要求15所述的系统,其中,所述中间件接口模块包括至少一个另外的服务,所述至少一个另外的服务包括:
联机服务,经由所述至少一个网络接口设备接收和服务于来自中间件对象的功能启用请求,功能启用请求的处理包括调用至少一个应用服务、接收对其的响应、以及发送所述响应的至少一部分到从其接收功能启用请求的中间件对象。

17.
  如权利要求16所述的系统,其中,所述中间件接口模块包括至少一个另外的服务,所述至少一个另外的服务包括:
上传服务,从中间件对象接收数据更新,该上传服务能够被运行以:
从中间件对象接收包括数据更新的数据结构;
确定已更新的数据将被存储到的数据库位置;
基于所确定的存储位置发出至少一个数据更新命令到数据库;
当接收到对于数据更新命令的成功响应时,发送成功响应到中间件对象;以及
当接收到对于数据更新命令的失败响应时,回退数据更新并且发送失败响应到中间件对象。

18.
  如权利要求17所述的系统,其中,所述下载服务、联机服务和上传服务每个都是能够经由远程功能调用由中间件对象调用的远程功能。

19.
  如权利要求17所述的系统,其中,所述中间件接口模块包括至少一个另外的服务,所述至少一个另外的服务包括:
传输服务,当接收到中间件对象标识符和将被发送到所标识的中间件对象的数据时,构建包含发送到所标识的中间件对象的数据的传输数据结构,该传输数据结构以标识包括在传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。

20.
  如权利要求17所述的系统,其中,所述下载服务、联机服务和上传服务在发送数据到中间件对象时调用传输服务。

说明书

增强中间件通信服务
技术领域
本公开涉及增强中间件通信服务。
背景技术
在如今的移动计算环境中,提供访问诸如企业资源规划(ERP)或客户关系管理(CRM)应用的企业应用的数据和服务的移动应用是很重要的。为了提供这样的访问的移动应用,组织经常利用中间件平台。这样的中间件平台非常善于与诸如可以在智能电话和平板设备上运行的移动应用交互。然而,企业应用功能和数据的集成是非常困难的。当对企业应用功能和数据做出改变时,中间件平台和移动应用中的诸如对象的实体往往易损坏而且可能很容易被破坏。这样的集成的更复杂之处在于,与企业应用共事的开发和维护团队通常不同于中间件平台和移动应用的开发和维护团队。结果,往往出现这样的情况:对企业应用做出的改变负面地影响中间件平台服务和移动应用操作。
发明内容
本公开的一方面提供了一种方法,包括:从中间件对象接收服务调用,该服务调用包括对数据的请求;对于该数据请求,标识将被包括在对该数据请求的响应中的数据;检索所标识的数据;以及调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。
本公开的另一方面提供了一种在其上存储有指令的非临时性计算机可读介质,该指令在被至少一个计算设备的至少一个处理器执行时使所述至少一个计算设备:从中间件对象接收服务调用,该服务调用包括对数据的请求;标识将被包括在对该数据请求的响应中的数据;检索所标识的数据;以及调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。
本公开的又一方面提供了一种系统,包括:至少一个处理器、至少一个存储器设备、至少一个网络接口设备;应用,其存储在所述至少一个存储器设备上并且能够由所述至少一个处理器执行以便将数据存储到数据库中并经由所述至少一个网络接口设备提供第一联网计算环境内的应用功能,该应用功能的至少一部分能够经由一个或多个应用服务调用;中间件接口模块,其存储在所述至少一个存储器设备上,中间件接口模块包括能够由所述至少一个处理器执行的一组服务,该服务包括接收有关中间件对象的数据下载请求的下载服务,数据下载请求至少包括中间件对象标识符,通过以下操作生成对数据下载请求的响应:从数据库检索与请求的中间件对象相关的数据项的标识符;从数据库检索与检索到的数据项标识符相对应的数据项;以及生成并发送包括检索到的数据项的数据结构到中间件对象标识符的中间件对象。
附图说明
图1是根据示例实施例的系统的逻辑框图。
图2是根据示例实施例的方法的流程图。
图3是根据示例实施例的方法的流程图。
图4是根据示例实施例的计算设备的框图。
具体实施例
本文中的各种实施例包括提供增强中间件通信服务的系统、方法和软件中的一个或多个。这样的实施例一般包括一个或多个服务,所述一个或多个服务可执行以便在中间件平台和企业应用的对象之间提供通用通信能力以便于由移动应用访问企业应用的数据和功能。这样的移动应用可以在各种类型的计算设备(诸如智能电话和平板设备)上执行。
在一些实施例中,企业应用存储标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务中的一个或两个的数据。该存储的数据可以被存储在专用表中,该专用表包括关于用于在中间件平台上存在的中间件对象的数据项数据行。在其它实施例中,存储的数据可以被存储在数据库表的、关于表中的数据列的元数据中。在又一实施例中,标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务的数据可以被存储在一个或多个文件中。
无论标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务的数据在哪里,在一些实施例中,该数据被专用于接收、服务、和响应企业应用和中间件平台之间的功能、服务、数据和其他调用的通用服务所使用。在将数据发送到中间件平台之前,这些服务参考标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务的数据。一般地,当数据项未被标识为被启用时,该数据项不被发送到中间件平台。结果,通常可以对企业应用进行改变而不会影响中间件平台或移动应用的性能。
本文参照附图描述增强中间件通信服务、它们部署和操作、以及对它们的变化的各种实施例。
在下面的详细描述中,对形成本发明的一部分的附图进行参照,并且在附图中以说明方式示出了可以实践本发明主题的特定实施例。足够详细地描述这些实施例以使本领域技术人员能实践本发明,并且将理解的是,可以利用其他实施例并且可以不脱离本发明主题的范围而做出结构、逻辑和电改变。本发明主题的这些实施例可以单独地和/或共同地被本文所使用的术语“发明”指代,这仅仅为了方便并且不打算将本申请的范围主动限制到任何单一发明或发明构思(如果事实上公开了一个以上的发明或发明构思)。
因此,以下详细描述不被视为限制的意义,并且本发明主题的范围仅仅由所附的权利要求定义。
在一个实施例中,本文描述的功能或算法以硬件、软件或软件和硬件的组合来实现。软件包括存储在诸如存储器或其他类型的存储设备的计算机可读介质上的计算机可执行指令。此外,描述的功能可以对应于模块,其可以是软件、硬件、固件或它们的任意组合。多个功能根据需要在一个或多个模块中执行,而且所描述的实施例仅仅是例子。软件在数字信号处理器、ASIC、微处理器、或对系统进行操作的其它类型的处理器上执行,其它类型的处理器诸如个人计算机、服务器、路由器、或包括网络互连设备的能够处理数据的其他设备。
一些实施例在两个或更多个特定互连的硬件模块或设备中,利用在模块之间和通过模块通信的相关控制和数据信号或作为应用专用集成电路的一部分来实现功能。因此,示例性处理流程适用于软件、固件和硬件实现。
图1是根据示例实施例的系统100的逻辑框图。系统100包括后端系统102、中间件平台130和各种移动设备150。后端系统102和中间件平台130 经由网络连接。在一些实施例中,诸如所示的系统100的实施例,与后端系统102相比,中间件平台130被部署在防火墙120的相反侧。然而,在其它实施例中,中间件平台130可以代替地位于防火墙120内部或者位于部署在中间件平台130和诸如因特网的外部网络140之间的另一防火墙的内部。各种移动设备150经由外部网络140连接到中间件平台。
后端系统102和中间件平台130通常被部署在不同的硬件上,诸如不同的服务器级(server-class)计算设备上。然而,在一些实施例中,后端系统102和中间件平台130可以被部署在同一服务器级计算设备上。在一些实施例中,后端系统102和中间件平台130可以被部署在同一服务器级计算设备或一组服务器级计算设备上的相同或不同的虚拟机环境中。关于图4示出和描述了这样的服务器级计算设备以及包含在其中的硬件部件的例子。
后端系统102包括应用104,诸如企业级应用,其可以是各种类型的企业级应用。这样的各种类型的企业级应用可以包括ERP应用、CRM应用、文档管理应用等。虽然只示出了单一应用104,但是在其它实施例中可以包括多个应用104。
后端系统102通常还包括数据库106,其存储应用104数据。存储在数据库106中的数据可以包括诸如交易数据、主数据(master data)、配置数据、文档、文档模板、各种形式的内容、用户接口定义、已存储的用于提供数据处理功能和数据访问的程序和数据视图等的数据。
后端系统102还可以包括增强中间件通信服务110。在一些实施例中,增强中间件通信服务110作为一个或多个硬件或软件模块被提供在后端系统102中。在其它实施例中,增强中间件通信服务110可被配置为应用104内的软件模块或服务。在另外其它的实施例中,增强中间件通信服务110可以是可以被添加到应用104的插件模块或软件内容。
无论增强中间件通信服务110如何被包括和定位在后端系统102中,增强中间件通信服务110都包括在中间件平台130的对象134和企业应用104之间提供通用通信能力以便于由移动设备150的应用和app访问应用104的数据和功能的服务。增强中间件通信服务110移除对于包括特定中间件平台130通信和集成编码的对象、服务、方法和应用104的其它部分的任何需要。替代地,对象、服务、方法和应用104的其他部分可以利用增强中间件通信服务110以便与中间件平台130和包括在中间件平台130中的对象134通信。 虽然仍可能存在对象、服务、方法和应用104的其他部分可以包括特定中间件平台130通信和集成编码的一些实例,但是这些实例至少被显著地最小化。通过中间件平台130以及系统100的其他部分的说明,下面将进一步描述增强中间件通信服务110。
可以根据一种或多种通信标准进行增强中间件通信服务110和中间件平台130之间、以及增强中间件通信服务110和中间件平台130中的对象134之间的通信,不论所述标准是通用公开定义的标准还是私有标准。例如,在一些实施例中可以利用超文本传输协议来交换根据JavaScript对象符号(JSON)标准编码的消息和数据。然而,在其它实施例中可以利用其他数据传输和数据编码标准。此外,在一些实施例中,在中间件通信服务110和中间件平台130之间、以及增强中间件通信服务110和中间件平台130中的对象134之间通信的数据或数据的一部分可以被加密。
中间件平台130一般是利用软件建立的计算环境,其向软件应用提供服务以进行通信。中间件平台130服务提供后端系统102中的应用104和被部署到移动设备150的应用和app之间的整合能力。在一些实施例中,中间件平台130包括与后端系统102通信的单组数据和功能服务、以及与可被部署到不同的移动设备150的不同的应用和app通信的多个数据和功能服务。中间件平台130可以因此被认为是移动设备150的应用和app与后端系统102之间的数据和功能桥梁。这样的中间件平台的例子是赛贝斯无线平台(Sybase Unwired Platform)、或可从德国沃尔多夫(Walldorf)的SAP AG获得的SUP。
中间件平台130通常包括一组对象134。对象134可以存在以用于各种用途。然而,某些对象134被定义为针对任务封装数据和功能的逻辑单元,移动设备150的应用和app关于可从后端系统102中的应用104获得的数据和功能执行所述任务。例如,一种这样的移动设备150的应用或app任务可以包括用于生成产品订单的功能。示例移动设备150的app可以首先提供所提供的产品的视图。对象之一可以存在于中间件平台130中,以获得由系统100为之存在的组织所提供的所有产品的数据列表。所提供的产品的数据被存储在数据库106中,并可经由应用104访问。所提供的产品的数据列表可以在应用104内经由服务呼叫访问。然而,服务呼叫不可由移动设备150的app直接访问。因此,中间件平台130中的中间件对象被配置为通过与后端系统102通信以提交服务的呼叫并接收对其的回复,来获得所所提供的产品列 表。然后,中间件对象将执行向发起调用的移动设备150提供数据所需要的、对所提供的产品列表数据的任何转换,并且将数据发送到移动设备150的app。通过与中间件平台130中的对象的通信,移动设备150的应用能够获得所提供的产品列表数据,以用于在app内呈现。
而且,另一中间件平台130的对象134可以存在以用于接收在用于购买的移动设备150上选择的产品的订单。这个中间件平台130的对象可以被配置为从移动设备的app接收不同的数据元素,诸如产品标识符、订购的产品的量、客户标识符、航运模式选项、递送地址、价格、和其它这样的订单数据。由中间件平台130的对象接收到的数据元素可能需要被存储在数据库106的不同的表中,而且数据元素到数据库106的存储可能需要按照一定的顺序执行,或通过应用104的一个或多个特定功能元素执行。在这样的实施例中,中间件平台130的对象可以被配置为以工作的逻辑单元,例如通过多个远程功能调用,向多个应用104的不同的服务和数据库106通信订单数据,以使能回退功能。然而,数据也可以以单一通信从移动设备150的app接收,而且中间件平台130的对象是一个逻辑单元,该逻辑单元然后可以将数据分解为对后端系统102中的应用104或数据库106的多个服务调用。然后,中间件平台130的对象可以接收响应于每个调用的成功确认,并将单一确认发送回从其接收到订单数据的发起调用的移动设备150的应用。在存在关于由中间件平台130的对象做出的任何调用错误或其它故障的情况下,可以执行回退,而且错误被通信回发起调用的移动设备150的应用。
在一些实施例中,中间件平台130可以包括中间件数据库136。在一些实施例中,对象134可以被存储在中间件数据库136中。在一些实施例中,中间件数据库136可以缓存用于传递到移动设备150的应用和app的数据。类似地,在一些实施例中,中间件数据库136可以缓存从移动设备150的应用和app接收到的、用于传递到后端系统102的应用104的数据。
移动设备150旨在表示各种类型的设备。各种类型的设备可以包括智能电话、平板计算机、个人计算机、机顶盒、汽车信息系统的计算设备、以及其它这样的设备中的一个或多个。每个移动设备150能够呈现数据给用户、接收输入、以及连接到中间件平台130也被连接到的诸如因特网的网络140。每个移动设备150也能够执行应用或app以便通过网络140与中间件平台130通信。
已经描述了后端系统102、后端系统102中的应用104、中间件平台130、以及移动设备150及可以在移动设备150上执行的应用和app中。下面将详细描述增强中间件通信服务110。
如前面所提到的,增强中间件通信服务110包括在中间件平台130的对象134和企业应用104之间提供通用通信能力以便于由移动设备150的应用和app访问应用104的数据和功能的服务。在一些实施例中,增强中间件通信服务110包括可以由应用104的开发者以标准化的方式利用以处理中间件平台130和中间件平台130中的对象134的通信的服务。
而且,增强中间件通信服务110的各种实施例还可以包括确定中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和app能够利用的功能和数据的功能。这个功能允许应用104的开发者和管理员对应用104和106的数据库进行改变——诸如添加额外的数据元素——而不会不利地影响中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和app的性能和操作。在这样的实施例中,在增强中间件通信服务110的服务向中间件平台130或中间件平台130中的对象134通信数据或暴露功能之前,配置数据被考虑。配置数据被考虑以确定有关将被提供数据或功能的中间件平台130或对象134的有效或无效。通常,中间件平台130和中间件平台130中的对象134在功能上与移动设备150的应用和app同步。因此,当中间件平台130和中间件平台130中的对象134有效或无效时,移动设备150的应用和app同样有效或无效。因此,有关数据项或功能元素的一个配置设置提供了有关所有的中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和app的足够的配置数据。然而,当在中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和app之间存在差异时,诸如在不同的应用和app版本之间的差异、移动设备150的应用和app平台版本差异等,一些实施例可以包括以中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和app中的每一个为粒度的一个或多个附加等级的配置设置。
虽然不同的实施例可以包括不同数目和目的的增强中间件通信服务110,但是一些实施例包括三个一般的增强中间件通信服务110。在这样的实施例中,三个一般的服务中的第一个可以包括将数据通信到中间件平台130和中间件平台130中的对象134的下载服务112。三个一般的服务中的第二 个可以包括操作以提供应用104和数据库106与中间件平台130和对象134之间的持续交互功能的联机服务114。三个一般的服务中的第三个可以包括操作以从中间件平台130和对象134接收数据,诸如创建和更新新的数据库106记录、新的交易等的上传服务116。在一些实施例中,三个一般的服务112、114、116中的每一个可以包括数据处理功能,但是影响其他服务,诸如传输服务118,与中间件平台130和对象134通信的通信功能。
在一些实施例中,下载服务112操作以接收有关中间件平台130的对象134的下载数据请求。数据下载请求可以包括标识数据下载请求的源的中间件平台130的对象134标识符。下载服务112可以通过从数据库106或其它数据存储位置检索与请求的中间件平台130的对象134相关的数据项的标识符,来生成对接收到的数据下载请求的响应。
相关的数据项可以基于具体请求的中间件平台130的对象134、在请求中标识的或者与请求的中间件平台130的对象134相关联的应用104或数据库106、请求的中间件平台130的对象134的名称与应用104或数据库106的服务或数据之间的参考的服务或数据命名约定等中的一个或多个来标识。然而,在一些实施例中,如一般所指,中间件平台130的对象134的命名约定可以以限定的方式被同步以链接到服务,诸如应用104或数据库106的远程功能调用。
不管下载服务112如何获得,在这样的实施例中的检索到的相关数据项的标识符指示与接收到的数据下载请求相关联的哪个数据项是有效或无效的。针对发起请求的或结果被递送到的请求的中间件平台130、中间件平台130的对象134、以及移动设备150的应用和app中的一个或多个,检索有效或无效指示符。在一些实施例中,下载服务112然后可以只提取有效数据或检索所有的数据然后过滤出无效数据。下载服务112然后可以生成并发送包括检索到的有效数据项的数据结构到中间件平台130的对象134标识符的中间件平台130的对象134。在包括传输服务118的实施例中,下载服务112可以通过调用该传输服务118来执行生成和发送数据结构到中间件平台130的对象134中的一个或两个。
在一些实施例中,联机服务114操作以接收和服务于中间件平台130的对象134与应用104和数据库106的服务和数据之间的持续交互。例如,联机服务114可以从中间件平台130的对象134接收功能启用(invoking)请求。 联机服务114功能调用请求的处理可以包括调用应用104的服务并接收对其的响应。联机服务114然后可以发送响应的至少一部分到从其接收功能启用请求的中间件平台130的对象134。在某些这样的实例中,当对于所提供的响应的附加通信可靠时,联机服务114和请求的中间件平台130的对象134之间的会话可以持久。在包括传输服务110的一些实施例中,联机服务114和请求的中间件平台130的对象134之间的通信会话和数据交换可以由传输服务110处理。
在一些实施例中,上传服务116操作以从中间件平台130的对象134接收数据更新。数据更新可以包括更新以创建、读、更新或删除由应用104保持和存储的数据,诸如可以存储在数据库106中。在一些实施例中,上传服务116操作以从中间件平台130的对象134接收包括数据更新的数据结构。根据数据结构中的数据,上传服务116然后可以确定已更新的数据将被存储到的数据库106的位置,其不仅可以包括对先前存储的数据的改变,而且还可以或者可替换地,包括新的数据库106的记录的插入或者数据库106的记录的删除。上传服务然后可以基于所确定的存储位置发出至少一个数据更新命令到数据库106。当接收到对数据更新命令的成功响应时,上传服务116然后可以发送成功响应到中间件平台130的对象134。然而,当接收到对数据更新命令的失败响应时,如果在应用104或数据库106内没有自动触发回退命令,则上传服务116通常将发出这样的回退命令以回退数据更新。当发生这样的更新失败时,上传服务116还将发送失败响应到中间件平台130的对象134。由于更新失败是有可能的,因此上传服务116通常将工作的单一逻辑单元内发出更新命令到数据库106或应用104二者之一,以使得在这样的失败的情况下,可以通过发出单一命令来执行回退以便回退与其相关联的所有更新。在包括传输服务118的实施例中,上传服务116可以经由传输服务118进行与中间件平台130和中间件平台130中的对象134的部分或所有的通信。
图2是根据示例实施例的方法200的流程图。方法200是图1中的增强中间件通信服务110中的一个或多个可以如何在一些实施例中执行的例子。方法200包括从中间件对象接收(202)包括对数据的请求的服务调用。在一些实施例中,接收到的(202)服务调用可以是对由后端应用(诸如图1的后端系统102的应用104)提供的功能或服务的远程功能调用。
对于数据请求,方法200然后可以标识(204)将被包括在对数据请求的响应中的数据。例如,标识(204)将被包括在对数据请求的响应中的数据可以包括从标识中间件对象能够处理的有效数据项的数据库表检索数据。这样的数据库表可以利用用于多个中间件对象中的每一个的一行数据来存储标识中间件对象能够处理的有效数据项的数据。用于多个中间件对象中的每一个的每行数据可以标识相应的中间件对象能够处理的数据项。在其它实施例中,标识(204)将被包括在对数据请求的响应中的数据可以包括读取与数据库表、数据库视图、服务、远程功能调用、或其他数据存储或编程元素相关联的元数据,从该元数据可以获得标识积极或消极、包括或排除有效或无效的数据项的数据。在其它实施例中,有效和无效数据项可以在一个或多个文件或其他存储的数据结构中标识。
然后,方法200可以检索(206)所标识的数据,并发送检索到的(206)数据到从其接收到请求的中间件对象。发送检索到的(206)数据到中间件对象可以包括调用(208)数据传输过程,以构建包含检索到的(206)数据的传输数据结构并且发送该传输数据结构到中间件对象。在一些这样的实施例中,通过传输处理构建的传输数据结构以标识包括在传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。在一些实施例中,数据结构的格式是JavaScript对象符号格式。
图3是根据示例实施例的方法300的流程图。方法300是图1中的增强中间件通信服务110中的一个或多个可以如何在一些实施例中执行的另一例子。方法300包括从中间件对象接收(302)包括数据更新的传输数据结构。然后方法可以从传输数据结构读取(304)包括已更新的数据的数据,并确定(306)已更新的数据将被存储到的数据存储位置。方法300还包括基于读取自传输数据结构的已更新的数据和所确定的数据存储位置,发出(308)数据更新命令。发出(308)的数据更新命令可以包括一个或多个更新命令,诸如以发给数据库的结构化查询语言(SQL)语句、远程功能的调用、存储的程序、服务、网络服务、对象服务、或应用或数据处理平台中的其他可调用的程序单元的形式。当数据更新命令包括超过一个这样的命令时,数据更新命令可以在工作的单一事务或逻辑单元内发出(308)。在一个或多个更新不成功的情况下,在工作的单一事务或逻辑单元内发出(308)更新命令提供了增强的和简化的回退更新的能力。
在这样的实施例中,方法300然后可以等待接收响应于每个发出的(308)更新命令的消息。当接收到对更新命令的响应时,方法300然后确定(310)更新是否成功。如果成功,则方法300可以提交更新,关闭工作的业务或逻辑单元,并发回指示更新成功的消息到从其接收(302)包括数据更新的传输数据结构的中间件对象。例如,在一些实施例中,方法300可以包括调用(312)数据传输过程,以参考接收到的(302)传输数据结构并包括代表成功更新的数据来构建传输数据结构。被调用(312)的数据传输过程然后可以发送该传输数据结构到中间件对象。
当确定(310)发出(308)的更新命令没有成功时,方法300可以在工作的事务或逻辑单元内回退更新,并发回指示更新失败的消息到从其接收(302)包括数据更新的传输数据结构的中间件对象。发送指示更新失败的消息可以包括调用(314)数据传输过程,以参考接收到的(302)传输数据结构并包括代表更新失败的数据来构建传输数据结构。被调用(314)的数据传输过程然后可以发送该传输数据结构到中间件对象。
图4是根据示例实施例的计算设备的框图。在一个实施例中,在分布式网络中利用多个这样的计算机系统,以便在基于事务的环境中实现多个组件。面向对象、面向服务、或其他架构可以被用来实现这样的功能以及在多个系统和组件之间的通信。以计算机410形式的一个示例的计算设备可以包括处理单元402、存储器404、可移动存储器412和不可移动存储器414。虽然该示例的计算设备被图示和描述为计算机410,但是在不同的实施例中计算设备可具有不同的形式。例如,计算设备可以代替地是包括与关于图1所图示和描述的相同或相似的元件的服务器级计算机、智能电话、平板计算机、或其他计算设备。此外,虽然各种数据存储元件被图示为计算机410的一部分,但是存储还可以包括或可替换地包括可经由诸如因特网的网络访问的基于云的存储。
返回到计算机410,存储器404可以包括易失性存储器406和非易失性存储器408。计算机410可以包括或访问包括各种计算机可读介质的计算环境,各种计算机可读介质诸如易失性存储器406和非易失性存储器408、可移动存储器412和不可移动存储器414。计算机存储包括随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)、快闪存储器或其它存储器技术、光盘 只读存储器(CD-ROM)、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或能够存储计算机可读指令的任何其它介质。计算机410可以包括或可以访问包括输入416、输出418、以及通信连接420的计算环境。输入416可以包括触摸屏、触摸板、鼠标、键盘、摄像头、和其它输入设备中的一个或多个。计算机可以使用连接到一个或多个远程计算机的通信连接420在联网环境中操作,一个或多个远程计算机诸如数据库服务器、网络服务器和其他计算设备。示例的远程计算机可以包括个人计算机(PC)、服务器、路由器、网络PC、对等设备或其它公共网络节点等。通信连接420可以是网络接口设备,诸如以太网卡和无线卡或可以连接到网络的电路中的一个或两个。网络可以包括局域网络(LAN)、广域网(WAN)、因特网和其他网络中的一个或多个。
存储在计算机可读介质上的计算机可读指令可由计算机410的处理单元402执行。硬盘驱动器(磁盘或固态)、CD-ROM、和RAM是包括非临时性计算机可读介质的制品的一些例子。例如,各种计算机程序或app,诸如实现本文所图示和描述的一个或多个方法的一个或多个应用和模块、或者在移动设备上执行或者可经由网络浏览器访问的app或应用,可以被存储在非临时性计算机可读介质上。
其他实施例可以以系统的形式实施。这样的实施例的系统包括至少一个处理器、至少一个存储器设备、以及至少一个网络接口设备。系统还包括存储在至少一个存储器装置上且可由至少一个处理器执行的应用,以经由至少一个网络接口装置将数据存储在一个数据库中并在第一联网计算环境中提供应用功能。在这样的实施例中,应用功能的至少一部分可经由一个或多个应用服务调用。
系统还包括存储在至少一个存储器设备上的中间件接口模块。中间件接口模块包括并提供可由至少一个处理器执行的一组服务。服务可以包括接收对于中间件对象的数据下载请求并提供响应的下载服务。在这样的实施例中,数据下载请求通常包括调用下载服务的至少一个中间件对象标识符。对数据下载请求的响应可以通过从数据库检索与请求的中间件对象相关的数据项的标识符并且检索与检索到的数据项的标识符相对应的数据项来生成。然后下载服务可以以包括检索到的数据项的数据结构的形式生成并发送响应到中间件对象标识符的中间件对象。
中间件接口模块还可以包括接收和服务于来自中间件对象的功能启用请求的联机服务。由联机服务进行的功能调用请求的处理可以包括调用至少一个应用服务并接收对其的响应。联机服务然后可以发送响应的至少一部分到从其接收功能启用请求的中间件对象。
在又一实施例中,中间件接口模块包括上传服务形式的至少一个另外的服务。这样的实施例的上传服务从中间件对象接收数据更新。由上传服务接收到的数据更新将典型地利用包括数据更新的数据结构来接收。数据结构可以以JSON格式被接收,并且标识每个所包括的数据项和每个所包括的数据项的值。然后更新服务可以确定已更新的数据将被存储到的数据库位置、或者在更新接收到的数据时利用的一个或多个服务。然后上传服务可以基于所确定的存储位置发出至少一个数据更新命令到数据库或者调用一个或多个已标识的服务。此外,当接收到对于一个或多个数据更新命令的成功响应时,上传服务可以发送成功响应到中间件对象。可替换地,当接收到对于一个或多个数据更新命令的失败响应时,上传服务将发出回退命令以回退数据更新并且发送失败响应到中间件对象。
本领域技术人员将很容易理解的是,可以对为了解释本发明主题的性质而描述和图示的部件和方法步骤的细节、实质和排列进行各种其它改变而不偏离由所附权利要求所表达的本发明主题的原则和范围。

增强中间件通信服务.pdf_第1页
第1页 / 共17页
增强中间件通信服务.pdf_第2页
第2页 / 共17页
增强中间件通信服务.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《增强中间件通信服务.pdf》由会员分享,可在线阅读,更多相关《增强中间件通信服务.pdf(17页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104052792A43申请公布日20140917CN104052792A21申请号201410095895122申请日2014031413/834,09820130315USH04L29/0820060171申请人SAP股份公司地址德国瓦尔多夫72发明人R诺普74专利代理机构北京市柳沈律师事务所11105代理人邵亚丽54发明名称增强中间件通信服务57摘要本发明中的各种实施例包括提供增强中间件通信服务的系统、方法和软件中的一个或多个。实施例一般包括可执行以便在中间件平台和诸如企业级应用的应用之间提供通信能力以便于由访问用于功能和数据的移动应用经由中间件平台访问应用的数据和功能。

2、的服务。一些实施例包括至少一个服务来增强应用,所述至少一个服务从中间件对象接收请求数据的调用,并且标识将被包括在对该请求的响应中的数据。然后可以检索所标识的数据,然后将其返回到调用的中间件对象。通常从移动设备应用接收中间件对象的调用,而且中间件对象响应于请求将接收到的数据提供给移动应用。30优先权数据51INTCL权利要求书3页说明书9页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书9页附图4页10申请公布号CN104052792ACN104052792A1/3页21一种方法,包括从中间件对象接收服务调用,该服务调用包括对数据的请求;对于该数据请求,标识将被包括在。

3、对该数据请求的响应中的数据;检索所标识的数据;以及调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。2如权利要求1所述的方法,其中,所述服务调用是通过网络接收到的超文本传输协议。3如权利要求1所述的方法,其中,标识将被包括在对该数据请求的响应中的数据包括从标识中间件对象能够处理的有效数据项的数据库表中检索数据。4如权利要求3所述的方法,其中,标识中间件对象能够处理的有效数据项的数据库表包括用于多个中间件对象中的每一个的一行数据,用于所述多个中间件对象中的每一个的一行数据标识各自的中间件对象能够处理的数据项。5如权利要求1所述的方法,其中,利用传输过。

4、程构建的第一传输数据结构以标识包括在第一传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。6如权利要求5所述的方法,其中,第一传输数据结构的格式是JAVASCRIPT对象符号格式。7如权利要求1所述的方法,还包括从中间件对象接收包括数据更新的第二传输数据结构;从第二传输数据结构读取包括已更新的数据的数据;确定读取自第二传输数据结构的已更新的数据将被存储到的数据存储位置;基于读取自第二传输数据结构的已更新的数据和所确定的数据存储位置,发出数据更新命令;当接收到对数据更新命令的成功响应时,调用数据传输过程,以参考接收到的第二传输数据结构并包括代表成功更新的数据来构建第三传输数据结构,并且。

5、发送第三传输数据结构到中间件对象;以及当接收到对数据更新命令的失败响应时发出回退命令;以及调用数据传输过程,以参考接收到的第二传输数据结构并包括代表更新失败的数据来构建第四传输数据结构,并且发送第四数据传输结构到中间件对象。8一种在其上存储有指令的非临时性计算机可读介质,该指令在被至少一个计算设备的至少一个处理器运行时使所述至少一个计算设备从中间件对象接收服务调用,该服务调用包括对数据的请求;标识将被包括在对该数据请求的响应中的数据;检索所标识的数据;以及调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。9如权利要求8所述的非临时性计算机可读介质,。

6、其中,所述中间件对象是存在于中权利要求书CN104052792A2/3页3间件平台内的多个中间件对象之一,其操作以通过网络提供后端数据和访问移动客户端应用的功能。10如权利要求8所述的非临时性计算机可读介质,其中,标识将被包括在对该数据请求的响应中的数据包括从标识中间件对象能够处理的有效数据项的数据库表中检索数据。11如权利要求10所述的非临时性计算机可读介质,其中,标识中间件对象能够处理的有效数据项的数据库表包括用于多个中间件对象中的每一个的一行数据,用于所述多个中间件对象中的每一个的一行数据标识各自的中间件对象能够处理的数据项。12如权利要求10所述的非临时性计算机可读介质,其中对数据的请。

7、求作为在运行时检索数据的远程功能调用被接收;检索所标识的数据包括使远程功能调用被运行以检索数据;以及标识将被包括在对该数据请求的响应中的数据包括读取与包括在检索到的数据中的数据项相关联的元数据,以标识中间件对象不能处理的任何数据项;以及从检索到的数据中移除中间件对象不能处理的任何数据项。13如权利要求8所述的非临时性计算机可读介质,其中,由传输过程构建的第一传输数据结构以标识包括在第一传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。14如权利要求8所述的非临时性计算机可读介质,具有在其上存储的进一步指令,该进一步指令在被至少一个计算设备的至少一个处理器执行时,进一步使所述至少一个计。

8、算设备从中间件对象接收包括数据更新的第二传输数据结构;从第二传输数据结构读取包括已更新的数据的数据;确定读取自第二传输数据结构的已更新的数据将被存储到的数据存储位置;基于读取自第二传输数据结构的已更新的数据和所确定的数据存储位置,发出数据更新命令;当接收到对数据更新命令的成功响应时,调用数据传输过程,以参考接收到的第二传输数据结构并包括代表成功更新的数据来构建第三传输数据结构,并且发送第三传输数据结构到中间件对象;以及当接收到对数据更新命令的失败响应时发出回退命令;以及调用数据传输过程,以参考接收到的第二传输数据结构并包括代表更新失败的数据来构建第四传输数据结构,并且发送第四数据传输结构到中间。

9、件对象。15一种系统,包括至少一个处理器、至少一个存储器设备和至少一个网络接口设备;应用,其存储在所述至少一个存储器设备上并且能够由所述至少一个处理器运行以便将数据存储到数据库中并经由所述至少一个网络接口设备提供第一联网计算环境内的应用功能,该应用功能的至少一部分能够经由一个或多个应用服务调用;中间件接口模块,其存储在所述至少一个存储器设备上,中间件接口模块包括能够由权利要求书CN104052792A3/3页4所述至少一个处理器运行的一组服务,该服务包括接收有关中间件对象的数据下载请求的下载服务,数据下载请求至少包括中间件对象标识符,通过以下操作生成对数据下载请求的响应从数据库检索与请求的中间。

10、件对象相关的数据项的标识符;从数据库检索与检索到的数据项标识符相对应的数据项;以及生成并发送包括检索到的数据项的数据结构到中间件对象标识符的中间件对象。16如权利要求15所述的系统,其中,所述中间件接口模块包括至少一个另外的服务,所述至少一个另外的服务包括联机服务,经由所述至少一个网络接口设备接收和服务于来自中间件对象的功能启用请求,功能启用请求的处理包括调用至少一个应用服务、接收对其的响应、以及发送所述响应的至少一部分到从其接收功能启用请求的中间件对象。17如权利要求16所述的系统,其中,所述中间件接口模块包括至少一个另外的服务,所述至少一个另外的服务包括上传服务,从中间件对象接收数据更新,。

11、该上传服务能够被运行以从中间件对象接收包括数据更新的数据结构;确定已更新的数据将被存储到的数据库位置;基于所确定的存储位置发出至少一个数据更新命令到数据库;当接收到对于数据更新命令的成功响应时,发送成功响应到中间件对象;以及当接收到对于数据更新命令的失败响应时,回退数据更新并且发送失败响应到中间件对象。18如权利要求17所述的系统,其中,所述下载服务、联机服务和上传服务每个都是能够经由远程功能调用由中间件对象调用的远程功能。19如权利要求17所述的系统,其中,所述中间件接口模块包括至少一个另外的服务,所述至少一个另外的服务包括传输服务,当接收到中间件对象标识符和将被发送到所标识的中间件对象的数。

12、据时,构建包含发送到所标识的中间件对象的数据的传输数据结构,该传输数据结构以标识包括在传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。20如权利要求17所述的系统,其中,所述下载服务、联机服务和上传服务在发送数据到中间件对象时调用传输服务。权利要求书CN104052792A1/9页5增强中间件通信服务技术领域0001本公开涉及增强中间件通信服务。背景技术0002在如今的移动计算环境中,提供访问诸如企业资源规划(ERP)或客户关系管理(CRM)应用的企业应用的数据和服务的移动应用是很重要的。为了提供这样的访问的移动应用,组织经常利用中间件平台。这样的中间件平台非常善于与诸如可以在智能。

13、电话和平板设备上运行的移动应用交互。然而,企业应用功能和数据的集成是非常困难的。当对企业应用功能和数据做出改变时,中间件平台和移动应用中的诸如对象的实体往往易损坏而且可能很容易被破坏。这样的集成的更复杂之处在于,与企业应用共事的开发和维护团队通常不同于中间件平台和移动应用的开发和维护团队。结果,往往出现这样的情况对企业应用做出的改变负面地影响中间件平台服务和移动应用操作。发明内容0003本公开的一方面提供了一种方法,包括从中间件对象接收服务调用,该服务调用包括对数据的请求;对于该数据请求,标识将被包括在对该数据请求的响应中的数据;检索所标识的数据;以及调用数据传输过程,以构建包含检索到的数据的。

14、第一传输数据结构并且发送第一传输数据结构到中间件对象。0004本公开的另一方面提供了一种在其上存储有指令的非临时性计算机可读介质,该指令在被至少一个计算设备的至少一个处理器执行时使所述至少一个计算设备从中间件对象接收服务调用,该服务调用包括对数据的请求;标识将被包括在对该数据请求的响应中的数据;检索所标识的数据;以及调用数据传输过程,以构建包含检索到的数据的第一传输数据结构并且发送第一传输数据结构到中间件对象。0005本公开的又一方面提供了一种系统,包括至少一个处理器、至少一个存储器设备、至少一个网络接口设备;应用,其存储在所述至少一个存储器设备上并且能够由所述至少一个处理器执行以便将数据存储。

15、到数据库中并经由所述至少一个网络接口设备提供第一联网计算环境内的应用功能,该应用功能的至少一部分能够经由一个或多个应用服务调用;中间件接口模块,其存储在所述至少一个存储器设备上,中间件接口模块包括能够由所述至少一个处理器执行的一组服务,该服务包括接收有关中间件对象的数据下载请求的下载服务,数据下载请求至少包括中间件对象标识符,通过以下操作生成对数据下载请求的响应从数据库检索与请求的中间件对象相关的数据项的标识符;从数据库检索与检索到的数据项标识符相对应的数据项;以及生成并发送包括检索到的数据项的数据结构到中间件对象标识符的中间件对象。附图说明0006图1是根据示例实施例的系统的逻辑框图。说明书。

16、CN104052792A2/9页60007图2是根据示例实施例的方法的流程图。0008图3是根据示例实施例的方法的流程图。0009图4是根据示例实施例的计算设备的框图。具体实施例0010本文中的各种实施例包括提供增强中间件通信服务的系统、方法和软件中的一个或多个。这样的实施例一般包括一个或多个服务,所述一个或多个服务可执行以便在中间件平台和企业应用的对象之间提供通用通信能力以便于由移动应用访问企业应用的数据和功能。这样的移动应用可以在各种类型的计算设备(诸如智能电话和平板设备)上执行。0011在一些实施例中,企业应用存储标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务中的一个或。

17、两个的数据。该存储的数据可以被存储在专用表中,该专用表包括关于用于在中间件平台上存在的中间件对象的数据项数据行。在其它实施例中,存储的数据可以被存储在数据库表的、关于表中的数据列的元数据中。在又一实施例中,标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务的数据可以被存储在一个或多个文件中。0012无论标识移动应用和中间件平台对象能够利用的企业应用的数据项和应用服务的数据在哪里,在一些实施例中,该数据被专用于接收、服务、和响应企业应用和中间件平台之间的功能、服务、数据和其他调用的通用服务所使用。在将数据发送到中间件平台之前,这些服务参考标识移动应用和中间件平台对象能够利用的企业应。

18、用的数据项和应用服务的数据。一般地,当数据项未被标识为被启用时,该数据项不被发送到中间件平台。结果,通常可以对企业应用进行改变而不会影响中间件平台或移动应用的性能。0013本文参照附图描述增强中间件通信服务、它们部署和操作、以及对它们的变化的各种实施例。0014在下面的详细描述中,对形成本发明的一部分的附图进行参照,并且在附图中以说明方式示出了可以实践本发明主题的特定实施例。足够详细地描述这些实施例以使本领域技术人员能实践本发明,并且将理解的是,可以利用其他实施例并且可以不脱离本发明主题的范围而做出结构、逻辑和电改变。本发明主题的这些实施例可以单独地和/或共同地被本文所使用的术语“发明”指代,。

19、这仅仅为了方便并且不打算将本申请的范围主动限制到任何单一发明或发明构思(如果事实上公开了一个以上的发明或发明构思)。0015因此,以下详细描述不被视为限制的意义,并且本发明主题的范围仅仅由所附的权利要求定义。0016在一个实施例中,本文描述的功能或算法以硬件、软件或软件和硬件的组合来实现。软件包括存储在诸如存储器或其他类型的存储设备的计算机可读介质上的计算机可执行指令。此外,描述的功能可以对应于模块,其可以是软件、硬件、固件或它们的任意组合。多个功能根据需要在一个或多个模块中执行,而且所描述的实施例仅仅是例子。软件在数字信号处理器、ASIC、微处理器、或对系统进行操作的其它类型的处理器上执行,。

20、其它类型的处理器诸如个人计算机、服务器、路由器、或包括网络互连设备的能够处理数据的其他设备。0017一些实施例在两个或更多个特定互连的硬件模块或设备中,利用在模块之间和通说明书CN104052792A3/9页7过模块通信的相关控制和数据信号或作为应用专用集成电路的一部分来实现功能。因此,示例性处理流程适用于软件、固件和硬件实现。0018图1是根据示例实施例的系统100的逻辑框图。系统100包括后端系统102、中间件平台130和各种移动设备150。后端系统102和中间件平台130经由网络连接。在一些实施例中,诸如所示的系统100的实施例,与后端系统102相比,中间件平台130被部署在防火墙120。

21、的相反侧。然而,在其它实施例中,中间件平台130可以代替地位于防火墙120内部或者位于部署在中间件平台130和诸如因特网的外部网络140之间的另一防火墙的内部。各种移动设备150经由外部网络140连接到中间件平台。0019后端系统102和中间件平台130通常被部署在不同的硬件上,诸如不同的服务器级(SERVERCLASS)计算设备上。然而,在一些实施例中,后端系统102和中间件平台130可以被部署在同一服务器级计算设备上。在一些实施例中,后端系统102和中间件平台130可以被部署在同一服务器级计算设备或一组服务器级计算设备上的相同或不同的虚拟机环境中。关于图4示出和描述了这样的服务器级计算设备。

22、以及包含在其中的硬件部件的例子。0020后端系统102包括应用104,诸如企业级应用,其可以是各种类型的企业级应用。这样的各种类型的企业级应用可以包括ERP应用、CRM应用、文档管理应用等。虽然只示出了单一应用104,但是在其它实施例中可以包括多个应用104。0021后端系统102通常还包括数据库106,其存储应用104数据。存储在数据库106中的数据可以包括诸如交易数据、主数据(MASTERDATA)、配置数据、文档、文档模板、各种形式的内容、用户接口定义、已存储的用于提供数据处理功能和数据访问的程序和数据视图等的数据。0022后端系统102还可以包括增强中间件通信服务110。在一些实施例中。

23、,增强中间件通信服务110作为一个或多个硬件或软件模块被提供在后端系统102中。在其它实施例中,增强中间件通信服务110可被配置为应用104内的软件模块或服务。在另外其它的实施例中,增强中间件通信服务110可以是可以被添加到应用104的插件模块或软件内容。0023无论增强中间件通信服务110如何被包括和定位在后端系统102中,增强中间件通信服务110都包括在中间件平台130的对象134和企业应用104之间提供通用通信能力以便于由移动设备150的应用和APP访问应用104的数据和功能的服务。增强中间件通信服务110移除对于包括特定中间件平台130通信和集成编码的对象、服务、方法和应用104的其它。

24、部分的任何需要。替代地,对象、服务、方法和应用104的其他部分可以利用增强中间件通信服务110以便与中间件平台130和包括在中间件平台130中的对象134通信。虽然仍可能存在对象、服务、方法和应用104的其他部分可以包括特定中间件平台130通信和集成编码的一些实例,但是这些实例至少被显著地最小化。通过中间件平台130以及系统100的其他部分的说明,下面将进一步描述增强中间件通信服务110。0024可以根据一种或多种通信标准进行增强中间件通信服务110和中间件平台130之间、以及增强中间件通信服务110和中间件平台130中的对象134之间的通信,不论所述标准是通用公开定义的标准还是私有标准。例如。

25、,在一些实施例中可以利用超文本传输协议来交换根据JAVASCRIPT对象符号(JSON)标准编码的消息和数据。然而,在其它实施例中可以利用其他数据传输和数据编码标准。此外,在一些实施例中,在中间件通信服务110和说明书CN104052792A4/9页8中间件平台130之间、以及增强中间件通信服务110和中间件平台130中的对象134之间通信的数据或数据的一部分可以被加密。0025中间件平台130一般是利用软件建立的计算环境,其向软件应用提供服务以进行通信。中间件平台130服务提供后端系统102中的应用104和被部署到移动设备150的应用和APP之间的整合能力。在一些实施例中,中间件平台130包。

26、括与后端系统102通信的单组数据和功能服务、以及与可被部署到不同的移动设备150的不同的应用和APP通信的多个数据和功能服务。中间件平台130可以因此被认为是移动设备150的应用和APP与后端系统102之间的数据和功能桥梁。这样的中间件平台的例子是赛贝斯无线平台(SYBASEUNWIREDPLATFORM)、或可从德国沃尔多夫WALLDORF的SAPAG获得的SUP。0026中间件平台130通常包括一组对象134。对象134可以存在以用于各种用途。然而,某些对象134被定义为针对任务封装数据和功能的逻辑单元,移动设备150的应用和APP关于可从后端系统102中的应用104获得的数据和功能执行所。

27、述任务。例如,一种这样的移动设备150的应用或APP任务可以包括用于生成产品订单的功能。示例移动设备150的APP可以首先提供所提供的产品的视图。对象之一可以存在于中间件平台130中,以获得由系统100为之存在的组织所提供的所有产品的数据列表。所提供的产品的数据被存储在数据库106中,并可经由应用104访问。所提供的产品的数据列表可以在应用104内经由服务呼叫访问。然而,服务呼叫不可由移动设备150的APP直接访问。因此,中间件平台130中的中间件对象被配置为通过与后端系统102通信以提交服务的呼叫并接收对其的回复,来获得所所提供的产品列表。然后,中间件对象将执行向发起调用的移动设备150提供。

28、数据所需要的、对所提供的产品列表数据的任何转换,并且将数据发送到移动设备150的APP。通过与中间件平台130中的对象的通信,移动设备150的应用能够获得所提供的产品列表数据,以用于在APP内呈现。0027而且,另一中间件平台130的对象134可以存在以用于接收在用于购买的移动设备150上选择的产品的订单。这个中间件平台130的对象可以被配置为从移动设备的APP接收不同的数据元素,诸如产品标识符、订购的产品的量、客户标识符、航运模式选项、递送地址、价格、和其它这样的订单数据。由中间件平台130的对象接收到的数据元素可能需要被存储在数据库106的不同的表中,而且数据元素到数据库106的存储可能需。

29、要按照一定的顺序执行,或通过应用104的一个或多个特定功能元素执行。在这样的实施例中,中间件平台130的对象可以被配置为以工作的逻辑单元,例如通过多个远程功能调用,向多个应用104的不同的服务和数据库106通信订单数据,以使能回退功能。然而,数据也可以以单一通信从移动设备150的APP接收,而且中间件平台130的对象是一个逻辑单元,该逻辑单元然后可以将数据分解为对后端系统102中的应用104或数据库106的多个服务调用。然后,中间件平台130的对象可以接收响应于每个调用的成功确认,并将单一确认发送回从其接收到订单数据的发起调用的移动设备150的应用。在存在关于由中间件平台130的对象做出的任何。

30、调用错误或其它故障的情况下,可以执行回退,而且错误被通信回发起调用的移动设备150的应用。0028在一些实施例中,中间件平台130可以包括中间件数据库136。在一些实施例中,对象134可以被存储在中间件数据库136中。在一些实施例中,中间件数据库136可以缓存用于传递到移动设备150的应用和APP的数据。类似地,在一些实施例中,中间件数据库说明书CN104052792A5/9页9136可以缓存从移动设备150的应用和APP接收到的、用于传递到后端系统102的应用104的数据。0029移动设备150旨在表示各种类型的设备。各种类型的设备可以包括智能电话、平板计算机、个人计算机、机顶盒、汽车信息系。

31、统的计算设备、以及其它这样的设备中的一个或多个。每个移动设备150能够呈现数据给用户、接收输入、以及连接到中间件平台130也被连接到的诸如因特网的网络140。每个移动设备150也能够执行应用或APP以便通过网络140与中间件平台130通信。0030已经描述了后端系统102、后端系统102中的应用104、中间件平台130、以及移动设备150及可以在移动设备150上执行的应用和APP中。下面将详细描述增强中间件通信服务110。0031如前面所提到的,增强中间件通信服务110包括在中间件平台130的对象134和企业应用104之间提供通用通信能力以便于由移动设备150的应用和APP访问应用104的数据。

32、和功能的服务。在一些实施例中,增强中间件通信服务110包括可以由应用104的开发者以标准化的方式利用以处理中间件平台130和中间件平台130中的对象134的通信的服务。0032而且,增强中间件通信服务110的各种实施例还可以包括确定中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和APP能够利用的功能和数据的功能。这个功能允许应用104的开发者和管理员对应用104和106的数据库进行改变诸如添加额外的数据元素而不会不利地影响中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和APP的性能和操作。在这样的实施例中,在增强中间件通信服务110的服务。

33、向中间件平台130或中间件平台130中的对象134通信数据或暴露功能之前,配置数据被考虑。配置数据被考虑以确定有关将被提供数据或功能的中间件平台130或对象134的有效或无效。通常,中间件平台130和中间件平台130中的对象134在功能上与移动设备150的应用和APP同步。因此,当中间件平台130和中间件平台130中的对象134有效或无效时,移动设备150的应用和APP同样有效或无效。因此,有关数据项或功能元素的一个配置设置提供了有关所有的中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和APP的足够的配置数据。然而,当在中间件平台130、中间件平台130中的对象13。

34、4、以及移动设备150的应用和APP之间存在差异时,诸如在不同的应用和APP版本之间的差异、移动设备150的应用和APP平台版本差异等,一些实施例可以包括以中间件平台130、中间件平台130中的对象134、以及移动设备150的应用和APP中的每一个为粒度的一个或多个附加等级的配置设置。0033虽然不同的实施例可以包括不同数目和目的的增强中间件通信服务110,但是一些实施例包括三个一般的增强中间件通信服务110。在这样的实施例中,三个一般的服务中的第一个可以包括将数据通信到中间件平台130和中间件平台130中的对象134的下载服务112。三个一般的服务中的第二个可以包括操作以提供应用104和数据。

35、库106与中间件平台130和对象134之间的持续交互功能的联机服务114。三个一般的服务中的第三个可以包括操作以从中间件平台130和对象134接收数据,诸如创建和更新新的数据库106记录、新的交易等的上传服务116。在一些实施例中,三个一般的服务112、114、116中的每一个可以包括数据处理功能,但是影响其他服务,诸如传输服务118,与中间件平台130和对说明书CN104052792A6/9页10象134通信的通信功能。0034在一些实施例中,下载服务112操作以接收有关中间件平台130的对象134的下载数据请求。数据下载请求可以包括标识数据下载请求的源的中间件平台130的对象134标识符。。

36、下载服务112可以通过从数据库106或其它数据存储位置检索与请求的中间件平台130的对象134相关的数据项的标识符,来生成对接收到的数据下载请求的响应。0035相关的数据项可以基于具体请求的中间件平台130的对象134、在请求中标识的或者与请求的中间件平台130的对象134相关联的应用104或数据库106、请求的中间件平台130的对象134的名称与应用104或数据库106的服务或数据之间的参考的服务或数据命名约定等中的一个或多个来标识。然而,在一些实施例中,如一般所指,中间件平台130的对象134的命名约定可以以限定的方式被同步以链接到服务,诸如应用104或数据库106的远程功能调用。0036。

37、不管下载服务112如何获得,在这样的实施例中的检索到的相关数据项的标识符指示与接收到的数据下载请求相关联的哪个数据项是有效或无效的。针对发起请求的或结果被递送到的请求的中间件平台130、中间件平台130的对象134、以及移动设备150的应用和APP中的一个或多个,检索有效或无效指示符。在一些实施例中,下载服务112然后可以只提取有效数据或检索所有的数据然后过滤出无效数据。下载服务112然后可以生成并发送包括检索到的有效数据项的数据结构到中间件平台130的对象134标识符的中间件平台130的对象134。在包括传输服务118的实施例中,下载服务112可以通过调用该传输服务118来执行生成和发送数据。

38、结构到中间件平台130的对象134中的一个或两个。0037在一些实施例中,联机服务114操作以接收和服务于中间件平台130的对象134与应用104和数据库106的服务和数据之间的持续交互。例如,联机服务114可以从中间件平台130的对象134接收功能启用(INVOKING)请求。联机服务114功能调用请求的处理可以包括调用应用104的服务并接收对其的响应。联机服务114然后可以发送响应的至少一部分到从其接收功能启用请求的中间件平台130的对象134。在某些这样的实例中,当对于所提供的响应的附加通信可靠时,联机服务114和请求的中间件平台130的对象134之间的会话可以持久。在包括传输服务110。

39、的一些实施例中,联机服务114和请求的中间件平台130的对象134之间的通信会话和数据交换可以由传输服务110处理。0038在一些实施例中,上传服务116操作以从中间件平台130的对象134接收数据更新。数据更新可以包括更新以创建、读、更新或删除由应用104保持和存储的数据,诸如可以存储在数据库106中。在一些实施例中,上传服务116操作以从中间件平台130的对象134接收包括数据更新的数据结构。根据数据结构中的数据,上传服务116然后可以确定已更新的数据将被存储到的数据库106的位置,其不仅可以包括对先前存储的数据的改变,而且还可以或者可替换地,包括新的数据库106的记录的插入或者数据库10。

40、6的记录的删除。上传服务然后可以基于所确定的存储位置发出至少一个数据更新命令到数据库106。当接收到对数据更新命令的成功响应时,上传服务116然后可以发送成功响应到中间件平台130的对象134。然而,当接收到对数据更新命令的失败响应时,如果在应用104或数据库106内没有自动触发回退命令,则上传服务116通常将发出这样的回退命令以回退数据更新。当发生这样的更新失败时,上传服务116还将发送失败响应到中间件平台130的对象134。由于更新失败是有可能的,因此上传服务116通常将工作的单一逻辑单元内发出更说明书CN104052792A107/9页11新命令到数据库106或应用104二者之一,以使得。

41、在这样的失败的情况下,可以通过发出单一命令来执行回退以便回退与其相关联的所有更新。在包括传输服务118的实施例中,上传服务116可以经由传输服务118进行与中间件平台130和中间件平台130中的对象134的部分或所有的通信。0039图2是根据示例实施例的方法200的流程图。方法200是图1中的增强中间件通信服务110中的一个或多个可以如何在一些实施例中执行的例子。方法200包括从中间件对象接收(202)包括对数据的请求的服务调用。在一些实施例中,接收到的(202)服务调用可以是对由后端应用(诸如图1的后端系统102的应用104)提供的功能或服务的远程功能调用。0040对于数据请求,方法200然。

42、后可以标识(204)将被包括在对数据请求的响应中的数据。例如,标识(204)将被包括在对数据请求的响应中的数据可以包括从标识中间件对象能够处理的有效数据项的数据库表检索数据。这样的数据库表可以利用用于多个中间件对象中的每一个的一行数据来存储标识中间件对象能够处理的有效数据项的数据。用于多个中间件对象中的每一个的每行数据可以标识相应的中间件对象能够处理的数据项。在其它实施例中,标识(204)将被包括在对数据请求的响应中的数据可以包括读取与数据库表、数据库视图、服务、远程功能调用、或其他数据存储或编程元素相关联的元数据,从该元数据可以获得标识积极或消极、包括或排除有效或无效的数据项的数据。在其它实。

43、施例中,有效和无效数据项可以在一个或多个文件或其他存储的数据结构中标识。0041然后,方法200可以检索(206)所标识的数据,并发送检索到的(206)数据到从其接收到请求的中间件对象。发送检索到的(206)数据到中间件对象可以包括调用(208)数据传输过程,以构建包含检索到的(206)数据的传输数据结构并且发送该传输数据结构到中间件对象。在一些这样的实施例中,通过传输处理构建的传输数据结构以标识包括在传输数据结构中的数据项和每个所包括的数据项的值的格式被编码。在一些实施例中,数据结构的格式是JAVASCRIPT对象符号格式。0042图3是根据示例实施例的方法300的流程图。方法300是图1中。

44、的增强中间件通信服务110中的一个或多个可以如何在一些实施例中执行的另一例子。方法300包括从中间件对象接收(302)包括数据更新的传输数据结构。然后方法可以从传输数据结构读取(304)包括已更新的数据的数据,并确定(306)已更新的数据将被存储到的数据存储位置。方法300还包括基于读取自传输数据结构的已更新的数据和所确定的数据存储位置,发出(308)数据更新命令。发出(308)的数据更新命令可以包括一个或多个更新命令,诸如以发给数据库的结构化查询语言(SQL)语句、远程功能的调用、存储的程序、服务、网络服务、对象服务、或应用或数据处理平台中的其他可调用的程序单元的形式。当数据更新命令包括超过。

45、一个这样的命令时,数据更新命令可以在工作的单一事务或逻辑单元内发出(308)。在一个或多个更新不成功的情况下,在工作的单一事务或逻辑单元内发出(308)更新命令提供了增强的和简化的回退更新的能力。0043在这样的实施例中,方法300然后可以等待接收响应于每个发出的(308)更新命令的消息。当接收到对更新命令的响应时,方法300然后确定(310)更新是否成功。如果成功,则方法300可以提交更新,关闭工作的业务或逻辑单元,并发回指示更新成功的消息到从其接收(302)包括数据更新的传输数据结构的中间件对象。例如,在一些实施例中,方说明书CN104052792A118/9页12法300可以包括调用(3。

46、12)数据传输过程,以参考接收到的(302)传输数据结构并包括代表成功更新的数据来构建传输数据结构。被调用(312)的数据传输过程然后可以发送该传输数据结构到中间件对象。0044当确定(310)发出(308)的更新命令没有成功时,方法300可以在工作的事务或逻辑单元内回退更新,并发回指示更新失败的消息到从其接收(302)包括数据更新的传输数据结构的中间件对象。发送指示更新失败的消息可以包括调用(314)数据传输过程,以参考接收到的(302)传输数据结构并包括代表更新失败的数据来构建传输数据结构。被调用(314)的数据传输过程然后可以发送该传输数据结构到中间件对象。0045图4是根据示例实施例的。

47、计算设备的框图。在一个实施例中,在分布式网络中利用多个这样的计算机系统,以便在基于事务的环境中实现多个组件。面向对象、面向服务、或其他架构可以被用来实现这样的功能以及在多个系统和组件之间的通信。以计算机410形式的一个示例的计算设备可以包括处理单元402、存储器404、可移动存储器412和不可移动存储器414。虽然该示例的计算设备被图示和描述为计算机410,但是在不同的实施例中计算设备可具有不同的形式。例如,计算设备可以代替地是包括与关于图1所图示和描述的相同或相似的元件的服务器级计算机、智能电话、平板计算机、或其他计算设备。此外,虽然各种数据存储元件被图示为计算机410的一部分,但是存储还可。

48、以包括或可替换地包括可经由诸如因特网的网络访问的基于云的存储。0046返回到计算机410,存储器404可以包括易失性存储器406和非易失性存储器408。计算机410可以包括或访问包括各种计算机可读介质的计算环境,各种计算机可读介质诸如易失性存储器406和非易失性存储器408、可移动存储器412和不可移动存储器414。计算机存储包括随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)、快闪存储器或其它存储器技术、光盘只读存储器(CDROM)、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或能。

49、够存储计算机可读指令的任何其它介质。计算机410可以包括或可以访问包括输入416、输出418、以及通信连接420的计算环境。输入416可以包括触摸屏、触摸板、鼠标、键盘、摄像头、和其它输入设备中的一个或多个。计算机可以使用连接到一个或多个远程计算机的通信连接420在联网环境中操作,一个或多个远程计算机诸如数据库服务器、网络服务器和其他计算设备。示例的远程计算机可以包括个人计算机(PC)、服务器、路由器、网络PC、对等设备或其它公共网络节点等。通信连接420可以是网络接口设备,诸如以太网卡和无线卡或可以连接到网络的电路中的一个或两个。网络可以包括局域网络(LAN)、广域网(WAN)、因特网和其他。

50、网络中的一个或多个。0047存储在计算机可读介质上的计算机可读指令可由计算机410的处理单元402执行。硬盘驱动器(磁盘或固态)、CDROM、和RAM是包括非临时性计算机可读介质的制品的一些例子。例如,各种计算机程序或APP,诸如实现本文所图示和描述的一个或多个方法的一个或多个应用和模块、或者在移动设备上执行或者可经由网络浏览器访问的APP或应用,可以被存储在非临时性计算机可读介质上。0048其他实施例可以以系统的形式实施。这样的实施例的系统包括至少一个处理器、至少一个存储器设备、以及至少一个网络接口设备。系统还包括存储在至少一个存储器装置上且可由至少一个处理器执行的应用,以经由至少一个网络接。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1