通过移动应用程序访问多个数据源的系统和方法

文档序号:7950811阅读:245来源:国知局
专利名称:通过移动应用程序访问多个数据源的系统和方法
技术领域
本发明涉及用于通过移动应用程序访问多个数据源的系统和方法。
背景技术
随着网络服务在IT商务中日益展现出的重要性,越来越多的IT 玩家通过网络服务技术提供对他们的商务的标准化访问。然而,在IT 前景中,仍然存在大量的应用程序不能通过网络服务显示信息,而是 依靠其它数据源数据库、CORBA应用程序等。移动应用程序可以用于集成各个数据源。然而,这种应用程序的 传统开发周期受到了与移动应用程序通信的数据源的性质的极大影 响。必须在无线应用程序自身内部构建与特定数据源(数据库、网络 服务等)的连接基础结构,这消耗了宝贵的资源。这里所公开的系统和方法提供了通过移动应用程序来访问多个数 据源的系统和方法,以避免或减少上述缺点中的至少一些。发明内容本发明使根据各种数据源模式构建的无线应用程序能够以起源的 自动方式与那些数据源进行通信,而不需要重写或配置应用程序特定 的通信软件。根据本发明的一方面,提供了一种通过移动应用程序访问多个数据源的系统,所述系统包括应用程序网关服务器,包括用于在系统 和移动设备之间通信的消息中介;以及消息转换器,用于与具有不同数据源基础结构的多个后端服务器通信。根据本发明的一方面,提供了一种用于配置应用程序网关服务器
以通过移动应用程序访问多个数据源的方法,所述方法包括以下步骤 获取所期望的应用程序包,依据所期望的应用程序包来构建通信模型, 从应用程序包中检索数据源列表,以及生成至连接器类型和数据结构 的数据源的映射。根据本发明的一方面,提供了一种通过移动应用程序访问多个数 据源的方法,所述方法包括以下步骤确定所接收的消息所需的数据 结构,依据所需数据结构构建数据的表示,获取相应的连接器类型, 以及访问与所述连接器类型相关联的数据源。本发明提供了用于使移动应用程序经由单个代理服务器来协调组 织与多个数据源的通信的方法和系统。移动应用程序(通过在开发时 与之打包的附加映射信息)将所涉及的数据源外部接口的子集合成为 形成了自身通信模型的一个模型。将移动应用程序通信模型描述为映 射至数据源外部接口中呈现的相应操作或功能的输入和输出消息的集 合。代理服务器用于将移动应用程序通信需求一般地映射至在不同位 置处部署并使用不同连接方法的多个数据源基础结构。移动应用程序 包包含代理服务器在运行时间内针对从移动设备无线接收的请求来确 定使用哪个连接方法来连接数据源、哪个端点与之连接、以及适合的 连接参数是什么(如,用户证书)所必需的所有信息。方便地,实施例依据XML作为用于描述应用程序通信模型与数据 源之间的映射及连接信息的标准方法。通过可以生成包含映射和数据 源连接信息的应用程序包的应用程序工具来提供实施方式。代理服务器使用用于可通过模式(schema)(例如但不限于网络服务、DB)来 描述的各个数据源的专用一般连接器。代理服务器通过其映射引擎, 允许从各个移动应用程序至正确的数据源的应用程序数据的无缝漏过 (funnelhig),反之亦然(每个操作不同的端点)。附加地,代理服务 器经由专用连接器,使数据能够经由不同的网络和连接协议(即,不 同的连接器或连接方法)被传递至各个后端基础结构。


