CN102165416A - 元数据驱动的移动商业对象 - Google Patents
元数据驱动的移动商业对象 Download PDFInfo
- Publication number
- CN102165416A CN102165416A CN2009801385583A CN200980138558A CN102165416A CN 102165416 A CN102165416 A CN 102165416A CN 2009801385583 A CN2009801385583 A CN 2009801385583A CN 200980138558 A CN200980138558 A CN 200980138558A CN 102165416 A CN102165416 A CN 102165416A
- Authority
- CN
- China
- Prior art keywords
- data
- mbo
- mobile
- business object
- data source
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Abstract
一种用于抽象化数据存取的系统、方法、和计算器程序产品在此提供。方法通过定义数据源、定义数据同步的方法以进行与数据源的通信,以及提供抽象层来存取数据源的数据来运作。抽象层实现了当数据通过抽象层被存取时数据同步的方法。
Description
技术领域
本发明涉及软件开发,更准确的是涉及移动环境中抽象化数据存取。
背景技术
为了抽象化数据存取到移动装置中的远程系统,对象通常被设计以面向对象的方式来表示不同来源的数据,如关系数据库。这也通常允许通过对象关系映射存储对象到装置上的关系数据库中。此外,同步往往在本地数据库和企业数据库之间进行。最后,应用程序开发商可以在各种应用程序中再使用这些对象。
这个方法的缺点是当关键的系统组件改变时,必须改写和重新设计对象。通常,几个版本的对象是需要的,导致兼容性问题。另外一个缺点是需要开发人员了解关系型同步技术的复杂性。虽然对象关系映射隐藏了大部分对象的映射细节,但是没有这样的帮助去调动企业数据作为对象在移动应用程序中以透明和有效的方式使用。最后,在许多类型的数据源如Web服务、企业应用等,任务变得更加艰巨。
因此,一个灵活的数据抽象化方法是必须的。
发明内容
本发明实施例包括在远程数据源抽象化数据的系统,方法和计算器程序产品。例如,该方法包括以下步骤:定义数据源、定义数据同步的方法以进行与数据源的通信,以及提供抽象层来存取数据源的数据。抽象层实现了当数据通过抽象层被存取时数据同步的方法。
本发明的其他功能和优点,以及不同实施例的结构和操作,会在下面与附上的参考附图详细描述。本发明不限于这里所述的具体实施例。这里提出的实施方案只作说明之用。根据这里的教导,额外的实施例对本领域的技术人员是显而易见的。
附图说明
纳入本说明书一部分附图说明了本发明的实施例,与说明书结合在一起,进一步解释了本发明的原理并使得本领域的技术人员能够制造和使用本发明。
图1是本发明实施例中网络架构的例子,或者其中某些部分得到实现的例子。
图2是本发明的一个实施例中开发框架的例子。
图3是本发明的一个实施例中移动应用程序的扩大图。
图4是本发明的一个实施例中定义移动商业对象(MBO)的步骤流程图。
图5是根据本发明的一个实施例中说明MBO开发平台的示范用户界面的截图。
图6是根据本发明的一个实施例说明了一个MBO示范的整体开发和部署框架。
图7是根据本发明的一个实施例说明了一个示范的数据库连接剖面图,以及从一个表选择不同的列。
图8是根据本发明的一个实施例说明了一个从MBO属性到企业信息系统(EIS)列的示范映射。
图9是根据本发明的一个实施例说明了一个示范创建操作。
图10是根据本发明的一个实施例说明了运行参数到EIS参数的示范映射。
图11是根据本发明的一个实施例说明了一个部署MBO模式和同步元数据表到客户端数据库的示范操作。
图12A和12B是根据本发明的一个实施例说明了示范的元数据表。
图13是根据本发明的一个实施例说明了一个示范的客户端堆栈。
图14是根据本发明的一个实施例说明利用MBO接口的步骤流程图。
图15是根据本发明的一个实施例说明保存和利用MBO的状态的步骤流程图。
图16描述了本发明一个可实现的实施例中计算器系统的例子。
在参照附图的基础上,现在开始陈述本发明。附图上的相同的参考号码表示相同的或者功能上相似的组件。再者,参考号码最左边的数字用来识别参考号码首次出现在哪个附图上。
具体实施方式
I.前言
对于本发明以下的详细说明,请参照附图,附图描述了本发明相对应的示范实施例。其他的实施例是可能的,在本发明的精神和范围内可以对实施例进行修改。所以,这里的详细描述没有限制本发明的范围。然而,本发明的范围是被权利要求书所定义。
如下文描述,对于本领域的技术人员,此发明明显地可以在附图中软件、硬件、韧体和/或者实体的不同实施例中执行。本发明不会被任何利用专门硬件控制去实践本发明的实际软件代码而限制。因此,本发明的操作性能会在理解改装和变动实施例是可能的基础上陈述。
图1是本发明实施例中网络架构100的例子,或者其中某些部分得到实现的例子。根据本发明的一个实施例,网络架构100包括通过网络104连接到远程数据源106的移动装置102。在本发明的进一步实施例,开发人员编写软件应用程序以部署在移动设备102上。该软件应用程序被编写为偶尔地从远程数据源106收回数据。当软件应用程序尝试从远程数据源106收回数据时,网络104可能是可用的或者不可用的。本领域的技术人员会明白移动装置102可以是任何通过网络,如网络104,连接到远程数据源的计算装置,以及不需要一定是移动装置。
继续参照图1,软件开发过程在这里会更详细地描述。
II.软件开发框架
图2是本发明的一个实施例中发展框架200的例子。根据本发明的一个实施例,框架200定义了一个移动应用程序202、中介软件204、设有关联的元数据和数据的移动商业对象(“MBO“)206、企业数据源208。本领域的技术人员会明白显示在图2中框架200的安排只是以例子的方式来表示,而不是限制。根据本发明的一个实施例,移动应用程序202可以在图1移动装置102上运行。根据本发明的进一步实施例,企业数据源208相当于图1中远程数据源106。
根据本发明的一个实施例,移动应用程序202通过调用API或中介软件204的其他界面来存取企业数据源208的数据。根据本发明的一个实施例,中介软件204是加利福尼亚都柏林Sybase Inc.提供的iAnywhere Mobilink中介软件。本领域的技术人员会明白企业数据源208可以是任何数目任何种类的数据源,包括如关系数据库或远程程序。中介软件204通过使用它的API,可以由一个应用程序到一个或多个数据源如数据源208,使得通信更简单。
根据本发明的一个实施例,MBO206是包含在企业数据源208的数据子集代表。在本发明的进一步实施例,MBO206同时代表多个数据源(即MBO206包括206多个数据源的子集)。MBO206用元数据来表示,并由移动应用程序202的软件来解释所述元数据,以方便通过中介软件204存取来自企业数据源208的数据。
例如,如果企业数据源208是含有一间公司内个人电话目录信息表的数据库,MBO206会被配置为从数据源208存取电话目录信息和允许移动应用程序202使用面向对象的方法去存取该目录而不需要查询企业数据源208本身。这使移动应用程序202以透明的方式存取来自企业数据源208的数据。
图3是本发明的一个实施例中移动应用程序202的扩大图300。根据本发明的一个实施例,如图2所示,移动应用程序202通过中介软件204来和企业数据源208通信。移动应用程序202由面向对象编程(“OOP“)的语言对象302组成。在本发明的一个实施例,这些OOP对象302拥有通过中介软件204来存取的数据的抽象视图,该抽象化由映射层提供,如对象关系映射层304和消息对象映射层306。
此外,根据本发明的一个实施例,装置持久性库308被提供去保存数据到执行移动应用程序202的移动装置102。在本发明的一个实施例,本地数据库310被提供用来储存从数据库数据源收回的数据,也用来储存移动应用程序202的更新。在另一个实施例中,本地信息缓存312被提供用来在移动装置102储存信息数据移动。这些缓存设施310和312被装置持久性库抽象化到映射层304和306。
在一个实施例,不是为了限制本发明,本地信息缓存312是中介软件204和本地数据库310之间传输信息的管道。在一个实施例,本地信息缓存312从中介软件204接收信息并通过持久库308写入信息(或数据)到本地数据库310。
当移动应用程序202存取、使用、或与对象302相互交流,它要求信息对象映射层306读取本地数据库310。在一个实施例,本地数据库310通过信息对象映射层306和装置持久库308来更新变更。然后发出消息,以表示中介软件204的变更通过本地信息缓存312完成。如此,本地信息缓存312作为一个信息传递渠道。
根据本发明的一个实施例,任何通过中介软件204接收的数据被认为是被装置持久库308保存(或“持久化“),另外任何会传送到中介软件204的数据也被认为是保存。此外,根据本发明的一个实施例,移动应用程序202包括状态管理模块314以确定持久化数据的状态,还包括数据安全模块316以确定持久化数据的安全特征。
图2的MBO206与映射层304和306相似地运作,除了它不单纯是移动应用程序202一部分的库。MBO206允许应用程序202的OOP对象302存取MBO206中的数据,其方法与映射层304和306提供的并抽象化方法相似,但MBO206提供了额外的功能以提高部署在移动环境中的应用程序的能力。
III.定义移动商业对象
图4是本发明的一个实施例中说明定义移动商业对象(MBO)的步骤流程图400。本领域的技术人员会明白定义一个MBO,并非所有以下的步骤都是必要的。根据本发明的一个实施例,MBO是通过使用元数据来定义。
该方法开始在步骤402,然后进行到定义数据源的步骤404。根据本发明的一个实施例,所述数据源是企业资源。根据本发明的进一步实施例,所述数据源是一种服务。根据本发明的一个实施例,MBO进一步定义了从数据源接收或发送到数据源的任何被执行的转变。在本发明的一个实施例,通过定义数据源,图3中OOP对象302存取的属性和领域也被定义,而MBO可以使用传统的OOP方法来沟通。
在步骤406,与MBO相关的数据的安全特征被定义。根据本发明的一个实施例,这包括关于什么系统组件可以存取数据以及如何存取数据的信息。根据本发明的进一步实施例,这还决定了是否要按照事先确定的政策在装置上擦除数据以保护由于用户乱放装置而造成的数据泄漏。在步骤408,MBO的数据同步特征被定义。例如,这可以包括关系数据同步,如本地数据库的副本与远程数据库和信息模型的同步。
该方法继续进行到步骤410,在此步骤,实时MBO和其他MBO之间的关系被定义。在步骤412,从远程数据源接收数据的方法被定义为默认(或预先设定的)缓存策略。包括配置缓存时间间隔和预定重复去更新来自EIS的缓存数据的任何缓存策略变更可以是MBO定义被部署后的管理任务。
在步骤414,数据被远程数据源压栈到移动装置的处理方法被定义。例如,这包括数据是否应该更新和如何更新,以及紧急和非紧急压栈压栈数据如何被处理。在步骤416,MBO的内在调用方法被定义。这使得远程数据源直接地调用MBO以压栈动数据,从而得到比传统压栈更新更先进的功能。
MBO的图形用户界面(“GUI”),以及MBO与移动应用程序自己的GUI的互动在步骤418被定义。所述方法结束于步骤420。
IV.示范的MBO开发平台
在一个实施例,一个基于数据复制和操作反馈(或操作回放/中继)的开发平台可以用来模拟MBO。作为一个例子而不是为了限制本发明,开发平台/框架可以定义绑定MBO到后端系统。一个示范的MBO开发框架是Sybase的无线企业平台(SUP)。在一个实施例中,中介软件204执行MBO模型以从后端系统获取数据,并使用复制去调动和部署MBO到移动装置。数据库复制方法对本领域的技术人员来说是众所周知的,可以是例如共享信息进程,以确保冗余资源如软件或硬件组件之间的一致性,以提高可靠性、容错性或存取能力。
在一个实施例中,MBO开发平台允许用户设计MBO一次,然后使用普通的基础设施部署MBO到多个移动装置。
在本发明一个非限制性的实施例中,MBO的开发平台允许:
″设计时间″和″运行时间″环境的分离
自上而下和/或自底向上的设计方法
模具组件
企业数据服务
移动中介软件(移动一致性)
装置应用(UI)
为移动元素使用基于对象的原理
装置代码的代码生成、包装和部署
在当地环境使用商业对象和调用APIs的自定义。
图5是根据本发明的一个实施例中说明MBO开发平台502的示范用户界面的截图。
如图5所示,MBO开发平台502允许通过集成开发环境(IDE)来设计MBO。
在一个实施例中,MBO开发平台502包括一个设计者模式以允许用户设计和修改MBO。作为一个例子,这可以通过使用接口504来“定义/编辑″MBO。在设计者模式,MBO开发平台502为移动装置和任何服务器端应用程序生成SQL和代码操作。此外,额外的操作如应用程序接口(API)的创建和过滤可以在设计者模式下完成。在一个实施例中,MBO开发平台502可以打包和部署MBO到不同的应用程序。
在操作或运行模式,在MBO开发平台502的运行引擎进行被MBO运行参数指定的同步/负载和关系管理。作为本发明一个非限制性的实施例,MBO的运行参数与MBO的运行行为相关联并可以被开发者指定。
图6是根据本发明的一个实施例说明了一个MBO示范的整体开发和部署框架600。如图6所示,MBO开发和部署框架可以包括但不限于服务器、工作区和平台代码模板。作为一个纯粹说明的例子,该服务器可以是Sybase的无线企业平台(SUP)服务器。
在一个实施例中,服务器使用MBO运行和服务器运行参数以提供MBO元数据(如后端数据的元数据)到工作区。然后,所述工作区可使用MBO元数据(或返回的信息)来设计MBO。在一个实施例中,这样的设计过程产生了如元数据描述的MBO。作为一个例子,工作区是MBO开发平台502。与工作区相关联的平台代码模板可以生成拥有MBO层的装置指定的客户端应用程序。
在一个实施例中,MBO层表现为运行对象,并可以用于多个应用元素的同步和交易。开发和部署框架600也可用于生成客户端对象,包括但不限于C#和Java对象。
在一个实施例中,MBO的输入参数可以个性化来过滤后端数据集或者提供后端数据以确定哪些数据需要进行处理并返回到开发和部署框架600。
在一个实施例中,MBO的属性和参数可以定义移动装置端的数据存储和服务器端缓存的范围。每个MBO的属性可以被映射到企业信息系统(EIS)列、数据库操作的特性或任何其他数据库的结构。
V.MB0操作
在一个实施例中,MBO操作包括(但不限于)通常相对于MBO的属性在企业环境内或通过外部服务进行的后端任务。MBO的操作例子包括但不限于创建、更新和删除(CUD)操作。
MBO的参数(如操作参数)可提供给一个或多个操作,并可以链接到上游参数或MBO属性。此外,本发明的实施例允许操作参数进行个性化。
在一个实施例中,MBO的定义如属性和操作参数,在设计时被绑定或映射到后端数据。在设计时的绑定或映射包括创建可用于将数据绑定到MBO定义的EIS连接文件。作为一个例子,EIS连接文件可用于执行后端系统。
VI.示范的读取操作
如前所述,MBO的属性可以被映射到EIS的列或属性。在一个实施例中,服务器缓存(未显示)可以通过执行读操作(可以使用一个或多个读/回放参数)来集结。根据本发明的一个实施例,图7显示了一个示范的数据库连接剖面图,以及从一个表选择不同的列。
如图8所示,每个MBO的属性可以被映射到EIS的列。在一个实施例中,MBO的属性名称不需要和EIS的名称匹配。MBO开发平台502可以执行一个定义为读操作的SQL语句,然后储存结果在服务器缓存。
VII.示范的创建操作
在一个实施例中,MBO的操作参数可以被映射到EIS的参数(或变量)。如上所述,MBO可以包括创建、更新、删除和其他操作种类。在一个实施例中,MBO的每个操作类型可以有多个实例。
一个示范创建操作在图9中显示,其连接到一个数据库文件并将数据插入表中。如图9所示,在插入语句中使用的值使用属性“@OP“,该属性可以标记该值为MBO开发平台502中EIS的参数。然后,操作参数被映射到如图10所示的EIS参数。
VIII.运行部署
在一个实施例中,一旦MBO模型被定义和绑定到数据源,包括一个或多个MBO的数据包可被部署到服务器(如图6的服务器)。在一个实施例,部署过程把使用在MBO的设计时间连接文件映射到服务器连接文件。作为一个例子,如果新的服务器连接文件不存在,其可以被创建。每个定义在数据包的MBO被映射到数据库表(如服务器缓存)。
IX.MBO模型
在一个实施例中,MBO被部署到服务器后(如图6的服务器),服务器库或综合数据库(CDB)拥有MBO模式的代表。一个部署MBO模式到CDB的示范操作在图11的示图1102中说明了。
元数据表
在一个实施例中,元数据表为每个部署到服务器的MBO存储MBO元数据。当这些元数据表被同步到客户端数据库(如移动装置客户端数据库),客户端可以使用元数据表来生成基础数据表。
这样做,客户端数据库可以反映CDB(服务器综合数据库)。图11的示图1104说明了一个同步元数据表到客户端数据库的示范操作。
元数据表和数据表的分离允许动态MBO的部署到现有的MBO包。这样,整个客户端数据库不需要重新创建。在一个实施例中,在元数据表的MBO元数据被用来生成MBO数据表,以存储从服务器储存库(如CDB)获取的MBO数据。
图12A及12B说明了在本发明的实施例中示范的元数据表。参考图12A,应用目录1202说明了已部署的MBO和与每个MBO相关的信息。参数表1204可以列出所有参数信息以用来读取、创建、更新、删除和其他操作。列详情表1206可以包括MBO属性和与属性相关的元数据。
参考图12B,表链接1208识别包括链接到MBO操作的MBO关系。点击表1210识别了MBO的数据关系,请求参数表1212包括用于MBO操作(如读操作)的MBO同步参数数据。
X.调用MBO和MBO数据流
在一个实施例中,一旦MBO模型被部署到服务器库(如CDB),客户端可以执行元数据同步来接收所有已部署的MBO元数据。在元数据同步过程之后,客户端生成类似CDB表的MBO数据表。
在一个实施例中,在元数据同步的过程中,客户端为每个MBO定义公布。作为一个例子,公布包括一个或多个数据库表。在一个实施例中,公布被用来确定一套会被同步的表。
XI.示范的客户端堆栈
图13显示了本发明的一个实施例中示范的客户端堆栈。
如图13所示,根据一个实施例,工具层定义和创建MBO模式并将其部署到服务器。代码生成引擎使用MBO模型并生成客户端对象API。在一个实施例中,生成的客户端对象的实现可以利用数据持久库(DPL)实用层来处理移动装置的数据库相互联系。在一个实施例中,生成的客户端对象和DPL都是由MBO元数据驱动的。
XII.与移动商业对象的互相影响
图14是根据本发明的一个实施例说明利用MBO接口的步骤流程图。根据本发明的一个实施例,如图400的流程图400所示的方法,该方法始于步骤1402,并进行到步骤1404,此时用于MBO的元数据被定义。
该方法进行到步骤1406,建模工具捕获MBO的元数据。按照本发明的一个实施例,这种建模工具是特定于移动应用程序正被部署的装置上,从而在必要时以平台特定方式解释元数据。这进一步使MBO的新版本可以通过更新元数据来定义,而不需要考虑到平台特定的变化。
在步骤1408,一个通用的MBO的API被应用程序调用以存取MBO提供的数据或者在面向对象的环境下与MBO互动。此外,按照本发明的一个实施例,MBO的对象特定的API也是可用的,所述API使用捕获元数据生成,通常提供比一般API更高的计算效率。然后,该方法结束于步骤1410。
XIII.移动商业对象状态管理
图15是根据本发明的一个实施例说明保存和利用MBO的状态的步骤流程图。该方法始于步骤1502,然后进行到步骤1504,此时API对MBO提供的数据作出调用。
根据本发明的一个实施例,MBO的当前状态在步骤1506确定。MBO能够更新其状态,而当前状态影响MBO响应的行为。因此,在步骤1508,生成对步骤1504中API调用的回应,此回应与MBO的状态一致,该方法结束于步骤1510。该方法结束于步骤1512。
XIV.示范的计算机系统实施例
本发明的各个方面可以通过软件、韧体、硬件或者其组合来实现。图16描述了示范的计算器系统1600,该系统是本发明或其一部分可实现为计算机可读代码的例子。例如,在图4的流程图400、图5的流程图500、图6的流程图600中说明的方法可在系统1600中实现。本发明的各种实施例在计算器系统1600的基础上描述。看完本说明书后,对本领域的技术人员来说,如何使用其他计算器系统和/或计算器结构来实施本发明都是显而易见的。
计算器系统1600包括一个或多个处理器,如处理器1604。处理器1604可以是一个特殊用途的或通用的处理器。处理器1604连接到通信基础设施1606(例如总线或网络)。
计算器系统1600还包括一个最好是随机存取存储器(RAM)的主内存1608,可能还包括辅助存储器1610。辅助存储器1610可以包括,例如,硬盘驱动器1612、可移除的存储驱动器1614和/或记忆棒。可移除的存储驱动器1614可包括软盘驱动器、磁带驱动器、光盘驱动器、闪存或类似的媒体。可移除的存储驱动器1614以公知的方式读取和/或写入可移除的存储单元1618。可移除的存储单元1618可以包括被读取和写入到可移除的存储驱动器1614的软盘、磁带、光盘等。本领域的技术人员会明白可移除的存储单元1618包括储存有计算机软件和/或数据的计算机可用的存储介质。
在另一个实施例,辅助存储器1610可以包括其他类似的手段使计算机程序或其他指令得以加载到计算器系统1600。这些手段可以包括,例如,可移除的存储单元1622和接口1620。这种手段的例子可以包括程序盒式存储器和盒式接口(如发现在视频游戏设备中的)、可移除的内存芯片(如EPROM或PROM)和相关的插座,以及其他允许软件和数据从可移除的存储单元1622转移到计算器系统1600的可移除的存储单元1622和接口1620。
计算器系统1600还可以包括通讯接口1624。通信接口1624允许软件和数据在计算器系统1600和外部装置之间传输。通信接口1624可包括调制解调器、网络接口(如以太网卡)、通信端口、PCMCIA插槽和卡或类似的东西。通过通信接口1624来传输的软件和数据可以是电子、电磁、光学或其他能够被通信接口1624接收到的信号形式。这些信号通过通信路径1626被提供到通信接口1624。通信路径1626运载信号并可以使用电线、电缆、光纤、电话线、蜂窝电话连接、射频链接或其他通讯渠道来实现。
在这份文件中,“计算器程序媒体“和“计算器可用的媒体“被用来泛指媒体如可移除的存储单元1618、可移除的存储单元1622和安装在硬盘驱动器1612上硬盘。在通信路径1626上运载的信号也体现这里所述的逻辑。计算器程序媒体和计算器可用的媒体也可以是存储存器,如可以是存储半导体(如DRAM等)的主存储器1608和辅助存储器1610。这些计算器程序产品是提供软件到计算器系统1600的手段。
计算器程序(也称为计算器控制逻辑)存储在主存储器1608和/或辅助存储器1610。计算器程序也可通过通讯接口1624来接收。这种计算器程序,在执行时,启用计算器系统1600来实施这里所述的本发明。特别是,计算器程序,在执行时,使处理器1604实施本发明的进程,如上述图4中流程图400、图14中流程图1400、图15中流程图1500说明的方法步骤。因此,这些计算机程序代表计算器系统1600的控制器。如果本发明是通过使用软件来实施,该软件可以存储在计算器程序产品中并使用可移除的存储驱动器1614、接口1620、硬盘驱动器1612或通信接口1624以加载到计算器系统1600。
本发明还涉及计算器程序产品,该产品包括存储在任何计算器可用媒体上的软件。当在一个或多个数据处理装置运行时,这些软件使数据处理装置如这里所述的运作。本发明的实施例使用任何现在已知的或将来会知的计算器可用或可读媒体。计算器可用媒体的例子包括但不限于主存储装置(例如任何类型的随机存取内存)、辅助存储装置(如硬盘、软盘、光盘、ZIP磁盘、磁带、磁性存储装置、光存储装置,MEMS,纳米技术存储装置等)和通信媒体(例如有线和无线通信网络、局域网、广域网、内部网络等)。
XV.结论
虽然本发明的不同实施例已如上描述了,但这些实施例应该理解为例子而已,而不是限制。本领域的技术人员会理解不同形式的变更和细节也可以实施本发明但没有偏离本发明权利要求书中的精神和范围。本发明应理解为不只限于这些例子。本发明适用于这里陈述的任何操作原理。所以,本发明的广泛程度和范围不应该被以上所述的示范实施例所限制,而应该只被下列的权利要求书和其相同的意思所定义。
Claims (20)
1.一种在远程数据源中抽象化数据的方法,其可被偶尔连线的移动装置使用,包括:定义所述远程数据源;定义与所述远程数据源通信的数据同步方法;和提供抽象层以在所述远程数据源存取数据,当数据通过所述抽象层来存取时,所述抽象层执行所述数据同步的方法。
2.如权利要求1所述的方法,进一步包括:定义所述数据被所述远程数据源提供到所述移动装置的方法。
3.如权利要求1所述的方法,进一步包括:与移动商业对象连接。
4.如权利要求3所述的方法,进一步包括:定义所述移动商业对象的安全特征;定义所述移动商业对象的数据同步特征;和定义所述移动商业对象与其他移动商业对象之间的关系。
5.如权利要求3所述的方法,进一步包括:为所述移动商业对象定义移动入站调用方法。
6.如权利要求3所述的方法,进一步包括:为所述移动商业对象定义移动元数据。
7.如权利要求6所述的方法,进一步包括:用建模工具捕获所述的元数据。
8.如权利要求3所述的方法,进一步包括:执行应用程序接口(API)调用到所述移动商业对象;和得到对所述应用程序接口调用的响应,其中所述回应是基于所述移动商业对象的状态。
9.一种在远程数据源中抽象化数据的系统,其可被偶尔连线的移动装置使用,包括:与所述远程数据源相关联的中介软件;以及与所述中介软件相关联的移动商业对象(MBO),其中所述移动商业对象包括所述远程数据源内至少一个数据子集。
10.如权利要求9所述的系统,进一步包括:与所述中介软件相关联的移动应用程序,其中所述移动应用程序配置为使用所述中介软件的应用程序接口(API)在所述远程数据源存取数据。
11.如权利要求10所述的系统,其中所述移动应用程序包括:对象关系映射层,所述对象关系映射层配置为与一个或多个面向对象编程语言对象互动;信息对象映射层;和与所述信息对象映射层相关联的装置持久性库,其被配置为储存与所述移动应用程序相关联的数据。
12.如权利要求11所述的系统,其中所述移动应用程序还包括配置来确定所述存储数据状态的状态管理模块。
13.如权利要求11所述的系统,其中所述移动应用程序还包括配置来确定所述存储数据安全特征的数据安全模块。
14.如权利要求11所述的系统,其中所述移动应用程序还包括配置为用于存储取自所述远程数据源数据的本地数据库。
15.如权利要求11所述的系统,其中所述移动应用程序还包括配置为用于存储与所述移动应用程序相关联信息数据的本地信息缓存。
16.一种计算器程序产品,其内存储有控制逻辑,所述控制逻辑依据方法使一个或多个处理器在远程数据源中抽象化数据,其可被偶尔连线的移移动装置使用,所述方法包括:定义所述数据源;定义与所述数据源通信的数据同步方法;和提供抽象层以在所述数据源存取数据,当数据通过抽象层来存取时,所述抽象层执行所述数据同步的方法。
17.如权利要求16所述的计算机程序产品,所述方法还包括:定义所述数据被所述远程数据源提供到所述移动装置的方法。
18.如权利要求16所述的计算机程序产品,所述方法还包括:与移动商业对象连接。
19.如权利要求16所述的计算机程序产品,所述方法还包括:定义所述移动商业对象的安全特征;定义所述移动商业对象的数据同步特征;和定义所述移动商业对象与其他移动商业对象之间的关系。
20.如权利要求16所述的计算机程序产品,所述方法还包括:定义所述移动商业对象的入站调用方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8556508P | 2008-08-01 | 2008-08-01 | |
US61/085,565 | 2008-08-01 | ||
US12/503,573 US9477727B2 (en) | 2008-08-01 | 2009-07-15 | Abstracting data for use by a mobile device having occasional connectivity |
US12/503,573 | 2009-07-15 | ||
PCT/US2009/004343 WO2010014196A2 (en) | 2008-08-01 | 2009-07-27 | Metadata driven mobile business objects |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102165416A true CN102165416A (zh) | 2011-08-24 |
Family
ID=41609378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801385583A Pending CN102165416A (zh) | 2008-08-01 | 2009-07-27 | 元数据驱动的移动商业对象 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9477727B2 (zh) |
EP (1) | EP2329363A4 (zh) |
CN (1) | CN102165416A (zh) |
WO (1) | WO2010014196A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104854578A (zh) * | 2012-11-23 | 2015-08-19 | 布莱阿姆青年大学 | 用于协同CAx编辑的系统、方法和设备 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336023B2 (en) * | 2009-12-18 | 2016-05-10 | Sybase, Inc. | Visual generation of mobile applications based on data models |
US10210216B2 (en) * | 2009-12-18 | 2019-02-19 | Sybase, Inc. | Dynamic attributes for mobile business objects |
US8909662B2 (en) * | 2009-12-30 | 2014-12-09 | Sybase, Inc. | Message based mobile object with native PIM integration |
US8788458B2 (en) * | 2009-12-30 | 2014-07-22 | Sybase, Inc. | Data caching for mobile applications |
US9336291B2 (en) * | 2009-12-30 | 2016-05-10 | Sybase, Inc. | Message based synchronization for mobile business objects |
US8434097B2 (en) * | 2009-12-30 | 2013-04-30 | Sybase, Inc. | Dynamic data binding for MBOs for container based application |
US8321392B2 (en) * | 2009-12-30 | 2012-11-27 | Sybase, Inc. | Pending state management for mobile business objects |
US8843438B2 (en) * | 2010-07-20 | 2014-09-23 | Evan Ireland | Parameter value binding for mobile business objects |
US8200624B2 (en) * | 2010-07-20 | 2012-06-12 | Sybase, Inc. | Membership tracking and data eviction in mobile middleware scenarios |
US10102242B2 (en) | 2010-12-21 | 2018-10-16 | Sybase, Inc. | Bulk initial download of mobile databases |
US8892569B2 (en) | 2010-12-23 | 2014-11-18 | Ianywhere Solutions, Inc. | Indexing spatial data with a quadtree index having cost-based query decomposition |
US9110807B2 (en) | 2012-05-23 | 2015-08-18 | Sybase, Inc. | Cache conflict detection |
US8874682B2 (en) | 2012-05-23 | 2014-10-28 | Sybase, Inc. | Composite graph cache management |
US9123030B2 (en) | 2012-07-30 | 2015-09-01 | Sap Se | Indication of off-screen calendar objects |
US9483086B2 (en) | 2012-07-30 | 2016-11-01 | Sap Se | Business object detail display |
US9658672B2 (en) | 2012-07-30 | 2017-05-23 | Sap Se | Business object representations and detail boxes display |
US8832583B2 (en) * | 2012-08-31 | 2014-09-09 | Sap Se | Visualizing entries in a calendar using the third dimension |
US9081466B2 (en) | 2012-09-10 | 2015-07-14 | Sap Se | Dynamic chart control that triggers dynamic contextual actions |
US9250781B2 (en) | 2012-10-17 | 2016-02-02 | Sap Se | Method and device for navigating time and timescale using movements |
US8972883B2 (en) | 2012-10-19 | 2015-03-03 | Sap Se | Method and device for display time and timescale reset |
US9058503B2 (en) | 2013-05-10 | 2015-06-16 | Successfactors, Inc. | Systems and methods for secure storage on a mobile device |
US9258668B2 (en) | 2013-07-31 | 2016-02-09 | Sap Se | Mobile application framework extensibiilty |
US10406758B2 (en) * | 2013-11-12 | 2019-09-10 | Robotic Research | System and method for 3D printing parts with additional features |
US9817851B2 (en) * | 2014-01-09 | 2017-11-14 | Business Objects Software Ltd. | Dyanmic data-driven generation and modification of input schemas for data analysis |
US10747748B2 (en) * | 2016-01-29 | 2020-08-18 | International Business Machines Corporation | Generating mobile data schema to support disconnected operations |
US10238578B2 (en) * | 2016-11-10 | 2019-03-26 | Countrue, Llc | Apparatus and methods for a semi-automatic pill counting tray |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021354A1 (en) * | 2003-07-22 | 2005-01-27 | Rainer Brendle | Application business object processing |
US20050055465A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Generic API for synchronization |
US20060112398A1 (en) * | 2004-11-23 | 2006-05-25 | Sybase, Inc. | System and Methodology Providing Service Invocation for Occasionally Connected Computing Devices |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381241B1 (en) * | 1997-09-30 | 2002-04-30 | Wireless Access | Duplicate message detection and mending of garbled messages |
US7660830B2 (en) * | 2000-04-17 | 2010-02-09 | Avaya Inc. | System for integrating diverse database and maintaining their consistency |
US7519546B2 (en) * | 2001-04-30 | 2009-04-14 | General Electric Company | Maintaining synchronization of information published to multiple subscribers |
US7526572B2 (en) * | 2001-07-12 | 2009-04-28 | Research In Motion Limited | System and method for providing remote data access for a mobile communication device |
US6745209B2 (en) * | 2001-08-15 | 2004-06-01 | Iti, Inc. | Synchronization of plural databases in a database replication system |
KR20030072693A (ko) | 2002-03-06 | 2003-09-19 | 윤일권 | 서로 다른 이동 통신 서비스에 가입된 단말기끼리도 공용가능한 네트워크 컨텐츠 제공방법 및 그에 따른 장치 |
US7551629B2 (en) * | 2002-03-28 | 2009-06-23 | Precache, Inc. | Method and apparatus for propagating content filters for a publish-subscribe network |
US6983293B2 (en) * | 2002-07-24 | 2006-01-03 | International Business Machines Corporation | Mid-tier-based conflict resolution method and system usable for message synchronization and replication |
WO2004027576A2 (en) | 2002-09-18 | 2004-04-01 | Netezza Corporation | Asymmetric data streaming architecture having autonomous and asynchronous job processing unit |
US7130871B2 (en) * | 2002-10-17 | 2006-10-31 | International Business Machines Corporation | Method and apparatus for representing deleted data in a synchronizable database |
US7366760B2 (en) * | 2003-01-03 | 2008-04-29 | Microsoft Corporation | System and method for improved client server communications of email messages |
US7386590B2 (en) | 2003-01-03 | 2008-06-10 | Microsoft Corporation | System and method for improved synchronization between a server and a client |
US20040205770A1 (en) * | 2003-02-11 | 2004-10-14 | International Business Machines Corporation | Duplicate message elimination system for a message broker |
US20110113121A1 (en) * | 2003-03-06 | 2011-05-12 | Amit Sarkar | Method And System For Operating A Primary PC From A Remote Pseudo-mobile PC |
US7401104B2 (en) * | 2003-08-21 | 2008-07-15 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device |
US8166101B2 (en) * | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
US7512638B2 (en) * | 2003-08-21 | 2009-03-31 | Microsoft Corporation | Systems and methods for providing conflict handling for peer-to-peer synchronization of units of information manageable by a hardware/software interface system |
US8238696B2 (en) * | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
US20050055698A1 (en) * | 2003-09-10 | 2005-03-10 | Sap Aktiengesellschaft | Server-driven data synchronization method and system |
US7778962B2 (en) * | 2004-04-30 | 2010-08-17 | Microsoft Corporation | Client store synchronization through intermediary store change packets |
US7251722B2 (en) * | 2004-05-11 | 2007-07-31 | Mistletoe Technologies, Inc. | Semantic processor storage server architecture |
EP1601163A1 (en) * | 2004-05-28 | 2005-11-30 | moxite GmbH | System and method for replication, integration, consolidation and mobilisation of data |
US7970823B2 (en) | 2004-09-02 | 2011-06-28 | Broadway Technology, Llc | System for sharing data objects among applications |
CA2622404A1 (en) * | 2004-09-15 | 2006-03-23 | Adesso Systems, Inc. | System and method for managing data in a distributed computer system |
US8037056B2 (en) * | 2005-02-18 | 2011-10-11 | International Business Machines Corporation | Online repair of a replicated table |
US7523110B2 (en) * | 2005-03-03 | 2009-04-21 | Gravic, Inc. | High availability designated winner data replication |
EP1866762A2 (en) * | 2005-03-21 | 2007-12-19 | Dexterra, Inc. | Modular applications for mobile data system |
US8443083B2 (en) * | 2005-05-04 | 2013-05-14 | Qualcomm Incorporated | Arbitration of resources at a wireless device among contending applications |
US20070073808A1 (en) | 2005-09-23 | 2007-03-29 | Alan Berrey | Mobile messaging system |
US20070260628A1 (en) | 2006-05-02 | 2007-11-08 | Tele Atlas North America, Inc. | System and method for providing a virtual database environment and generating digital map information |
US7606838B2 (en) * | 2006-02-22 | 2009-10-20 | Microsoft Corporation | Distributed conflict resolution for replicated databases |
KR20060060629A (ko) | 2006-03-17 | 2006-06-05 | 이승재 | 이동통신단말기의 데이터 저장 및 검색 방법 |
US7756829B2 (en) * | 2006-04-18 | 2010-07-13 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US20070271275A1 (en) | 2006-05-05 | 2007-11-22 | Fassette Anthony M | Database management function provider systems |
CN101155022A (zh) * | 2006-09-30 | 2008-04-02 | 华为技术有限公司 | 数据同步方法、系统和装置 |
US8195605B2 (en) | 2006-10-27 | 2012-06-05 | Purdue Pharma L.P. | Data cache techniques in support of synchronization of databases in a distributed environment |
US7805420B2 (en) * | 2006-11-20 | 2010-09-28 | Microsoft Corporation | Versioning and concurrency control for multiple client access of data |
US20080120304A1 (en) | 2006-11-21 | 2008-05-22 | Calio Robert J | Method and system for providing high performance data modification of relational database tables |
US9721246B2 (en) * | 2006-12-21 | 2017-08-01 | Sybase, Inc. | Synchronization patterns for mobile applications |
US7983249B2 (en) * | 2007-01-23 | 2011-07-19 | Oracle America, Inc. | Enterprise web service data to mobile device synchronization |
US7620659B2 (en) * | 2007-02-09 | 2009-11-17 | Microsoft Corporation | Efficient knowledge representation in data synchronization systems |
US8131670B2 (en) * | 2007-02-22 | 2012-03-06 | Microsoft Corporation | Techniques to cross-synchronize data |
US8218549B2 (en) * | 2007-06-18 | 2012-07-10 | International Business Machines Corporation | Synchronization of message stream in a multi-tier messaging system |
US9009292B2 (en) | 2007-07-30 | 2015-04-14 | Sybase, Inc. | Context-based data pre-fetching and notification for mobile applications |
US7752165B2 (en) | 2007-08-01 | 2010-07-06 | Sybase, Inc. | Persistent query system for automatic on-demand data subscriptions from mobile devices |
US8204870B2 (en) * | 2007-08-03 | 2012-06-19 | Sybase, Inc. | Unwired enterprise platform |
WO2009032708A2 (en) | 2007-09-04 | 2009-03-12 | Apple Inc. | Protocol for remote user interface for portable media device |
US8037110B2 (en) | 2007-12-27 | 2011-10-11 | Microsoft Corporation | Business data access client for online/offline client use |
US8825815B2 (en) * | 2008-01-08 | 2014-09-02 | Amdocs Software Systems Limited | System and method for client synchronization for a communication device |
KR101430517B1 (ko) | 2008-01-31 | 2014-08-19 | 삼성전자주식회사 | 복수의 데이터 통신장치들 간의 데이터 동기 방법 |
US20090198722A1 (en) * | 2008-01-31 | 2009-08-06 | Stephen Michael Hanson | System and method for deriving the minimum number of bytes required to represent numeric data with different physical representations |
US8185521B2 (en) * | 2008-02-29 | 2012-05-22 | Research In Motion Limited | System and method for presentation of local and remote message search results |
US8023934B2 (en) | 2008-03-28 | 2011-09-20 | Ianywhere Solutions, Inc. | Synchronizing communications and data between mobile devices and servers |
US8812614B2 (en) | 2008-06-05 | 2014-08-19 | Qualcomm Incorporated | Data backup for a mobile computing device |
US7962458B2 (en) * | 2008-06-12 | 2011-06-14 | Gravic, Inc. | Method for replicating explicit locks in a data replication engine |
US9200901B2 (en) * | 2008-06-19 | 2015-12-01 | Microsoft Technology Licensing, Llc | Predictive services for devices supporting dynamic direction information |
EP2144409B1 (en) | 2008-07-09 | 2010-08-25 | Research In Motion Limited | Delivery of email messages in multiple parts |
US8135770B2 (en) | 2008-12-29 | 2012-03-13 | International Business Machines Corporation | Processing recurring events within personal information management clients |
JP5463882B2 (ja) * | 2009-12-01 | 2014-04-09 | ソニー株式会社 | 発光素子及びその製造方法 |
US8364903B2 (en) | 2009-12-22 | 2013-01-29 | Verizon Patent And Licensing Inc. | Field level concurrency and transaction control for out-of-process object caching |
KR101647735B1 (ko) | 2009-12-24 | 2016-08-11 | 엘지전자 주식회사 | 이동 단말기 및 이동 단말기의 데이터 관리 방법 |
US9336291B2 (en) * | 2009-12-30 | 2016-05-10 | Sybase, Inc. | Message based synchronization for mobile business objects |
US8788458B2 (en) | 2009-12-30 | 2014-07-22 | Sybase, Inc. | Data caching for mobile applications |
US8909662B2 (en) * | 2009-12-30 | 2014-12-09 | Sybase, Inc. | Message based mobile object with native PIM integration |
US8321392B2 (en) | 2009-12-30 | 2012-11-27 | Sybase, Inc. | Pending state management for mobile business objects |
US8892569B2 (en) | 2010-12-23 | 2014-11-18 | Ianywhere Solutions, Inc. | Indexing spatial data with a quadtree index having cost-based query decomposition |
-
2009
- 2009-07-15 US US12/503,573 patent/US9477727B2/en active Active
- 2009-07-27 WO PCT/US2009/004343 patent/WO2010014196A2/en active Application Filing
- 2009-07-27 EP EP09803252A patent/EP2329363A4/en not_active Withdrawn
- 2009-07-27 CN CN2009801385583A patent/CN102165416A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021354A1 (en) * | 2003-07-22 | 2005-01-27 | Rainer Brendle | Application business object processing |
US20050055465A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Generic API for synchronization |
US20060112398A1 (en) * | 2004-11-23 | 2006-05-25 | Sybase, Inc. | System and Methodology Providing Service Invocation for Occasionally Connected Computing Devices |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104854578A (zh) * | 2012-11-23 | 2015-08-19 | 布莱阿姆青年大学 | 用于协同CAx编辑的系统、方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2329363A2 (en) | 2011-06-08 |
EP2329363A4 (en) | 2011-10-26 |
US20100030783A1 (en) | 2010-02-04 |
WO2010014196A2 (en) | 2010-02-04 |
US9477727B2 (en) | 2016-10-25 |
WO2010014196A3 (en) | 2010-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102165416A (zh) | 元数据驱动的移动商业对象 | |
US9348483B2 (en) | Modeling system for graphic user interface | |
US7752165B2 (en) | Persistent query system for automatic on-demand data subscriptions from mobile devices | |
KR101087364B1 (ko) | 철회 기반구조 | |
CN109446570B (zh) | 业务流程展示方法、装置、计算机设备以及存储介质 | |
CN101640587B (zh) | 数据同步方法及装置 | |
CN102804133B (zh) | 一种用于管理系统可扩展性的方法和设备 | |
CN102378975A (zh) | 将协作功能扩展到外部数据 | |
JP2020513600A (ja) | ユーザインタフェース拡張器 | |
CN103716346A (zh) | 一种安卓手机客户端上应用的管理方法和装置 | |
US9207966B2 (en) | Method and system for providing a high-availability application | |
US8166080B2 (en) | Optimized computer diagramming method | |
US8843438B2 (en) | Parameter value binding for mobile business objects | |
WO2007099636A1 (ja) | ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置 | |
CN103501341A (zh) | 一种Web服务的创建方法及装置 | |
CN104317561A (zh) | 一种界面操作的方法 | |
WO2009017550A1 (en) | Programming system for occasionally-connected mobile business applications | |
KR102595140B1 (ko) | 복수의 정보원에서 얻는 정보 및 도구를 통일화하는 방법 및 이를 응용한 컴퓨터 프로그램 제품과 장치 | |
KR20150128714A (ko) | 최적화된 파일 조작을 위한 파일 그룹화 기법 | |
US7213033B2 (en) | Automatically populating an application's working directory with files having a specified type from other directory locations | |
CN109840078A (zh) | 一种协作编辑分层元数据的方法及装置 | |
CN101794217A (zh) | 实现应用程序与文档库系统的扩展模块交互的方法及系统 | |
CN112395252A (zh) | 文件合并方法、装置及电子设备 | |
CN105183491A (zh) | 跨平台的桌面gis系统及其启动方法 | |
CN111966388A (zh) | 节省空间的镜像版本更新管理方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110824 |