用于移动业务对象的动态数据绑定的制作方法

文档序号:6351757阅读:227来源:国知局
专利名称:用于移动业务对象的动态数据绑定的制作方法
技术领域
本发明涉及移动应用程序,更具体地,涉及用于移动应用程序的移动业务对象的动态数据绑定。
背景技术
随着强大的移动设备的发展和普及,人们越来越感兴趣于开发将远程数据存储中所存储的数据结构的动态表示和修改考虑在内的移动应用程序。由于数据访问、编码和配置的挑战,很难快速开发出将来自远程数据存储的数据动态绑定在移动设备上的应用程序。因此,需要一种克服传统移动应用程序开发的局限性的系统、方法和计算机程序 产品,用于来自远程数据存储中所存储的数据结构的数据的动态绑定。

发明内容
此处所描述的实施例包括一种将来自远程数据存储的数据动态绑定到在移动设备上执行的移动应用程序上的方法。所述方法首先定义一个元数据源,其同时引用移动业务对象(MBO)和移动应用程序,所述MBO连接到所述远程数据存储。然后使用元数据源,将来自所述MBO的属性绑定到所述移动应用程序。所述方法通过在执行应用程序的同时动态修改被绑定的属性的绑定而完成。另一个实施例包括一个系统,其容许移动应用程序订阅移动业务对象。所述系统包括存储在第一计算机服务器上的数据源。用于访问远程数据源中数据的抽象层被可操作地连接到移动应用程序的第一组件上,所述第一组件被配置为在第二计算机服务器上执行,且还被配置为接收来自抽象层的信息。在移动设备上运行的第二组件可操作地连接到移动应用程序的第一组件。元数据源被配置为包含订阅标准,所述订阅标准决定从第一组件转移到第二组件的数据。下面参考所附附图,详细描述本发明的其它实施例、特点和优势,以及本发明的各种实施例的结构和操作。