现在将参照以下的图示,仅通过示例来描述本发明的实施例,其
中图1是有助于无线组件应用程序的网络的框图; 图2是图1中所示的应用程序网关的详细框图; 图3是无线组件应用程序通信模型的框图;图4是用于图3的无线组件应用程序通信模型的通信序列的流程图;图5是根据本发明实施例的准备如图1所示的网络以通过移动应 用程序来访问多个数据源的流程图;图6是根据本发明实施例的获取如图1所示的网络中的数据以通 过移动应用程序来访问多个数据源的流程图;以及图7是与图6的流程图相对应的网络的详细结构框图。
具体实施方式
为了方便,在说明书中,类似的数字指代附图中类似的结构。参 照图1, 一般通过数字100来表示通信基础结构。通信基础结构100 包括多个无线设备102、通信网络104、应用程序网关106和多个后端 服务108。典型地,无线设备102是个人数字助理(PDA),例如捷讯公司 的BlackBerryTM,但是可以包括其它设备。无线设备102中的每个包 括能够管理(host)多个组件应用程序的运行时间环境。组件应用程序包括一个或多个数据组件、呈现组件和/或消息组 件,以诸如可扩展标记语言(XML)之类的结构化定义语言进行写入。 这些组件应用程序还可以包括工作流组件,该工作流组件包含如写入 ECMAScript的子集中的一系列指令,在一些实施方式中可以具体化 为XML。因此,由于对应用程序进行了划分,所以通过提供相应的呈 现组件,可以为多个设备写入公共应用程序,而不必重写其它组件。 此外,将典型的应用程序的大部分职责转移给组件应用程序的运行时 间环境。组件应用程序的细节在说明书的结尾处进行描述。无线设备102经由通信网络104与应用程序网关106进行通信。 因此,通信网络104可以包括多个组件,如无线网络110、中继112、
公司服务器114和/或移动数据服务器116,用于在无线设备102与应 用程序网关106之间对数据进行中继。应用程序网关106包括网关服务器118、供应服务器120和发现 服务器122。网关服务器118用作无线设备102和后端服务器108上 的运行时间环境之间的消息中介。网关服务器118与供应服务器120 和发现服务器122二者通信。网关服务器118还通过适合的链路,与 多个后端服务器108 (如网络服务器108a、数据库服务器108b、以及 其它企业服务108c)进行通信。例如,网关服务器IIO分别通过简单 对象访问协议(SOAP)和Java数据库连接(JDBC),与网络服务108a 和数据库服务108b连接。其它类型的后端服务器108和它们的相应链 路将对于本领域技术人员是显而易见的。每个无线设备102最初被提供有建立各种协议和设置的服务手 册,包括用于公司服务器114和/或移动数据服务器116的连接信息。 这些参数可以包括用于应用程序网关服务器118的统一资源定位符 (URL)及其加密密钥。可选地,如果无线设备102最初被提供有URL 和加密密钥,则可以将它们通过移动数据服务器(MDS) 116推送至 无线设备102。然后,移动设备102可以经由应用程序网关服务器118 的URL与应用程序网关106连接。参照图2,示出了更加详细的应用程序网关106的图示。应用程 序网关服务器118包括三层服务基本服务层202、应用程序网关服 务层204和应用程序服务层206。应用程序网关服务器118还包括管 理服务208。分别通过供应服务器120和发现服务器120来提供供应服务210 和发现服务212。在最底层,基本服务层202向较高层的其它组件提供了基本的域 无关系统服务。因此,例如应用程序网关服务层204和应用程序服务 层206中的所有子系统可以利用基本服务层202中的子系统并与这些 子系统合作。在本实施例中,基本服务层202包括效用子系统210、 安全子系统212、配置子系统214和登录子系统216。应用程序网关服务层204提供了无线组件应用程序域特定服务。 这些服务向后端系统108提供了有效的消息转换和传递,并提供了无 线设备102和组件应用程序生命周期管理。在本实施例中,应用程序 网关服务层204包括生命周期子系统220、连接器子系统222、消息收 发子系统224和转换子系统226。应用程序服务层206位于该结构的顶部,并使用较低层提供的子 系统来提供外部程序接口和用户接口。例如,诸如服务提供商生命周 期应用程序、打包应用程序和消息监听应用程序之类的各种应用程序 提供了外部程序接口,因而它们主要与外部系统上的应用程序进行通 信。类似地。管理应用程序通过向用户提供访问和潜在地修改应用程 序网关数据和/或参数的能力,来提供用户接口。管理服务208负责管理系统消息、无线设备102的管理、应用程 序网关子系统的管理,支持并显示系统诊断、以及供应和发现服务的 缺省实现的管理。消息收发监听应用程序提供了接口,用于从无线设备102及外部 源接收消息,并将消息转发至消息收发子系统。此外,消息监听应用 程序典型地验证消息的源是有效的。安全子系统212提供了由其它子系统所使用的服务,以保护与无 线设备102的通信。为了有利于安全通信,安全子系统212对消息进 行加密和解密,使签名生效并对消息进行签署。参照图3,示出了无线组件应用程序通信模型的框图。从高层角 度,整个无线组件应用程序基础结构300包括在设备102上运行的无 线组件应用程序运行时间环境(设备RE)和在服务器118上运行的无 线组件应用程序网关(AG) 106。应用程序网关(AG) 106用作由RE 102执行的无线组件应用程 序(Wiclet)和与Wiclet通信的一个或更多个后端系统108之间的调 解器。在大多数情况下,期望后端系统108成为使用HTTP或多个 HTTP作为传输协议的SOAP的网络服务。在本文中,使用与后端可互换的术语网络服务,因为网络服务是 普遍最期望的后端系统。无线组件应用程序通信模型300是基于异步 消息收发范例的。在该模型中,应用程序网关(AG) 106建立并调解 设备102与后端系统108之间的连接,以便1. 获得资源管理中的更大的灵活性。2. 在设备102与后端系统108之间提供可靠的通信链路,以在无 线覆盖不稳定时处理情况。3. 在设备RE 102与AG 106之间有效地分布工作负载。 参照图4,示出了针对图3的无线组件应用程序通信的通信序列的流程图。该图示描述了设备102与后端系统108之间的通信序列 在通过404MDS116接收到来自设备102的请求402时,AG 106对请求406进行列队并释放至该设备的连接。V接下来,从队列408中检索请求,并通过同步通信信道,将 该请求进行预处理和转发410至网络服务108。
AG106对来自先前请求的任何响应进行处理,以及将响应消 息异步地发送412和414回该设备。快速应用程序开发工具(RAD工具)生成了具有以下结构的应用 程序包应用程序包内容*移动应用程序定义*数据源的移动应用程序索引*移动应用程序数据源定义*每个数据源的移动应用程序通信映射*每个数据源的移动应用程序连接信息(服务描述符)移动应用程序定义--应用程序定义是应用程序的XML表示,包含 数据模型(数据类型)、可视模型(屏幕、布局、菜单、控制)、通信 模型(消息)和其它资源。应用程序的通信模型累积的服务器侧上的 各种数据源的使用。对于运行时间环境,对应用程序通信进行统一处 理,如同仅利用了一个数据源。数据源的移动应用程序索引--这是参与应用程序的数据源列表。 该列表引用了也包括在包中的数据源定义。移动应用程序数据源定义--应用程序包在每个数据源包含一个定 义。这定义了数据源通信模型(外部API)和由它所使用的数据类型。
移动应用程序通信映射-该应用程序通信映射定义了应用程序通 信模型与数据源通信模型之间的关联,需要使用该关联以有效地在运 行时间内映射应用程序数据。移动应用程序连接信息(服务描述符)-服务描述符包含与数据 源连接所必需的信息(示例证书),以实现数据流(更新数据源、检索 来自数据源的数据)。数据源映射加载过程-在将应用程序上载(安装)到特定设备的 过程中,通过代理服务器来加载应用程序包中的一些部分,并进行本 地存储。代理服务器在之后将在运行时间内使用该信息,以伺服与各 种数据源的移动应用程序通信,其中,构建该移动应用程序通信进行 通信。参照图5,示出了根据本专利公开的实施例的用于准备如图1所 示的通过移动应用程序访问多个数据源的网络的流程图。图5的过程 通过在步骤502中获得应用程序包开始。接下来是在步骤504中,获 得应用程序定义和构建模型,在步骤506中,获得在包中规定的数据 源的列表。接下来在步骤508中,确定是否耗尽了数据源列表。如果 没有,则在步骤510中,该过程检索应用程序数据源映射并利用映射 获得数据源操作的列表;如果耗尽了数据源,则结束该过程。从步骤 510继续,在步骤512中确定是否耗尽了操作列表。如果没有,则在 步骤514中,该过程从与操作相关联的应用程序定义中获得消息代码; 否则该过程结束。从步骤514继续,在步骤516中,该过程存储针对 数据源消息代码的操作映射消息、服务和端口信息(端点信息)、以及 连接信息(证书)。接下来在步骤518中,该过程获得针对用于应用程 序消息的每个字段的类型数据映射。最后在步骤520中,该过程存储 类型数据映射信息,然后返回步骤512。参照图6,示出了根据本发明实施例的在图1所示的用于通过移 动应用程序访问多个数据源的网络中的数据的检索的流程图。该过程以在步骤602中应用程序网关从移动设备102接收消息开 始,在步骤604中检索消息代码,并在步骤606中确定对于该消息来 说是否存在数据源操作映射。如果存在,则在步骤608中,该过程根
据该数据映射读取消息数据,并构建标准内部表示(树);在步骤610 中,获得针对该数据源操作的连接器类型及服务和端口信息;在步骤 612中,调用适合的连接器;在步骤613中,将响应数据解串行为内 部表示;在步骤614中,根据数据映射从内部表示中读取数据,并构 造无线表示;在步骤616中,分配消息代码移动目的地;以及在步骤 618中发送消息。因此在操作中,当应用程序在移动设备102上执行期间,应用程 序网关从后端基础结构108中检索数据,并将数据发送至后端基础结 构108,以更新它们的数据源。以针对通过无线网络104的业务量进 行优化的形式,对移动设备102所传送的消息进行压縮。应用程序网关发现与消息相关联的数据源操作,并发现正确读取 消息所必需的映射,对无线消息进行解压縮,构建数据的标准、内部 表示,然后通常将该流路由至适合的连接器。应用程序网关使用针对 该数据源(服务描述符)的特定连接信息进行连接,并传送数据。参照图7,示出了与图6的流程图相对应的网络的详细框图。图7描述了代理服务器系统的结构、能够通常调用各种数据源的 应用程序网关。1. 应用程序网关106通过消息监听者232来接收应用程序A的 输入消息700、数据源WS1。2. 消息监听者232对消息进行列队,并释放至移动设备的连接。3. 消息处理器224从队列702中拾取消息,并转发至消息转换器226。4. 消息转换器226基于消息代码来检索704数据源操作映射和服 务描述符。5. 消息转换器226根据映射读取消息。6. 消息转换器226构建消息数据的内部表示。7. 消息处理器检测要使用的连接器,并将数据和连接信息传递至 特定的连接器实例222b。8. 连接器222b连接至数据源108b并传递数据。9. 连接器222b检索任何结果数据并对它们进行列队。 10. 处理器224带走数据并传递至转换器226进行压縮。11. 转换器226构建压縮消息。12. 处理器224将转换器226所构建的消息传递至设备连接器706。在不偏离由权利要求所限定的本发明的范围的情况下,可以对以 上所描述的特定实施例作出各种修改、变化和调整。
权利要求
1、一种通过移动应用程序访问多个数据源的系统,所述系统包括应用程序网关服务器,包括用于在所述系统和移动设备之间通信的消息中介;以及消息转换器,用于与具有不同数据源基础结构的多个后端服务器通信。
2、 如权利要求1所述的系统,其中,所述消息转换器包括用于将每个数据源映射至所期望的数据结构的数据库。.
3、 如权利要求1所述的系统,其中,所述应用程序网关服务器 包括与多个数据源基础结构相对应的多个连接器。
4、 如权利要求3所述的系统,其中,所述多个连接器包括网络 服务连接器。
5、 如权利要求3所述的系统,其中,所述多个连接器包括数据 库连接器。
6、 一种用于通过移动应用程序访问多个数据源的方法,所述方法 包括以下步骤(a) 确定所接收的消息的所需数据结构;(b) 依据所需数据结构构建表示;(c) 获取相应的连接器类型;以及(d) 访问与所述连接器类型相关联的数据源。
7、 如权利要求6所述的方法,其中,所述访问步骤包括根据数 据映射从所述表示中读取数据的步骤。
8、 如权利要求6所述的方法,其中,所述访问步骤包括使用 所获得的证书与数据源连接并传输数据的步骤。
9、 如权利要求6所述的方法,其中,所述确定步骤包括检索 消息代码的步骤。
10、 如权利要求6所述的方法,其中,所述确定步骤包括针对所述消息代码访问数据源的步骤。
11、 如权利要求6所述的方法,其中,所述确定步骤包括根据 所述数据源映射读取消息数据的步骤。
12、 如权利要求6所述的方法,其中,所述获取步骤包括检索连 接器类型的步骤。
13、 如权利要求6所述的方法,其中,所述获取步骤包括检索服 务信息的步骤。
14、 如权利要求6所述的方法,其中,所述获取步骤包括检索端 口信息的步骤。
15、 一种用于配置应用程序网关服务器以通过移动应用程序访问 多个数据源的方法,所述方法包括以下步骤(a) 获取所期望的应用程序包;(b) 依据所期望的应用程序包来构建通信模型;(c) 从所述应用程序包中检索数据源列表;以及(d) 生成每个数据源至连接器类型和数据结构的映射。
全文摘要
一种通过移动应用程序访问多个数据源的系统,所述系统包括应用程序网关服务器,包括用于在系统和移动设备之间通信的消息中介;以及消息转换器,用于与具有不同数据源基础结构的多个后端服务器通信。一种用于配置应用程序网关服务器以通过移动应用程序访问多个数据源的方法,所述方法包括以下步骤获取所期望的应用程序包,依据所期望的应用程序包来构建通信模型,从应用程序包中检索数据源列表,以及生成至连接器类型和数据结构的数据源的映射。一种通过移动应用程序访问多个数据源的方法,所述方法包括以下步骤确定所接收的消息所需的数据结构,依据所需数据结构构建数据的表示,获取相应的连接器类型,以及访问与所述连接器类型相关联的数据源。
文档编号H04L29/02GK101167327SQ200580049523
公开日2008年4月23日 申请日期2005年12月1日 优先权日2005年4月18日
发明者布伦杜沙·弗里奇, 菲拉·比布尔, 迈克尔·申菲尔德 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1