参考所附附图对本发明的实施例进行描述。在图中,相同的引用标号通常表示相同、功能相似和/或结构相似的元件。一般来说,其中相应参考标号中最左边的数字表示该元件首次出现的附图。图I描述了根据本发明一个实施例的网络架构。图2描述了根据本发明一个实施例的移动应用程序开发框架。图3描述了根据本发明一个实施例的基于容器的远程应用程序。图4是例示了根据本发明一个实施例的动态数据绑定功能的操作的流程图。图5描述了根据本发明一个实施例的元数据源。
图6A-D是示出了根据本发明一个实施例的组件之间的数据流动的图表。图7例示了根据本发明一个实施例的动态绑定的实例。图8例示了实例的计算机系统,其用于实施本发明一个实施例的组件。当将下面所陈述的详细说明与附图结合来看时,本发明的特点和优势将变得显而易见。
具体实施例方式虽然在此处参照用于具体应用程序的实施例描述了本发明,应该理解本发明不限于此。能够得到此处所提供的教导的本领域技术人员将能意识到其范围内的另外的修改、应用和实施方式,以及本发明会具有重要用途的另外的领域。显然,对于本领域技术人员而言,本发明如下所述,可以在图中所例示的软件、硬 件、固件和/或实体的多个不同的实施例中实现。任何具有实施本发明的专用硬件控制的实际的软件代码都不用于对本发明进行限制。因此,应理解,对实施例的修改和变型是可行的和有目的的,并且属于本发明的保护范围和精神之内,在这样的前提下对本发明的操作性能进行描述。概述本发明的实施例提供一种设计机制,其容许应用程序开发人员快速、有效地设计和开发移动应用程序,其在运行时动态绑定来自数据源的数据而不会损害其功能性,同时减少了所需的工作量。此处所描述的实施例所使用的动态绑定方法容许开发人员修改数据源至应用程序的绑定,无需中断或停止应用程序在移动设备上的执行。网络体系结构图I是一个实例的网络架构100,本发明的实施例或其部分在该网络架构中得以实施。依据本发明的一个实施例,网络架构100包括移动设备102,其通过网络104连接到服务器106。在实施例中,服务器106被连接到远程数据存储108。虚线190代表移动设备102和远程数据存储108之间的数据流动,这样的数据流动一般是经由服务器106和网络104 的。在一个实施例中,移动设备102包括通常被指定为移动客户端的多种设备中的一个,比如但不限于个人数字助理(“PDA”)、根据微软袖珍PC说明书操作的具有微软Windows CE操作系统(OS)的设备、运行Symbian OS的设备、运行Palm OS 的设备、移动电话、黑莓 设备、智能电话、手持电脑、掌上电脑、笔记本电脑、超级移动PC和其它能够运行移动应用程序的无线移动设备。在一个实施例中,移动设备102可以是“在线”的或是连接到服务器106的。在另一个实施例中,移动设备102可以是“离线”的或没有连接到服务器106的。在又一个实施例中,移动设备102可以间歇地连接到服务器106。在一个实施例中,移动设备102包括但不限于具有一个或多个用于执行并存储指令的处理器和存储器的设备。移动设备102可包括软件、固件和硬件或其一些组合。软件可包括一个或多个应用程序和操作系统。硬件可包括但不限于一个或多个处理器、存储器和用户接口显示。在一个实施例中,移动设备102包括客户应用程序,其接收并显示从远程数据存储108中由服务器106检索的数据。为清晰起见,图I例示了单个移动设备102,但是应理解,架构100是可扩展的,并且可以通过网络104将多个移动设备102连接到服务器106。在一个实施例中,网络104包括一个或多个网络,其包括但不限于局域网、中域网络和/或广域网络,比如互联网。例如,网络104可以是有线或无线网络或其组合,其容许移动设备102、服务器106和远程数据源108相互通信。在实施例中,网络104可进一步支持万维网协议和服务。下面继续参考图I详细描述移动应用程序开发框架和移动业务对象(MBO)的实施例。移动应用程序开发框架图2是依据本发明一个实施例的示例性移动应用程序开发框架200。依据本发明的一个实施例,框架200限定移动应用程序202、中间设备204、MB0206和访问远程数据存储108的服务器208。相关领域技术人员会理解,图2的框架200中所示的配置是示例性的而非限制性的。依据本发明另一个实施例,服务器208等同于图I的服务器106。应用程序是可以在服务器106或移动设备102上执行或运行的任何软件程序或网络服务。应用程序可包括至少一个渲染组件、执行逻辑和输入/输出(I/O)参数。应用程序的执行逻辑可采取二进制可执行代码或者脚本编程/标记语言的形式,比如超文本标记语言(HTML)、可扩展 HTML (XHTML)、Java、JavaScript 或 AJAX (异步 JavaScript 和 XML)。相关领域的技术人员会理解,其他编程语言和技术也可用于应用程序的执行逻辑。依据本发明的一个实施例,移动应用程序202是被配置为在图I的移动设备102上运行的应用程序。依据本发明的一个实施例,移动应用程序202通过呼叫中间设备204的API或其它接口来访问服务器208中的数据。在本发明的一个实施例中,中间设备204是由加州都柏林的Sybase公司提供的IANYWHEREMOBILINK中间设备,但本发明不限于此。相关领域的技术人员会理解,服务器208可以访问任意多类型的远程数据存储108,包括,例如,关系型数据库或远程程序。通过使用其API,中间设备204促进由一个应用程序到诸如服务器208的一个或多个数据源的通信。在实施例中,移动业务对象(MB0)206是被配置为用于远程数据存储108并连接到远程数据存储108的抽象层。如此处所使用的,MBO的“属性”包括广泛范围的MBO特性/操作,包括属性、数据、参数、功能和本领域中已知的其它类似的项目。依据本发明的一个实施例,移动业务对象(MB0)206表示包含在远程数据存储108中的数据子集。根据本发明的另一个实施例,MB0206同时代表多个数据源,例如,在一个实施例中,MB0206包括多个数据源的子集。使用元数据来表示MB0206,通过移动应用程序202的软件对其进行解释,从而便于通过中间设备204访问来自服务器208的数据。尽管在于2009年7月15日提交的序号为12/503,573、律师案号为1933. 0720001、题目为“元数据驱动的移动业务对象”的美国专利申请中描述了 MBO的实例,但本发明不限于此实例,该专利申请以引用方式整体并入于此。在一个实施例中,在框架200中运行的一种移动应用程序202是基于容器的远程应用程序。在框架200的一个实施例中,“容器”可以被称为框架容器、运行时间容器、移动运行时间容器和其他类似的术语。基于容器的远程应用程序
图3是图2的一个更详细的图表,其描绘了一实施例,在此实施例中,通过使用基于容器的远程应用程序(CBRA),框架200提供与移动设备102的无缝MBO数据集成。在一个实施例中,一种基于容器的远程应用程序被称为工作流,其可以从加州都柏林的Sybase公司得到。根据一个实施例,窗口小工具(widget)在电脑显示器上的对象或支程序,用户可以与其互动。如此处所使用的,术语CBRA、CBRA应用程序、工作流、窗口小工具、窗口小工具对象和基于容器的应用程序将可以互换使用。根据一个实施例,CBRA框架300是一个容器框架,可在其中配置并执行移动设备CBRA。在实施例中,CBRA框架300有一个服务器端CBRA组件325,其被配置在例如移动办公平台(MOP) 320中的服务器106上。MOP 320的一个实例是SYBASE IANYffHERE MOBILEOFFICE(iMO)平台,其可以从加州都柏林的Sybase公司得到,但本发明不限于此。CBRA框架300的实施例也具有配置在移动设备102上的客户端CBRA用户接口 335组件。在一个实施例中,图3描述了 CBRA用户接口 335在框架内被激活并在运行时间容器337内被执行。在图3所示的实施例中,远程数据存储108通过托管在移动企业应用平台(MEAP)310中的移动业务对象315而集成。如本领域技术人员所公知的,MEAP 310提供用于激活移动应用程序的客户/服务器中间设备。MEAP 310的一个实例是可从加州都柏林的Sybase公司得到的SYBASE UNWIRED PLATFORM (SUP),但本发明不限于此。在实施例中,服务器端CBRA组件325通过MEAP 310与MBO 315链接。根据实施例,所配置的每个服务器端CBRA组件325都具有关联的元数据源327。如在下面的“在运行时动态绑定和订阅”一节中所讨论的,在实施例中,该元数据源327提供了信息,该信息限定在远程数据存储108、MBO 315、服务器端CBRA组件325和CBRA用户接口 335组件之间的数据传输。应该认识到,尽管将MEAP 310和MOP 320描述为被配置在单个服务器106上,在不同的实施例中,这些模块实际上可以被配置在多个服务器上。业务流程CBRA一种能被配置在如图3所示的框架的实施例中的CBRA是业务流程CBRA。很显然,对于相关领域技术人员而言,业务流程是任何相关任务的集合,这些相关任务解决组织或企业的具体难题或问题。一个业务流程可能是旨在生成一个结果的一系列步骤。业务流程可能会生成被组织外部的用户接收到的输出或服务。其他流程生成对组织外部不可见的输出。业务流程能够管理系统的操作,比如在组织中执行采购、制造、营销和销售任务的可操作业务流程。支持业务流程,比如会计、福利、信息技术(IT)以及人力资源/招聘,用于支持组织的核心流程。业务流程可以分解成几个子流程,其中各个子流程有自己的属性,且其中这些子流程有助于执行业务流程的总体任务。通过业务流程管理和活动监控工具,复杂的业务流程可链接多个组织或企业。依据此处所描述的实施例,业务流程窗口小工具是业务流程或子流程的抽象体。在一个实施例中,对业务流程窗口小工具进行定制以使其与可配置到移动设备102上的典型应用程序相适应。在一些实施例中,使用可扩展标记语言(XML)来配置业务流程窗口小工具,以描述业务流程的事件和n布局。在另一个例子中,业务流程窗口小工具可包括可扩展应用程序标记语言(XAML)脚本或代码。业务流程窗口小工具可以是自包含的或可以与本地应用程序交互作用,所述本地应用程序驻留在移动设备上(比如移动设备102)或服务器(比如服务器106)上。例如,CBRA可能是移动设备显示屏幕上的数据对象,移动设备102的用户与其互动。支持着业务流程的XML CBRA的一个例子是IANYWHERE MOBILE OFFICEXML WORKFLOW,其可以从加州都柏林的Sybase公司得到。业务流程和应用程序窗口小工具的实例包括购买订单审批、人力资源审批流程、费用报告审批流程、销售和营销流程、CRM活动通知和简易信息聚合(RSS)格式的互联网馈送通知。在2008年4月17日提交的、序号为12/104,905、题目为“移动设备和服务器之间的同步通信和数据”的美国专利申请中描述了示例的业务流程窗口小工具,其通过引用方式整体并入于此。对相关领域技术人员而言显而易见的是,在此处给出的描述下,其他类型的窗口小工具可由此处所描述的实施例来支持。特别地,本发明不限于业务流程。元数据源327映射图5描述了服务器端CBRA组件325和元数据源327之间的连接。如图5所示,在实施例中,元数据源327包含MBO映射530和订阅标准535。所包括的项目列表并旨在限制本发明的范围。在实施例中,元数据源327可以是可由服务器端CBRA组件325读取的任何 数据源,例如文件、注册表、数据库。元数据源327的一个例子是“templateClient.xml”文件,其由上文中参照图3讨论的IANYWHERE MOBILE OFFICE所使用。在MOP 320上描绘了元数据源327,但其不必随MOP 320安装,或甚至不必安装在同一服务器106上。转向图6A-D,本发明的实施例通过MBO 315激活CBRA用户接口 335中的用户接口控件610至远程数据存储108的数据的动态绑定。图6A-D描绘了示例的实施方式,但并不旨在限制本发明的范围,其示出了根据元数据源327而绑定在一起或被映射的不同的数据组件。在图6A-D的每一列示出了 CBRA框架300的实施例中的组件以及显示组件间的数据流的连接(在图6A上为例如635、645、655、615)。这些列被分组为CBRA应用程序数据源671或CBRA应用程序672。行601表示示例的平台或应用程序组件,行602示出了数据容器的布置及其链接,行603表示示例平台类型或操作环境,且行604表示执行所示功能的样本硬件。查看图6A,CBRA用户接口 335具有UI控件610,以显示和捕捉移动应用程序202中的数据。在一个实施例中,如由键绑定615所表示的,在设计CBRA用户接口 335时,n控件610被定义和绑定到键620。键620是CBRA UI 335的一部分,其提供了用于链接与CBRAUI 335相关的输入和输出数据的逻辑处理。服务器端的键621是用于服务器端CBRA组件325中的数据的存储容器。在实施例中,MBO属性630和键620可直接连接而不需要服务器端的键621。在其它实施例中,服务器端的键621可以作为另一个容器,其具有其自己的映射名称,不同于客户端的键620。图6A-D中描绘的样本应用程序所使用的基本数据源是在数据库服务器690上运行的数据库695。数据库域640是一个容器,其包含一段数据,且这个容器链接到MBO属性630。MBO属性630的实施例可存储数据库域640数据的副本,MBO 315逻辑可以通过连接635来定期检索更新值。通过将服务器端CBRA组件325链接到MBO 315,连接645在CBRA应用程序672和CBRA应用程序数据源671之间建立链接。在此处所描述的实施例中,该连接645最初是在设计时在元数据源327中被定义的。如下面将讨论的,对于连接645,在运行时,可能需要根据不同的情况添加、删除或修改连接,且元数据源327中的MBO映射530的修改激活了这些运行时的操作。连接655示出了服务器端CBRA组件325和CBRA用户接口 335之间的链接。在实施例中,使用网络104执行该连接655。在实施例中,元数据源327中的MBO映射530还定义了连接655的链接,其指定特定的键620。图6A中所描述的实施例代表一个初始配置通过键620、服务器端的键621和MBO属性630,将n控件610映射到数据库域640。例如,下面的逻辑名称可以由不同组件用于相同的值Ml.数据库域 640 是“First Name”,M2. MBO 属性 630 是 “FName ”,和M3.键 620 是“First”。 在上面的实例中,MBO映射530中的数据互相映射实例M1-M3,这确定了数值怎样在行602中的组件之间传递。在给定的说明下,MBO映射530的额外用途对本领域技术人员而言是明显的。图6B的实施例代表一种示例的情况,其中一个新的数据库域641被添加到数据库695中。在这个例子中,在运行时,希望这个新的域取代n控件610中数据库域640的显示。为了将这个数据库域641引入CBRA应用程序672中,首先,将一个新的MBO属性631通过连接636添加和连接到新的域641。为了完成数据库域641对数据库域640的替换,在运行时间中将元数据源327中的MBO映射530从连接645变化到连接646。数据源327的这一变化实现了在这个基于容器的CBRA应用程序672中的动态数据绑定。另一个示例情况(未示出)中,动态MBO映射530可以被动态更改,以使CBRA应用程序672适应远程数据存储108中的变化,这涉及MBO属性的重命名。不同的情况可能需要例如将MBO属性“FName”改为“First_Name”。在本发明的实施例中,通过修改元数据源327中的MBO映射530,可以对绑定名称做出动态更改。显然,对于本领域技术人员而言,对于多个不同的应用程序开发目的,可以创建新的或修改过的MBO属性630,并且此处所描述的实施例可以在运行时被动态更改。不同的实施例可以使用该重新映射功能用于应用程序的正常运行,而不只是用于现有应用程序的重新设计。图6C示出了另外的实例,其中在设计时,一个具有关联键622的额外的n控件612被添加到CBRA应用程序672中的CBRA用户接口 335上。为了支持这个新的n控件612,在该实例中加入一个新的MBO 680。MBO 680中的MBO属性631通过连接636被映射到数据库域641。为了将CBRA应用程序数据源671与CBRA应用程序672链接,元数据源327中的MBO映射530指定通过连接646将服务器端的键623映射到MBO属性631。这个例子说明了使用元数据源327通过MBO来映射数据源。元数据327的订阅标准除了上面描述的映射功能之外,本发明的实施例还根据元数据源327中存储的订阅标准535来激活CBRA应用程序672和CBRA应用程序数据源671之间的数据的选择和路径确定。图6示出了这种选择和路径确定功能的例子。图6D示出了一个实例,其中CBRA应用程序672具有CBRA用户接口 335,该用户接口带有两个n控件610和612,但本发明不限于此。通过使用数据库695,CBRA应用程序672由CBRA应用程序数据源671支持。数据库695具有五个数据库域640-644。MBO 315是用于CBRA应用程序672的抽象层,其具有四个MBO属性630 - 633,用于链接到任何兼容的可用远程数据源108。通过连接635 - 637,其中三个MBO属性630 - 632分别被链接到数据库域640-642。在该例子中,CBRA应用程序672和CBRA应用程序数据源671之间的链接分别受到连接645和646的影响,所述连接分别将MBO属性630和631链接到服务器端的键621和623。在一个实施例中,服务器端CBRA组件325可以使用订阅标准535来指定对于MBO315,应该通过MB0315来检索从数据库695映射的哪个数据。更具体地, 当CBRA应用程序672被配置到M0P320上时,存储在元数据源327中的订阅标准535可通过实施例而被用于指定对所连接的MBO 315,应检索所连接的域640-642中哪个域的数据,以及以什么时间间隔进行检索。例如,在该实施例中,尽管MBO属性632与数据库域642链接并可由CBRA用户接口 335获得,但其并没有包括在订阅标准535中,因而不从数据库域642更新。由订阅标准535实施例所使用的另一个例子涉及MB0315上的MBO属性630、631和服务器端CBRA组件325上的服务器端的键621、623之间的各个连接645和646。如上所讨论的,MBO 315和服务器端CBRA组件325可以不在相同的物理服务器106上运行。在实施例中,尽管MBO 315可能已更新MBO属性630,631的值,出于不同的考虑,例如,分离的服务器之间的带宽和CBRA应用程序672的要求,服务器端的键623可以不需要如服务器端的键621那样被频繁更新。订阅标准535可以指定这一更新区别,指示是否更新以及什么时候更新各服务器端的键621、623。由订阅标准535实施例所使用的另一个例子分别涉及服务器端的键621、623和键620,622之间的连接655和656。如上文中就连接645、646所讨论的,键620、622可不需要在同一时间间隔内被更新。在实施例中,考虑到连接655、656的管理,数据传输是巨大的,因为连接655、656是通过潜在的较低带宽的网络104进行的。在实施例中,订阅标准535可以指定是否更新以及什么时候更新各键620、622。运行时的动态绑定和订阅此处所述的实施例可激活上面所讨论的绑定和订阅标准,并且如在元数据源327中所实施的,在运行时动态地更改该绑定和订阅标准。根据实施例,不会重新启动系统或进行新的编码即可修改和实施由元数据源327所指定的映射或订阅标准中的变化。如图7所示的流程图700,其例示了 UI控件610的动态绑定的不同实例的步骤。在步骤701中,一个移动应用程序,例如来自图6D的CBRA应用程序672,在设计时间710中被设计为具有如MBO 315的其数据源。在步骤702中,在设计时间710,CBRA应用程序672的组件被同时配置到M0P320和运行时间容器337上。所配置的应用程序包括例如服务器端的键621、623、键620、622、UI控件610,612和元数据源327。在另一个实施例中,键620、622和UI控件610,612仅在当移动设备102上的一个用户请求执行CBRA应用程序672的时候才被配置。在元数据源327中,MBO映射530通过连接645将服务器端的键621映射到MBO属性630,且通过连接635将MBO属性630映射到数据库域640。在一个实施例中,可以通过允许用户访问CBRA用户接口 335来激活CBRA应用程序672的执行,由此过渡到运行时间720。在例子703中,一个新的MBO属性632被添加到MBO 315,并且指定需要将这个新MBO属性632而不是MBO属性630链接到UI控件610。在步骤706中,这一链接受到在元数据源327中修改MBO映射530的影响。在步骤707中,在运行时以新的映射以及CBRA应用程序672可用的新的属性继续执行CBRA应用程序672。在实例704中,MBO属性630的逻辑名称从“F_Name”更改为“FirstName”。通常,MBO由多个应用程序共享,并且可能需要更改逻辑名称。在MBO 315的实例中,通过更改这种逻辑名称来禁用MBO属性630和服务器端的键621之间的连接645。在步骤706中,可以更改MBO映射530,以将服务器端的键621链接到MBO属性630的新的逻辑名称,且该链接不被中断。在步骤707中,在运行时以新映射的逻辑名称继续执行CBRA应用程序672。在实例705中,从数据库695中移除数据库域640。通常,数据库由多个应用程序共享且可能需要对数据结构进行修改。如图6D所示的和上面所描述的,通过MBO属性630 将数据库域640链接到服务器端的键621。删除这个域640将影响n控件610。为了将这个更改指定给远程数据源108,在步骤706中,可以更改元数据源327中的MBO映射530,以将服务器端的键621重新映射至新数据源,例如,MBO属性632。在一个实施例中,服务器端的键621也可以被映射到其它可用的数据源,例如,不同的MB0,以提供丢失的数据库域640的数据。在步骤707中,在运行时以新的MBO属性映射继续执行CBRA应用程序672。方法400通过阐述由计算机实施的、对来自移动设备上执行的移动应用程序的远程数据存储的数据进行动态绑定的方法,本节总结了此处所概述的技术。图4是用于动态绑定来自移动设备上执行的移动应用程序的远程数据存储的数据的一个典型方法400的流程图。当针对本发明的实施例描述方法400时,该方法400并不意味着是限制性的并可在其它应用程序中使用。如图4中所示,方法400的实施例从步骤402开始,其中一个元数据源被定义为同时引用移动业务对象(MBO)和移动应用程序。MBO被连接到远程数据存储。在一个实施例中,一个元数据源,比如元数据源327可以在该步骤被定义,引用一个MB0,比如MBO 315,该MBO与数据存储相关,该数据存储为比如图I中的远程数据存储108。一旦完成步骤402,方法400继续进行步骤404。在步骤404中,使用元数据源将来自MBO的属性绑定到移动应用程序。在一个实施例中,诸如元数据源327的元数据源用于将一个诸如MBO属性630的MBO属性绑定到移动应用程序,比如图2中的移动应用程序202。一旦完成步骤404,方法400继续进行至步骤 406。在步骤406中,当执行移动应用程序时,属性的绑定是动态更改的。在一个实施例中,绑定是动态更改的,比如图6A的连接645。被更改的绑定具有MBO属性,比如图6A中的MBO属性630。一旦完成步骤406,方法400结束。步骤402、404和406可以实施为软件、硬件、固件或者其任何组合。实例性的计算机实施方式在本发明的实施例中,使用众所周知的计算机,比如图8中所示的计算机802来实施此处所述的实施例的系统和组件。例如,可以使用计算机802来实现上面所描述的图4和7中的移动设备102、服务器208和操作流程。计算机802包括关于图I所描述的移动设备或其它移动处理系统组件。计算机802可以是能够实施此处所描述的功能的任何商业上可得到的并众所周知的计算机。比如可从IBM、Apple、Sun、HP、Dell、Compaq、Digital、Cray等公司得到的计算机。计算机802包括一个或多个处理器(也称为中央处理单元,或CPU),比如处理器806。处理器806被连接到一个通信总线804。计算机802还包括一个主要或初级存储器808,比如随机访问存储器(RAM)。在该初级存储器808中已存储了控制逻辑828A (计算机软件)和数据。计算机802还包括一个或多个辅助存储设备810。辅助存储设备810包括例如硬盘驱动器812和/或可移动存储设备或驱动器814,以及其它类型的存储设备,比如记忆卡和记忆棒。可移动存储驱动器814代表软盘驱动器、磁带驱动器、光盘驱动器、光学存储设备、磁带备份等。可移动存储驱动器814与可移动存储单元816交互作用。可移动存储单元816包括其内存储有电脑软件828B (控制逻辑)和/或数据的计算机可用或可读存储介质824。可移动存储单元816代表软盘、磁带、压缩盘、DVD、光学存储盘,或任何其他计算机数据存储设备。可移动存储驱动器814以众所周知的方式对可移动存储单元816进行读取或写入。计算机802还包括输入/输出/显示设备822,比如显示器、键盘,定点设备等。计算机802进一步包括通信或网络接口 818。网络接口 818可使计算机802与远程设备通信。例如,网络接口 818允许计算机802在通信网络或介质824B(代表一种计算机可用或可读介质的形式)上通信,比如局域网LAN、广域网WAN、互联网等。网络接口 818可通过有线或无线连接与远程站点或网络接口。控制逻辑828C可以通过通信介质824B被传输到计算机802或从计算机802输出。更具体地,通过通信介质824B,计算机802可接收和发送使用控制逻辑830调制的载波(电
磁信号)。在此,包括具有存储于其中的控制逻辑(软件)的计算机可用或可读介质的任何仪器或产品被称为计算机程序产品或程序存储设备。这包括但不限于计算机802、主存储器808、辅助存储器810、可移动存储单元816和使用控制逻辑830调制的载波。这样的计算机程序产品具有存储在其中的控制逻辑,当由一个或多个数据处理设备执行时,该控制逻辑引起该数据处理设备以此处所描述的方式运行,其代表本发明的实施例。本发明可以与未在此处描述的软件、硬件和/或操作系统的实施方式一起实施。可以使用适合于执行此处所描述的功能的任何软件、硬件和操作系统实施方式。结论本总结和摘要章节可以阐述一个或多个典型实施例,而不是可由发明人考虑到的本发明的所有实施例。因此,其并不旨在以任何方式对本发明和所附权利要求进行限制。已在上文中借助例示了其特定功能和关系的实施的功能构建模块描述了本发明。在此处为了方便描述而随意限定了这些功能构建模块的范围。也可以定义替换的范围,只要其特定的功能和关系得以适当地实施。上述对具体实施例的描述将充分揭示本发明的基本性质,使得其他人可以通过应、用本技术领域中的知识,在不背离本发明的一般概念下,容易地修改和/或为了各种应用调整这些特定实施例,而不需要过度的实验。因此,根据此处提供的启示和指导,旨在将这样的调整和修改归入所公开的实施例的意义和等同范围之内。可以理解,此处的措辞或术语是用于描述,而不是限制,使得可由技术人员根据启示和指导来解释本说明书的术语或用语。本发明的广度和范围不应受到上述任何典型实施例的限制,而是应按照下列权利要求和其等同物来定义。本申请中的权利要求不同于原申请或其它相关申请中的权利要求。申请人因此解除在原申请或与本申请相关的任何先前申请中做出的对任何权利要求的放弃。因此建议审 查员,可能需要重新审视所有这种先前放弃的权项和避免引用的参考文献。并且,还提醒审查员,在本申请中放弃的任何权项都不应该被读入或针对原申请。
权利要求
1.一种将来自远程数据存储的数据动态绑定到在移动设备上执行的移动应用程序的计算机实施方法,其包括 定义元数据源,所述元数据源同时引用移动业务对象(MBO)和所述移动应用程序,其中所述MBO连接到所述远程数据存储; 使用所述元数据源,将来自所述MBO的属性绑定到所述移动应用程序;以及, 当执行所述移动应用程序时,动态更改所述属性的所述绑定。
2.如权利要求I所述的计算机实施方法,其中所述移动应用程序是基于容器的移动应用程序。
3.如权利要求I所述的计算机实施方法,其中所述元数据源以可扩展标记语言(XML)存储绑定信息。
4.如权利要求I所述的计算机实施方法,其中所述移动应用程序是在XML业务对象容器中执行的XML业务对象。
5.如权利要求I所述的计算机实施方法,还包括 基于存储在所述元数据源中的订阅标准,限制通过所述移动应用程序从所述MBO接收的数据。
6.如权利要求I所述的计算机实施方法,其中,绑定属性包括 在所述元数据源中,将由所述MBO引用的数据链接到所述移动应用程序的用户接口控制。
7.如权利要求I所述的计算机实施方法,其中,所述移动应用程序同时包括客户端和服务器端组件,且其中所述元数据源由所述服务器端组件引用,以设定至所述MBO的绑定。
8.一种在移动应用程序中绑定来自远程数据存储的数据的系统,其包括 所述移动应用程序的第一组件,所述第一组件被配置为在计算机服务器上执行,其中所述第一组件被配置为可操作地连接到所述移动应用程序的第二组件,所述第二组件在移动设备上运行; 抽象层,其用于访问所述远程数据源中的数据,所述抽象层和所述第一组件可操作地连接;以及, 元数据源,其被配置为将所述抽象层中引用的数据映射到所述移动应用程序,其中,当执行所述移动应用程序时,可以更改所述元数据源中的映射。
9.如权利要求8所述的系统,其中,所述抽象层为移动业务对象。
10.一种容许移动应用程序订阅移动业务对象的系统,其包括 数据源,其被存储在第一计算机服务器上; 抽象层,其可操作地连接到所述数据源; 所述移动应用程序的第一组件,所述第一组件被配置为在第二计算机服务器上执行,其中所述第一组件可操作地连接到所述抽象层和所述移动应用程序的第二组件,所述第二组件在移动设备上运行;以及, 元数据源,其被配置为包含订阅标准,其中所述订阅标准决定从所述第一组件转移到所述第二组件的数据。
11.如权利要求10所述的系统,其中所述第一组件进一步被配置为基于所述订阅标准从所述抽象层请求信息。
12.如权利要求10所述的系统,其中所述第一组件进一步被配置为将所述订阅标准传输到所述抽象层。
13.如权利要求10所述的系统,其中所述抽象层是移动业务对象(MBO)。
14.如权利要求10所述的系统,还包括 基于所述订阅标准,向所述第一组件请求来自抽象层的数据的第一部分;以及使数据的第二部分与所述移动应用程序的第二组件通信,其中基于所述订阅标准,将所述第二部分从所述第一部分导出,并且将第二组件的特征安装到移动设备上。
15.一种在移动应用程序中订阅移动业务对象的方法,其包括 创建移动应用程序的第一组件; 创建元数据源,所述元数据源被配置为包含订阅标准,所述订阅标准定义被检索的数据,从而支持所述移动应用程序; 基于所述元数据源,向所述第一组件请求来自所述移动业务对象的数据的第一部分;以及, 使数据的第二部分与所述移动应用程序的第二组件通信,其中,基于所述元数据存储,将所述第二部分从所述第一部分导出,且将所述第二组件安装到移动设备上。
全文摘要
此处描述了用于在基于容器的移动应用程序中动态绑定来自远程数据源的数据的系统、方法和计算机程序产品。该方法包括以下步骤:1)定义元数据源,其同时引用移动业务对象(MBO)和移动应用程序,所述MBO连接到远程数据存储;2)使用元数据源将来自MBO的属性绑定到移动应用程序;以及,3)当执行移动应用程序时,动态更改所述属性的绑定。
文档编号G06F9/44GK102725745SQ201080060199
公开日2012年10月10日 申请日期2010年12月21日 优先权日2009年12月30日
发明者大卫·布朗道, 约翰内斯·阿尔贝蒂, 赫麦格瑞·姆卡玛拉 申请人:赛贝斯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1