CN101208662A - 用于移动数据系统的模块化的应用 - Google Patents
用于移动数据系统的模块化的应用 Download PDFInfo
- Publication number
- CN101208662A CN101208662A CNA2006800084392A CN200680008439A CN101208662A CN 101208662 A CN101208662 A CN 101208662A CN A2006800084392 A CNA2006800084392 A CN A2006800084392A CN 200680008439 A CN200680008439 A CN 200680008439A CN 101208662 A CN101208662 A CN 101208662A
- Authority
- CN
- China
- Prior art keywords
- data
- application server
- application
- business
- movably
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
移动数据集成系统的操作顺序包括操作模块,也称作可移动的应用(“TransApps”),其是自含式的并且能够和其它操作程序以及TransApps链接到一起。每一个操作模块可以接受输入数据并且可以生成输出数据。输入数据可以从其它模块,或者从应用用户,或者从企业数据源接收。可以把输出数据提供给其它模块,或者应用服务器(用于企业数据源),或者可以提供输出数据用于在移动计算设备本身上显示。可以为了具体的问题解答定义模块,并且这种问题解答模块可以在其它应用设计工作期间再使用。这支持再使用早期的对问题的解答。
Description
参考优先权文件
这个申请要求下列优先权的权益:序列号为60/664,121,标题为″用于移动数据系统的数据管理″,由Robert O′Farrell等人于2005年3月21日提交的另案待审的美国临时专利申请;序列号为60/664,088,标题为″用于移动数据系统的模块化应用″,由Robert Loughan于2005年3月21日提交的另案待审的美国临时专利申请;序列号为60/664,122,标题为″用于移动数据系统的适配器体系结构″,由Robert O′ Farrell等人于2005年3月21日提交的另案待审的美国临时专利申请;和序列号为60/667,816,标题为″用于移动数据系统的模块化应用管理″,由RobertO′ Farrell等人于2005年4月1日提交的另案待审的美国临时专利申请。在此要求各个申请日的优先权,并且这些临时专利申请的公开内容在此结合作为参考。
版权通知
这个专利文献的一部分公开内容包含受到版权保护的素材。版权所有者不反对由任何人传真复制专利文献或专利公开内容因为它在美国专利商标局专利文件或记录上出版,然而在别的方面,却保留所有任何的版权权利。
背景技术
1.发明领域
本发明通常涉及移动计算系统并且,更具体来讲,涉及在移动计算系统中的数据管理和数据调度。
2.相关技术说明
高度发展的客户关系管理(CRM)和企业资源计划(ERP)系统可以用来改善交易部门和全体决策人员处理的自动化程度。尽管许多公司因为采用了这种系统已经实现了有效的节省和效率,但真实的情况是:许多机构发现该系统实现起来还是困难的并且难以与现有传统的数据系统集成。
近年来,商业机构和企业正在采用CRM和ERP系统来首先帮助移动员工使用诸如寻呼机和手机以及个人数字助理(PDA)之类的移动计算设备。一个重要的障碍是极大地采用使用这种移动设备的CRM和ERP系统会涉及与企业中的其它数据集成的问题。
因为移动应用程序经常具有专有的,封闭式结构,而这种结构阻碍了和企业的其它数据系统的集成,可能会产生企业数据集成的问题。例如,可以在四个或者五个不同的源中维护企业中的数据。一些数据源包括CRM系统,调度系统,ERP系统,和财务记录系统。这些数据源中的每一个可以使用不同的数据体系结构,格式,和协议。正在被存储的数据以及数据和存取机制的配置是经常改变的。许多移动计算系统创建一种临时的数据存储,其中收集来自于企业中的各种源的数据。以这种方式,可以把来自于不同企业的数据源的数据,其中每一个具有不同的数据体系结构和格式,收集在单个公共的数据库中。移动用户可以通过访问临时的数据存储来访问企业数据,而不是实际的企业数据源。然而,临时存储会产生它自己的数据更新和冲突问题。
必须频繁地执行同步化操作及其他保护,以确保临时数据存储中的数据是企业数据源中的数据的可靠的副本。
众所周知的是提供一种数据集成解决方案,可以使用通过网络服务器联接于企业数据源的移动计算设备。这种系统在于2003年12月23日提交的序列号为10/746,229,转让给美国华盛顿Bothell的Dexterra公司的美国专利申请中进行了描述。这个应用的内容将在此结合作为参考。
Dexterra公司专利申请描述一个系统,其中把数据以分布式方式使用在多个企业数据源到移动客户端之间以致向移动客户端请求接收企业数据,确定包含所请求的数据的适当的企业数据源,并且从确定的企业数据源中重新得到企业数据。当重新得到企业数据时,它被转换为一种相关的格式,即使数据来自不同的非相关类型的多个企业数据源(例如,文件系统,电子邮件,等等)。把转换的企业数据存储在移动客户端中的相关的数据存储中。以这种方式,可以在没有使用临时数据存储的情况下,把移动应用程序与来自于多个企业数据源的数据完全集成并且可以把数据更新和配置变化实时地分发给移动客户端以及来自于所述移动客户端,从而避免了在企业数据源和移动客户端之间的复杂的同步化和异步数据问题。实时数据变化可以包括使用移动应用程序本身的变化,以及数据更新。此外向实时变化提供数据冲突检测和分辩率。
开发者使用提供的工具可以定义将生成一系列个人数字助理显示屏幕窗口的移动应用以致应用用户以有序的方式从窗口到窗口的进行。以这种方式,应用提示用户适当地操作所需要的数据,应用开发者能够自由的形成将适合手头目的的操作的逻辑次序。随着他们需要的改变,这种设计工具对想要修改它们的系统操作的开发者,以及应用管理员具有很大的帮助。
在参照上述Dexterra公司系统中,为开发者提供工具以定义包括一系列个人数字助理显示屏幕窗口的移动应用以致应用用户以有序的方式从窗口到窗口的进行。随着输入数据和在窗口中提供响应,移动应用将用操作程序显示随后的窗口。包括应用的窗口的序列称为″力流″。在力流中的任何单个窗口处,用户响应可以引起显示对话框或者数据输入窗口。用户可以提供与力流窗口相关的数据,从该力流窗口中生成对话框。可以显示多个对话框,以提示应用用户在恢复力流窗口序列之前输入适当的数据和响应。这种从力流临时的绕路被认为包括″现场流″。在开发者定义力流和现场流显示的详尽的补充之后,可以将他们链接在一起以提供想要的移动应用。
如果可以更快速的以及用更少的努力发展新的应用,将会更加方便的调度和维护这种移动数据集成系统。本发明提供这些特征。
概述
根据本发明,支持移动数据集成系统的操作程序以致这种操作程序包括操作模块,也称为可移动的应用(″TransApps″),其是自含式的并且能够和其它操作程序以及TransApps连结在一起。每一个操作模块可以接受输入数据并且可以生成输出数据。输入数据可以从其它模块,或者从应用用户,或者从企业数据源接收。可以把输出数据提供给其它模块,或者应用服务器(用于企业数据源),或者可以提供输出数据用于在移动计算设备本身上显示。以这种方式,可以为了具体的问题解决方案定义模块,并且这种问题解答模块可以在其它应用设计工作期间再使用。以这种方式,可以一再地使用早期的问题解决方案,并且可以利用从用户群体得到的知识和经验用于更大的影响,从而增加移动数据集成系统的效果。
本发明其它的特征和优点应该从下列最佳实施例说明中显而易见,该最佳实施例举例说明,例如,本发明的原理。
附图说明
附图1是用于根据本发明构造的移动企业平台的适当的计算机系统环境的方框图。
附图2是附图1中举例说明的移动企业平台中的数据的逻辑结构的方框图。
附图3是举例说明附图1中的企业数据源和移动客户端之间的连接器接口的方框图。
附图4是力流和现场流的示意图,从该力流和现场流中可以根据本发明构造移动数据应用。
附图5举例说明用于DAD应用设计者程序的图形用户界面显示窗口的屏幕快照。
附图6是收集编辑器屏幕快照的例子。
附图7是用于TransApps供业务对象收集使用的DAD应用设计者程序的业务对象编辑器的示例性的屏幕快照。
附图8示出力流设计者接口允许DAD用户添加和编辑将由力流执行的操作。
附图9示出力流收集编辑器显示DAD用户可以使用力流收集的视图元件并且选择任何感兴趣的力流用于观看和操作。
附图10示出菜单项收集编辑器显示DAD用户可以用于向力流页添加菜单项。
附图11示出工具条按扭收集编辑器显示DAD用户可以用于向力流页添加工具条按扭。
附图12示出映射编辑器显示DAD用户可以用于指定数据映射。
附图13是举例说明根据本发明在执行可移动的应用模块中由计算机系统执行的操作流程图。
详细说明
在根据本发明的移动数据集成系统中,移动应用可以通过定义力流和现场流显示,以及通过指定一个或多个操作模块,也称为可移动的应用(″TransApps″)来指定。操作模块是自含式的并且能够通过元数据链接到其它操作模块和单独的力流和现场流。操作模块的细节将在描述完整个系统结构之后,在下面更详细的提供。
I.系统概述
本发明提供一种系统,其中从多个企业数据源到执行移动应用的移动客户端使用数据以致移动应用程序与多个企业数据源集成,并且可以在没有使用临时数据存储的情况下,把数据更新和配置改变实时的分发给移动客户端以及从移动客户端实时的接收。消除临时的数据存储设备避免了企业数据源和移动客户端之间复杂的同步化和异步数据问题。因而,可以实时地从企业到移动客户端,以及从移动客户端到企业传递用于移动应用程序的数据更新和系统配置更新。不需要特殊的同步化操作,因为可以通过系统实时地传播变化。
II.系统平台
附图1是根据本发明构造的适当的计算机系统环境100的方框图。附图1示出诸如个人数字助理(PDA)设备之类的移动客户端设备102,其结合微软的PocketPC或掌上个人数字助理操作系统进行操作。移动客户端设备经由网络连接104和应用服务器106通信以从服务器中请求数据以及接收数据更新,提供新数据,和接收配置改变。应当被理解的是:多个移动客户端102可以与服务器106通信。为了画图简单起见仅仅在附图1中示出单个的客户端设备102。
移动客户端102使用服务器端连接器Web服务用于从多个企业数据存储中进行实时数据检索。此外,移动客户端使用服务器端数据管理器Web服务用于管理实时客户端数据更新,服务器端数据更新和系统配置更新。
应用服务器106与企业数据源108,诸如CRM数据源,ERP源,金融系统源,遗产数据存储等等通信。在图1中举例说明的示例性的企业数据源包括:包括来自于美国加利福尼亚州San Mateo公司的Siebel系统的″Siebel″软件的数据;来自于美国加利福尼亚州Redwood Shores的Oracle公司的″Oracle″软件的数据;来自于德国Walldorf的SAPAG的″SAP″软件和遗产软件的数据。正如进一步地在下面描述的,管理员应用程序110和开发者应用程序112与应用服务器106通信,其也存储用于系统的元数据114。
应用服务器106提供用于数据交换和更新,用户鉴别,安全,和系统日志服务的数据管理,配置,和数据连接器Web服务。应用服务器也以商业信息和规则的形式维护商业处理管理。
移动客户端102也包括数据存储116,其包括存储商业数据120的关系数据库118以及存储用于移动客户端上的应用程序执行的元数据122的关系数据库。在移动客户端102处安装的应用程序124包括各种执行适当功能的软件组件。例如,应用可以包括现场服务应用,其通知现场服务员关于已经请求服务的位置,解释服务请求的属性,并且提供记录服务访问和结算帐目。应用124可以包括多个应用,处理由移动客户端102请求的数据。
管理员应用110和开发者应用112一起包括″Studio″组件130。在举例说明的实施例中,把管理员和开发者提供为两个独立的应用,并且提供一个装置来配置系统,包括元数据的数据和应用接口。
系统100包括支持服务应用124的移动企业平台。系统提供一组有效地采用和管理移动软件解决方案的Web服务以增强移动商业处理。常见的范例包括集成到CRM或ERP,销售人员自动控制(SFA),和用于企业的客户支持以及帮助台功能。这种企业应用取决于交叉应用的交互作用,因为来自于一个功能或系统中的数据常常由不同的功能或系统使用。当在移动客户端上执行时,在多个企业软件应用程序,遗产数据系统,和移动工人中使用现有的应用功能性和企业信息。以这种方式,对于这些应用和对于移动企业平台可以实现显著的投资回收率。
移动企业平台100在现场中提供简化使用移动客户端和相关的便携式设备的Web服务。这些Web服务包括数据管理功能,配置功能,和连接器功能。这些将在下面进行非常详细的描述。在移动客户端102上安装的应用124已经由应用服务器106适当的初始化他们之后,可以在任何连接的或断开的状态下是全功能的。
III.逻辑结构
任何使用图1中举例说明的移动企业平台的客户应用将使用图2的方框图中举例说明的系统部件。这些部件包括:
商业对象-基于商业概念的可编程的对象,结合来自于不同的企业数据源的现场和有关的信息(例如诸如客户,联系人,资产,任务等等之类的数据源)。
商业规则-常规逻辑以使用具有针对来自于企业数据源的商业数据应用的校验的商业常量实施商业处理。
商业常数-用在整个客户应用中的用户可配置变量,和客户机和服务器端商业规则(例如商业规则,警告消息等等)。
数据源连接器-设计成无缝提供对各式各样的企业数据源访问的数据源连接器(例如诸如依据Oracle和SQL Server的那些已格式化的数据库,诸如MQ Series或MSMQ的通信系统,诸如Siebel或Peoplesoft的CRM应用程序,一般Web服务等等)。
商业处理-比喻,诸如美国华盛顿Bothell的Dexterra公司的″力流″处理,其定义视窗到视窗的导航范例用于模型化商业处理。
视窗-标准可视显示屏幕的组合(例如,视图,编辑,查找等等),具有事件驱动逻辑,该逻辑被设计成显示信息,搜集信息,和指导用户通过给定的商业处理,此处参照为″力流″或者″现场流″。
视图-可变更的表示从企业数据源中标识的数据或由一个或多个商业对象使用的应用。
过滤-可以被施加于视图以修改可用于商业对象的数据的过滤器。
这些部件可被用于指定任何客户应用的配置(逻辑结构),而使用诸如微软公司″.NET″之类的技术框架和诸如微软公司的″Visual Studio.NET″之类的工具构造上述客户应用。那些本领域中的技术人员将熟悉这种编程工具以指定应用和它的关联数据对象。
图1中举例说明的移动企业平台实现为元数据驱动框架。框架提供集成的客户机和服务器Web服务,使能连接,配置,数据管理服务,这些对采用故障安全,关键任务移动企业解决方案来说是必需的。
附图2举例说明了在图1的移动企业平台中,映射关系数据库表和外部应用商业对象的结构以作为元数据视图。由也在元数据中定义的,由移动应用依次使用的商业对象使用一个或多个视图。移动应用使用客户端框架,被称为″Dexterra Smartclient″,其管理商业对象的实例化,对保存在移动客户端设备上的底层的物理数据库的本地数据访问,设备集成,以及经由数据管理器和/或连接器Web服务的客户端-服务器数据通信。在平台内,在元数据内定义和维护所有逻辑层的规格(例如,商业对象,视图,过滤器,和连接器)。
把移动企业平台构造为逻辑栈,设计成以逻辑结构的形式来自于所有的但是非相邻部件中的隔离层。在逻辑栈的底部,目标层,是驻留在企业数据源后端中的数据。在适当的位置平台与源数据一起工作,并且在将被复制到中间层复制数据库的记录的后端系统内不需要信息。也就是说,不需要临时数据存储。这提供设计以及实时数据访问中的灵活性并且可以帮助减少平台和应用的所有权的总成本,并且帮助简单化数据管理的处理。
在逻辑栈中向上的下一层是连接器层。连接器层提供可编程的结构,以相关的格式描述后端数据存储给应用服务器。关于如何连接到企业数据源,以及安全设置(诸如验证方法和用户以及组定义)的信息存储在元数据内,并且使用管理员组件进行维护。
堆栈中的下一层是视图层,其包括提供一对一映射到企业数据源后端中的对象或表的对象。例如,如果后端系统具有叫CUST_ADDR(客户地址)的表,并且需要来自于表的数据用于应用中,那么将在管理员组件中创建视图。可以调用管理员视图,例如CUSTOMER_ADDRESS,以表示在企业数据源之外,移动企业平台的环境中的数据。应当被理解的是:视图具有对应于后端系统中的数据对象的属性或栏的属性。然而,不需要的是要求后端数据源中的所有的属性为视图中的属性。实际上,在刚刚提供的例子中,在管理的组件中定义需要的属性并且把它存储为元数据,属性可以包括诸如ID,STREET_ADDR,城市,状态,和ZIP_CODE之类的字段。
此外,用户可以在视图内定义属性的数据类型,并且这些数据类型可以独立于与企业数据源中的对应的属性的数据类型。可以被标识的视图属性的其他选项是唯一标识符,只读,索引,需要的属性和长度。把上述所有信息存储为元数据。
视图层也提供一个数据冲突的指示,以及提供一个用于解决这种冲突的装置。例如,只要在正在从移动客户端上传的对象和在所述服务器存在的对象之间存在数据变化就可能发生数据冲突。解决这种冲突可以在视图层执行,实施诸如允许最新的数据变化始终优先的商业规则,或根据数据类型(例如现场数据或客户帐目数据)允许来自于特殊源(例如移动客户端或企业数据源)的数据变化优先。这在下面会结合数据管理器Web服务进一步地进行描述。
正如图2所示出的,可以针对多个数据存储中的多个对象定义视图,因而在应用程序调度方面以及在使用现有的系统时提供灵活性,而没有数据复制的负担。就象连接器一样,视图的定义存储在元数据中,并且由管理员管理。本领域中的那些技术人员在没有进一步解释的情况下将要理解元数据中的数据定义的细节。如上所述,可以把滤波器应用于视图,以修改传送到下一层的数据。管理员提供视图管理特征,包括基于对象接口或(来自于企业数据源的)后端数据存储对象的表格定义自动创建视图的视图向导。
图2中向上的下一层图表包括商业对象,其被映射,或被关联到一个或多个视图。平台的商业对象是当构造定制的移动应用时开发者将与其接口的可编程的实体。商业对象包括多个属性,每个属性可能具有简单的数据类型,或可能是另一个商业对象。因为平台的商业对象可以被映射到多个视图,开发者可以同表示来源于多个,不同种类数据源的数据的单个实体一起工作。因而,根据本发明的移动企业平台定义的单个商业对象可以包括来自于多个,潜在不相容的企业数据源,诸如来自于不同专有格式的数据。
在创建或修改用于移动应用和移动客户端设备的应用中,开发者可以与商业对象层单独地互相作用。这使开发者免受任何对理解或直接地与用于源数据的后端系统(企业数据源)互相作用的要求。以这种方式,商业对象层提供了基于对象的用于应用开发者的接口,提取存留和取回数据的细节。不需要开发者直接地与移动设备上的本地数据存储交互。此外,由于不连接数据的属性,移动客户端,通过商业对象接口,通过在客户端中本地存储将在更新处理期间被传送到应用服务器的数据变化来自动地管理数据变化的处理。这进一步使开发者与这个老一套程序设计任务隔离。
商业对象作为元数据存在在移动客户端设备上,并且也使用管理员进行管理(图1)。移动企业平台自始至终的使用元数据提供了一个环境,其中可以通过图形用户界面而不是编码配置大部分的数据实体的属性和行为。
移动企业平台的驱动元数据的属性能够在移动客户端上通过无状态的服务器体系结构执行商业处理。通过元数据,可以配置和定制移动应用。元数据参照商业企业数据定义商业对象的结构给移动设备并且定义触发管理商业处理的商业规则的事件。
元数据数据库包含交叉功能,通过连接器陈述的以配置商业对象的交叉应用后端商业信息的参考。通过Studio组件(图1)实现这个处理以配置和参考连接企业数据源商业信息和商业对象。这提供了通向用于移动应用的具体数据的路径,确保没有来自于企业数据源的商业数据以本地数据格式存储在应用服务器或任何其它临时的用于数据更新的系统的数据存储上。这种非入侵的以及实时同步的使用元数据的方法允许移动企业平台以最小量破环有效地连接到后端系统同时最大化交叉功能的数据访问,数据一致性,和数据完整性。
IV.移动企业平台组件
A.移动应用程序
如上所述,移动客户端102(图1)可以包括安装的应用124,实现企业的商业处理。应用可以平衡如上所述的移动企业平台,并且演示应用程序如何例示驱动元数据中配置的商业处理的商业对象。
例如,任务或工作定单信息将通过视图提供给移动应用并且将经由商业对象进行访问。在经由视图定义取回商业数据中,使用数据管理器Web服务,商业对象可以向移动应用传送商业数据以描述所述任务。这个数据被存储在移动设备的本地关系数据库上。当把对任务数据的更新提交给来自于应用程序的请求中的任务商业对象时,人工智能客户端应用将存留变化给移动客户端上的数据存储定义的视图,然后人工智能客户端经由数据管理器Web服务管理数据更新返回到原始数据源,确保数据完整性和一致性。
通过使用在此处所述的移动企业平台中可用的Web服务的深度,宽度,和功率(例如,连接,配置,和数据管理服务),可以容易地构造一大组移动应用,包括诸如销售人员生产率,客户服务,和支持解决方案之类的应用。这种应用可以与广泛的一组纵向应用集成,该纵向应用包括油/汽,卫生保健/医疗和财经服务行业解决方案。
B.服务器组件
应用服务器是驱动元数据的平台应用的类型并且向移动客户端提供信息,应用,和商业处理,并且确保移动企业平台和后端企业数据源主机之间管理的数据的完整性。应用服务器是基于过程的,高性能的解决方案,其建立在来自于使用″.NET″技术的美国华盛顿Redmond的微软公司的″.NET″技术上,移动企业解决方案是一个框架,该框架是通过使用XML和SOAP的本地的Web服务用于数据交换和传送。应用服务器提供三个核心Web服务,如图1的功能结构图表中所示:
连接器Web服务
连接器Web服务传送非入侵的现有企业应用基础架构的集成同时保持控制移动客户端和不连续的企业数据源之间的数据完整性状态。
配置Web服务
配置Web服务管理定义商业数据,商业对象,商业规则,商业常数的元数据,和诸如验证,系统日志,安全之类的系统配置,和包含被传送到移动客户端的移动应用-驻留在移动设备上的组件应用的任务。
数据管理器Web服务
数据管理器Web服务安排移动客户应用,应用服务器,和第三方的企业数据源之间的更新交互作用。此外数据管理器Web服务提供直接与连接器层通信的能力用于实时查询。数据管理器Web服务以这种方式提供灵活性,即由多用户对多个企业数据源管理关于多个更新的各种状态以增强数据的完整性。数据管理器Web服务能通过应用服务器或指向任何API和/或第三方公布的Web服务实现这个。
以这种方式,数据管理器Web服务可以在整个系统的移动客户端中管理应用更新和数据变化的调度。
接下来将更详细地描述这些组件中的每一个。
1.连接器Web服务
连接器Web服务设计成能支持和任何ODBC适应的数据源或Web服务API通信。连接器Web服务允许客户基于在一个或多个第三方系统中存储的数据定义和构造视图。连接器Web服务具有公开的接口,允许标准大小更新以及来自于移动客户端的实时数据访问。
连接器Web服务提供应用服务器元-应用程序和企业数据源的专用接口之间的物理层连接。连接器支持数据库争端管理和通知服务,交易管理,和错误处理。在默认的客户配置中,客户采用具有ODBC或Web服务连接器的移动企业平台系统。那些本领域中的技术人员将能给最常见的企业系统,诸如Siebel,SAP,PeopleSoft,Oracle,SQL Server等等生产连接器。
例如,″Oracle″应用连接器允许客户给Oracle支持服务,或者通过最精密的数据结构用户具有API(诸如PL/SQL过程)或通过ODBC直接给企业数据库本身打电话。就象所有的ODBC连接器一样,自动地执行关系型数据库管理系统(RDBMS)方案的动态地问号,陈列出具体的数据库的结构设计。这给予客户一个实际接口的分级视图进入到系统里。
图3示出连接器如何接口企业数据源到移动企业平台的例子。图3的左边是表示多个企业数据源,包括ERP数据源302,CRM数据源304,HR/Finance数据源306,Legacy/ODBC数据源308,并且可以包括其它Web服务或其它源(未示出)。图3的中间部分是表示元数据312,其指定应用服务器314如何将来自于不同企业数据源的数据存储并且关联在移动客户端316中,将其表示在图3的右边。
因而,在这个例子中,识别为ORDER_ID的数据存在于ERP数据源中。识别为F_NAME和L_NAME的数据存在于CRM数据源中。识别为CRED_LIM的数据存在在HR/Finance数据源上,并且识别为保单(WARRANTY)的数据存储在Legacy/ODBC数据源中。所有这些识别的数据存储在企业数据源,诸如在后端办公系统中。
在元数据312中,来自于企业数据源的数据定义被映射到视图,该视图用于创建客户端上的数据存储以及在移动客户端上存储来自于关系数据库中的企业数据源的相关的商业数据。通过定义的以及存储在移动客户端上的元数据中的商业对象层执行对这个商业数据的访问。如图3中所示,来自于ERP数据源的ORDER_ID被映射到称为ORDER_ID的商业对象属性,它的相关定义被存储在移动客户端316上的元数据318中并且由一个或多个也在元数据中定义的移动应用程序使用。来自于CRM企业数据源的F_NAME数据被映射到(存储到)存储在移动客户端数据库中的名商业对象属性定义,并且L_NAME数据被映射到姓(Lastname)商业对象属性。类似地,来自于HR/Finance数据源的CRED_LIM数据被映射到CreditLimit商业对象属性,并且来自于Legacy/ODBC数据源的保单(WARRANTY)数据被映射到保单(WARRANTY)商业对象属性。因而,来自于潜在地相异的以及不相容的全异的企业数据源302,304,306,308,310的数据通过数据管理器Web服务到本地数据存储(由从企业数据源到应用服务器314的多条线表示)以适当的格式提供给移动客户端用于使用移动客户端上的多个商业对象的其中之一访问(在具有实测值的移动客户端316中表示的)。
连接器类型
由连接器Web服务支持的连接器包括下列三个连接器类型:
1.当移动平台连接到第三方的系统时使用Web服务连接器,该第三方的系统或者是(a)非ODBC-适应的,或(b)不允许ODBC/RDBMS连接性,或者(c)它的接口由标准的API定义并且可以被包装以及由Web服务描述符语言(WSDL)定义。
2.当把移动平台连接到第三方系统时使用ODBC/RDBMS连接器,该第三方系统是(a)ODBC适应的和(b)允许直接的ODBC/RDBMS访问以及(c)它的数据物理位置上位于相同的局域网环境内或通过支持传送的通信协议(诸如RPC,TCP等等)而可访问。
3.API连接器与Web服务连接器相似但是(a)需要将可通过诸如RPC的非互联网协议访问的API和(b)如果Web服务接口不可用则其可使用。
通过ODBC/RDBMS连接器读取方案,通过使用移动企业平台的Studio部分130(图1),使用管理员应用实现信息。Studio部分被用于配置映射到后端数据源的视图定义以及映射一个或多个视图的定义到一个或多个商业对象。当定义视图定义或映射视图到商业对象时,使用管理员,信息被存储为元数据。在使用应用服务器和企业数据源更新处理期间,读取元数据以确定如何读取,存留以及删除所述数据(选择/插入/更新/删除功能)同时使用这种冲突检测/解决功能,两者固有的交易管理和增强数据完整性,并且适当的补偿。
使用ODBC/RDBMS连接器,通过ANSI结构化查询语言语句和/或在微软公司结构化查询语言服务器或Oracle的关系型数据库管理系统(8i,9i等等)的情况下的存储过程读取,存留和/或删除数据。使用Web服务/API连接器,通过呼叫适当的API功能或用于交易的方法读取,存留和/或删除数据。
2.配置Web服务
通过Dexterra Studio使用的配置Web服务对于管理员,商业分析员和开发者提供了容易的能共同操作的方式以实现,配置,和管理Dexterra移动企业解决方案。配置Web服务允许很容易的操作用于配置和定制数据的元数据和移动应用的过程定义。参考管理员组件的特征将会更好的理解这个服务,在下面将会更详细的对它进行描述。
3.数据管理器Web服务
更新处理模型
在系统中使用更新处理模型,其中移动应用使用一组为了更容易的互操作性作为Web服务列出的核心网络组件更新它们本地的保留数据(或者应用或者它的商业对象)和后端企业数据库。
数据管理器Web服务更新移动应用程序和它所有关联的商业对象定义的数据。更新处理模型能够通过Dexterra应用服务器和移动客户端在企业数据源之间双向数据传送,允许将要进行的更新同时移动客户端连接到网络,当客户端互相连接时合并客户端之间的更新。当处于断开状态时,在客户端环境中管理更新,直到获得连接状态以及开始更新请求的时间为止。
更新处理模型采用″孤注一掷″的方法。如果在从应用服务器中下载整个流到移动客户端上之前(或在从客户端上传整个流到服务器之前)发生失败,那么应用服务器上的数据管理器Web服务不接收关于下载处理(或上传)的确认。因而,关于它是否需要返回到数据或简单地重试,服务器具有智能作用以管理客户端状态。当移动客户端第二次执行更新处理操作时,应用服务器考虑了原始信息状态并且如果应用服务器已经处理了则可以传送结果或者在从不由应用服务器接收这样的情况下,再一次处理所有需要的信息从而增强只要并且仅仅只要在移动客户端和应用服务器之间传送信息的可靠性。最终因为它从移动客户端移动到一个或多个后端数据源,这增强了数据的完整性。
更新处理故障
支持两种类型的更新处理:
1:最近获得:在这个更新类型中,移动客户端请求从企业数据源中通过Dexterra应用服务器获得最新信息。Dexterra应用服务器处理请求并且从多个数据源中使用Dexterra连接器Web服务取回商业信息和向移动客户端传送所述商业信息。
2:更新(第2种更新方法):在这个更新类型中,使用Dexterra冲突解决配置的参数,交换客户机和服务器端两者上的记录以增强在移动客户端和后端企业数据源两者上的数据的完整性。
冲突检测/解决
冲突解决描述了用于关于由移动客户端和一个或多个后端企业数据源之间产生的变化所引起的数据冲突的仲裁的规则。这首先通过识别冲突(检测)并且随后以一个或多个不同的方式解决(解决)冲突来完成。
Dexterra应用服务器可以用三种方式的其中之一检测冲突:修正,日期/时间戳或人工并且用行或列等级标识冲突情况。
修正是一个设置,其中在单个记录源中标识专用字段或属性作为修正并且Dexterra应用服务器将使用这个以确定数据是否已经在后端数据源或者移动客户端上变化。
日期/时间戳
日期/时间戳是一个设置,其中在单个记录源中标识专用字段或属性作为日期/时间戳并且一旦有任何插入/更新或删除则进行更新并且Dexterra应用服务器将使用这个以确定数据是否已经在后端数据源或者移动客户端上变化。
人工是一个设置,其中在单个记录源中没有专用字段或属性来标识冲突状态因此Dexterra应用服务器比较所有的字段或属性数据以定义唯一性并且检测数据是否已经在后端数据源或者移动客户端上变化。
根据Dexterra应用服务器的配置,以四种方式的其中之一解决冲突:首先更新Wins,最后更新Wins,管理员解决或服务器端规则。
首次更新Wins
在首次更新模型下应用服务器将仅仅接受任何第一个进行更新的记录的变化。如果由后端数据源首先更新一个记录并且由更新Web服务检测冲突,代替返回一个错误,数据管理器Web服务将丢弃由客户端提供的版本并且从后端企业数据源返回所述记录的最新版本的副本给移动客户端。
最后更新Wins
在最后更新Wins模型下,服务器无需检测冲突。作为替代,它简单地存留从移动客户端到后端企业数据源的变化用于改写后端企业数据源中的当前记录。
管理员(或人工)解决
当配置的用于管理员/人工解决,服务器将把所有的冲突视为需要人工干预来解决并且将从后端企业数据源返回当前记录的副本并且经由任何通知服务(SMS,电子邮件等等)选择性地通知冲突情况已经产生并且允许经由Dexterra管理员解决。允许列等级冲突解决这样做是因为管理员确定所述值以选择性地再用回到后端企业数据源。
服务器端规则
可以创建可定制的服务器端规则以更加可编程控制地和明确地确定某些冲突状态应该如何解决。例如,可以根据记录中的数据值解决冲突。这个灵活性允许围绕着冲突解决方案完全控制具体的动作。
从服务器中的客户端调度
应用服务器包含一个或多个移动字段应用的定义,该移动字段应用将被下载到移动客户端,包括表示为任务的视窗/屏幕(被称为″视窗流″),数据交互作用(被称为″现场流″),和构造到商业处理/工作流(称为″力流″)中的多组视窗流以及现场流。在下面进一步描述视窗流,现场流,以及力流。应用定义还包括配置的关联到诸如视图,商业对象,商业常数定义之类的应用的元数据。还包括在调度中的是来自于一个或多个后端企业数据源的特殊的商业数据,需要在″偶尔地″连接状态中运行移动客户端。
应用服务器提供传递和管理应用并且连接到现有的企业数据源和系统的基础。应用服务器分配移动企业平台应用到诸如袖珍的个人计算机和Tablet个人计算机装置之类的移动设备并进行管理,在领域中提供对所有用户界面的高易控制的管理。
C.管理员组件
如上所述,管理员组件(图1)允许系统管理员执行相对规则的或频繁的改变。管理员组件以适合于商业分析员或管理员的格式提供对决策变量,下拉列表内容,及其他信息的访问以进行管理。这种管理的方法允许系统管理员扩展很多的下至管理员级别的功能而不会损害系统完整性。
例如,可以通过商业对象定义视窗接收包括用于定义企业的商业处理的商业信息的数据。配置Web服务提供对管理员组件这方面的访问。
D.客户端组件
如上所述,企业平台体系结构中的客户端102(图1)提供框架,其中移动应用允许使用被称为″力流″,″现场流″,和″视窗流″的技术,和使用Web服务来使用基于任务的商业处理,因此能够经由诸如因特网之类的LAN/WAN网络,经由有线与无线连接在移动客户端和Dexterra应用服务器以及企业数据源之间通信。在客户端装置上运行的移动应用以这样的方式运行,即其被优化用于提供一个例外的小的视窗-因素的装置,很容易学习用户经验。
在举例说明的系统中,客户端是一个知道的元数据的对象框架,其利用微软公司的″.NET小型框架″构造。客户端组件能够在移动设备上传递企业类应用功能性,其优选的是根据来自于微软公司的″掌上电脑″操作系统或微软Tablet个人计算机操作系统工作。客户端组件还与现有的″掌上电脑″功能性集成以提供无缝的与掌上电脑界面的日历,任务,以及今天屏幕功能性的集成。从而它提供一种稳定的,有效的工作环境。
视窗流,现场流,力流
任何以显示屏幕的形式的商业处理任务或步骤或操作被称作″视窗流″。视窗流被用于启动处理称作″现场流″的交互作用,其允许启动被称作″力流″的商业处理。现场流允许启动″频带外的″力流以把真实世界的弹性理论带给商业处理。
视窗流被分成三种类别:(1)信息;(2)动作;以及(3)更新。信息视窗流是由移动用户显示信息需求的屏幕以实现商业处理中的下一个逻辑任务。动作视窗流是显示用户可能需要做或执行的事情的屏幕。更新视窗流是当移动用户被提示输入将被返回到主应用(企业数据源)的数据时显示的屏幕。
例如当一部分也许已经失败并且可能需要执行详细目录数据库的检索以看看是否存在任何匹配的部分或类似的具有答案的问题并且是可用的时,可能需要现场流,调用查找,或者当一部分可能需要被排序或被分配或被预定用于传递给客户端时,可能需要现场流,现场流调用更新。
力流是商业处理,因此是视窗流和现场流的集合。力流的例子可能是与工作或分派事件相关联的时间,旅行,和费用记录。
返回去参照图2,这个方框图示出了目标应用中的栏和字段之间的关系如何与″视窗流″中的信息有关(商业处理中的表示为应用中的″视窗″的步骤)并且关联到力流(商业处理)中。在一个视窗流中能有许多商业对象并且在任何商业处理中可能超过一种视窗流。
当在移动应用中被参考时过滤器允许将被配置到数据上的特性和状态。例如,可以检测到数据类型(例如日期),有效的类型(例如仅仅星期一至星期五),和任何冲突状态。可以配置其它滤波器特性和状态。
视图定义数据和供一个或多个商业对象用的存储位置,并且商业对象可以基于一个或多个视图。这允许附加的将被关联的特性。例如,商业对象可以被称为″客户″,其可能包括标准客户明细;位置,联系人,详细目录,以及SLA和其它属性,即应用想要分类为客户但不保留在相同的目标表乃至目标申请中。
附图4是力流和现场流的示意图,从该力流和现场流中可以根据本发明构造移动数据应用。图4是示出包括从左到右穿过附图延伸出的力流顺序404的操作顺序402的流程图。现场流406向下扩展页并且邻近于向下扩展的第二个现场流408。力流404包括多个显示窗口,从初始的起,剩下大部分的显示窗口410后面是第二显示窗口412。附图中的箭头指示操作顺序,由顺序的显示窗口表示,其将通过应用执行。第二显示窗口412包括向图纸下方扩展的两个现场流显示窗口414,416。应当被理解的是:在用于现场流406的处理完成之后应用的操作返回处理到第二力流窗口412。在第二力流显示412之后,第三显示窗口420也包括向图纸下方扩展的现场流显示窗口422,表示第二现场流408。在现场流408的操作完成之后,应用继续到下一个力流显示424并且随后是下一个426。
使用先前的开发者工具,诸如在上述参考的Dexterra公司专利申请中描述的,可以通过指定编辑力流404和现场流406,408的显示窗口的顺序定义应用程序402。每一个显示窗口将由收集的对话框,文字和图形定义。一个适当的可以实现这种规范的开发组是可以从美国华盛顿Redmond的中获得″.NET″可视图象Basic组。每个显示窗口410-426以这种方式定义可以被链接以便执行图4所示出的操作顺序。
E.可移动的应用程序
根据本发明,多个应用窗口的集合可以被指定为模块,或可移动的应用程序(也被称为系统的″TransApp″)。例如,诸如可以用图4力流显示窗口412,420,424和它们的关联的现场流显示窗口414,416,422表示的操作集合可以包括完成一次追踪功能的TransApp以提供时间表功能,使外勤工人能够输入工作的时间和关联数据。以同样方式完成操作的收集,以便作为由力流412,420,424和现场流414,416,422示范的按照使用此处所述的TransApp技术说明的操作的收集将在移动平台上提供和按照没有使用TransApp技术说明的操作的收集一样相同的输出。在这点上,此处所述的TransApp技术提供对″强力″技术模块化的替代,该强力技术指定每个力流显示页,指定每个关联的现场流显示页,指定它们之间的数据链路,并且在应用程序中存储操作收集以用于此处所述的移动平台。从而,结合TransApp技术提供的开发工具允许更方便地并且高效的开发移动应用程序。
当定义应用时,根据本发明提供的开发工具使应用开发者能够通过从模块库中指定那个模块而使用先前写入的模块。从而,使用先前的工具,开发者可以定义用于第一力流窗口410的显示窗口对话框和关联的文本,并且随后定义用于第二窗口412的对话框和文本,接着定义第一现场流406的显示窗口414,416,然后定义下一个力流窗口420等等。然而根据本发明,开发者仅仅需要指定第一窗口410并且随后可以通过从TransApps库中指定具体的TransApp,来指定显示窗口412,420,424和它们的关联的现场流显示窗口414,416,422的时间追踪功能性。开发工具也允许用户创建新的TransApp操作收集,于是用TransApps执行一般的编辑功能,诸如编辑现有的TransApps,副本,删除,重命名等等。以这种方式,开发者可以利用先前定义的模块化操作用于再使用。这使得图1的应用开发系统更加有效,并且增加了灵活性。
V.开发工具组件
可以指定操作模块使用的开发工具可以包括多个功能组件。将根据用于移动平台的开发应用使用功能组件,使用其将构造并配置TransApps。如上所述,可以将TransApps包括在系统应用内用于经由此处所述的移动平台调度,以便提供期望的功能性,其中移动客户端将与服务器通信以赢得从多个企业数据源中对数据的访问。在这一讨论中,开发应用将被称为数据适配设计者(DAD)。DAD包括可以安装在任何计算机上的具有适当的资源的开发应用程序以支持程序的操作。例如,DAD应用程序可以被安装在诸如图1的存有Dexterra管理员程序的计算机110或存有Dexterra开发者程序的计算机112的计算机上。DAD将产生移动应用程序,然后其可以被安装在此处所述的移动平台的服务器314上(图3)。可替代地,服务器计算机可以存有产生应用程序的DAD应用程序。优选的是,DAD将支持使用包括下列内容的功能组件:
商业规则设计者
商业对象设计者
力流设计者
现场流设计者
组件设计者
这些组件将使移动平台的应用的设计者能够高效地设计并指定操作模块,指定先前定义的操作模块用于包含在内,并且从而高效地设计并实现移动应用。将在下面进一步详细地描述这些工具。
A.数据适配设计者(DAD)
DAD提供连接到,以及构造用于任何企业数据源适配器的数据组件的能力。在举例说明的实施例中,根据此处所述的移动平台,DAD和适配器使用″NET″插件。那些本领域中的技术人员将理解由美国华盛顿Redmond的微软公司提供的″.NET″配置的工作。移动平台的组件包括连接对象,命令对象,数据对象,和视图。
为了创建或修改用于移动平台的TransApp,用户将使用DAD来创建连接对象以使用数据源适配器赢得对后端企业数据源的访问。如前所述的,企业数据源适配器被配置为与多个数据源的全异的数据结构接口。使用发现或intraspection处理,或预定的描述,连接对象将列出任何可用的数据接口对象,它们都是可用的。将通过适配器陈列数据接口对象正如表,存储过程,脚本,或者对象。使用DAD,用户于是将创建一系列命令对象,其通过适配器执行特定动作,执行诸如选择,插入,更新,和/或删除之类的动作。DAD用户因此能定义一个数据对象,其中他们将选择适当的选择命令,插入命令,更新命令,和/或删除命令。然后视图被绑定到数据对象用于它的请求和响应动作。
以这种方式,DAD工具使开发者能够从一个或多个映射到服务器内的单个定义的数据对象的后端企业数据源请求和存留数据,从而提供概括为物理数据结构和接口能力的层。一旦服务器应用已经因此定义和实现,移动客户端可以经由移动平台服务器接入到企业数据源,其使用连接,命令,数据,和视图平台组件的定义以确定如何以及什么数据取回或存留到后端企业数据源中。
图5举例说明了用于参照上述的DAD应用设计者程序的图形用户界面显示窗口的屏幕快照。图5显示允许DAD用户设计移动应用供连接此处所述的移动平台之用。图5示出显示窗口包括菜单栏用于文件和视图菜单以选择将在它们上通过DAD程序执行的TransApps与操作。将被执行的操作可以包括创建,打开,保存,编辑,删除,拷贝,链接等等。图5显示窗口包括工作区域(屏幕快照的左边)其中一个用户可以用图表表示地方式安排操作TransApp的顺序,以指定互连的力流横向地穿过显示页以及指定互连的现场流垂直地上下穿过所述页。各种力流和现场流的显示页表示为图5中的表格。通过图5中举例说明的DAD的界面,用户可以创建和配置移动应用,并且用户可以添加用于移动应用在客户端显示页的TransApps,力流,表格,动作,商业对象,菜单项,和工具条按扭,以及表示闪光屏幕和表示用于移动应用的StartUpObject。正如指定表格之间的链接或流,系统可以生成适当的编码或脚本用于一旦在系统上执行TransApp确保有效运行链接和流。
文件菜单显示一列用于一般的将被应用于TransApp的文件编辑操作的菜单项,包括保存和编辑TransApp,创建,输入,和打印TransApp。视图菜单显示一列视图选项用于显示窗口,诸如显示布局视图(诸如图5中举例说明的默认布局视图),缩放显示控制,显示TransApp的单个项,提供树状结构表示的TransApp的分层的视图等等。
图5的右边显示一列开发设计者可以选择将被包括在移动应用的窗口显示上的,将在客户端装置处生成用于显示的组件。组件可以出现在移动应用中作为用于选择动作的显示按钮或作为用于由移动应用的用户输入数据的数据窗口。组件可以被存储和取回作为组件集合,如图5中表示。也就是说,设计者将能输入和编辑现有的TransApp或现场流以及创建新的TransApp或现场流并取名以便可以在移动应用内使用。但不论是哪种情况,用户将能使用DAD的图形接口添加,编辑,和删除力流,表格,动作,商业对象,菜单项和工具条按扭,如图5中所示。
″动作″组件允许设计者定义应用在TransApp级别的动作,″商业对象″组件允许设计者定义应用在TransApp级别的商业对象,数据源组件允许设计者显示选择的数据源并且标识将被使用的服务器和适配器,以及力流组件允许设计者添加,编辑,和删除来自于TransApp的力流。应用在TransApp级别的动作(诸如图5中的窗口)将被应用于TransApp中的视窗和力流视窗。这些动作可以基于力流的底图替换,附加,或预先考虑动作。任何添加在TransApp级别的工具条按扭和菜单项将把对应的按钮和菜单项应用到TransApp中的所有的视窗(包括力流)中。这些按钮和菜单项是在以独立的视窗和力流视窗级别指定的任何按钮和菜单项之外。
图5表示动作,商业对象,力流等等的集合可以使用在配置TransApp中。为了支持这种操作,DAD应用还包括集合编辑器功能,当从图5显示中选择集合时可以启动该集合编辑器功能。
图6是集合编辑器屏幕快照的一个例子。在图6中,编辑器适宜操作TransApp集合。图6显示的左侧显示由编辑器打开的并且可用于操作和配置的TransApp的名称。图6显示的右侧显示动作(和动作的集合),通过点击显示菜单项可以指定动作用于TransApp,以及显示″运行设计者″选项,用名字规范TransApps,和显示视窗选项,其显示一列可用于操作和配置的基础TransApp,并且允许对将被创建的新的TransApp命名。
集合编辑器将在编辑器窗口中的改变传送到TransApp的对应的表格和力流。也就是说,任何应用在TransApp级别的动作(诸如图5窗口中的)可能被应用于基础TransApp中的表格和视窗和力流视窗(也就是说,编辑功能正在其上执行的TransApp)。这些动作可以基于力流的底图覆盖,附加,或预先考虑动作。
B.功能组件
如上所述,数据适配设计者将包括支持五个不同的组件工具,可以使用其工具配置和操作TransApp。这些组件包括商业规则设计者,商业对象设计者,力流设计者,现场流设计者,和组件设计者。
1.商业规则设计者
商业规则设计者组件提供以″如果…那么…否则″的格式创建简单的商业规
则的能力。如上所述,这种结构将通过适用于一个或多个事件的SmartClient或服务器执行。正如本领域中的那些技术人员所知道的那样,商业规则可以在可由本领域中的那些技术人员提供的简单接口中定义,或者通过启动到微软公司中得到的″VS.NET″定义并且可以以支持的管理语法(例如VB.NET,C#等等)编码。
商业规则可响应于数据状态或在移动平台(客户端)处输入的数据应用于TransApp中的任何表格。例如,移动平台设计者可以使用DAD的商业规则设计者以指定规则以致,如果数据状态或客户端用户数据输入超过预定阈值数量或不在指定的状态内,那么移动应用可以开始提示用户采取校正动作或提供进一步的信息等等的显示。例如在用于移动应用的费用帐户跟踪TransApp中,商业规则可能校验以标识如果客户端用户输入大于预定界限的花费数量,在这种情况下应用将开始预定的动作包括请求客户端用户一个授权码以接受该数量。
2.商业对象设计者
商业对象设计者组件提供在绑定到来自于一个或多个后端数据源的一个或多个视图的元数据中创建并且定义商业对象的能力,可以由一个或多个移动客户应用利用Dexterra Studio″VS.NET″插件使用视图。创建到一个或多个其它商业对象的关系的能力利用Dexterra Studio VS.NET插件提供真实的面向对象的应用组件体系结构。
商业对象设计者功能性允许开发者配置商业对象的定义包括属性,缺省值,关系,筛选条件,权限,关联的应用和商业规则。使用该DAD商业对象设计者,开发者可以配置商业对象的定义包括属性,缺省值,关系,筛选条件,权限,关联的应用,和商业规则。
图7是供用于TransApp的商业对象集合使用的商业对象编辑器的业务对象示例性的屏幕快照。商业对象编辑器使DAD用户能够从移动应用,TransApp,力流,或表格中添加和删除商业对象,以及改变用编辑器打开的具体的商业对象的属性。
图7屏幕快照显示了具有属性子窗口的DAD工具的程序显示窗口,用于具体的命名称作BusinessObjectSetl的数据集合,如图7中圆形区域指示的。子窗口表示具体的编辑动作,可以对于一个或多个命名的商业对象集合中的商业对象执行所述具体的编辑动作。
3.力流设计者
力流设计者组件使用用于容易构造和生成的设计者工具表面,再一次利用Dexterra Studio″VS.NET″插件提供创建一个或多个移动客户端商业处理的能力。
力流设计者功能性允许开发者布局(即,设计表面)移动商业处理和配置与使用商业对象设计者配置的元数据定义的绑定。
图8示出力流设计者界面允许DAD用户添加和编辑将由力流执行的操作。DAD用户可以向力流的表格添加动作,商业对象,菜单项,和工具条按扭。如同DAD的另一个编辑窗口的情况一样,应用到这个(力流)级别的任何动作将会被应用于对应的TransApp(力流)视窗本身或在力流本身的操作内,并且可以在基础视窗中替换,附加,或预先考虑所述动作。此外,用力流设计者编辑器添加的任何工具条按扭或菜单项将被应用于力流视窗的所有操作中的对应的工具栏和菜单。
在图8中,选择称作LinkForceFlow的力流,如显示窗口的工作区域中的并且虚线包围的表格叫做概述,细节,和定稿的名称表示的。点击右边的力流名称框还可以使DAD自动地显示可用的力流(即,力流集合)。通过DAD工具用户界面相对于当前的力流(LinkForceFlow)这些力流可以被添加,拷贝给以及除此以外编辑。图9示出DAD用户可以使用的力流集合编辑器显示以查看力流集合的部件并且选择任何感兴趣的力流用于查看和操作。
4.现场流设计者
现场流设计者组件使用Dexterra Studio VS.NET插件提供创建简单的屏幕和诸如视图,ViewMany,编辑和/或查找处理的工作流程的能力。
开发者使用DAD可以负载现场流模板(即视图,ViewMany,编辑或查找)并且运行设计者工具。然后开发者可以通过选择商业对象(多个商业对象)和配置屏幕功能来填写用于模板的属性表格。然后现场流设计者组件生成包括绑定到商业对象的元数据定义的Ul元件和.NET编码的屏幕。
力流设计者(看以上的讨论)可被用于指定包括从力流的明细表开始的操作的字段流。力流设计者用户界面屏幕快照在图8中举例说明。
5.组件设计者
组件设计者使用一个或多个绑定到一个或多个商业对象的元数据定义的定制控制或复合控制,利用Dexterra Studio″VS.NET″插件提供创建移动屏幕/视窗的能力。定制控制是最基本的诸如文字框,栅格,列表等等的构件,这些构件是已知的元数据。复合控制是已知元数据的定制控制的组合并且集合到一起以执行诸如1-1(一对一的),1-M,M-M数据功能的某些操作。模块是预定的一组定制和复合控制和/或屏幕,它们执行基础的商业功能诸如签名捕获,登录等等。
开发者可以使用DAD通过选择基础视窗并且拖动组件(定制控制或复合控制)到视窗上以及配置所述属性表格以绑定到一个或多个元数据配置的商业对象来创建UI屏幕/视窗。DAD包括TransApp设计者功能的编辑器窗口,可以用该窗口指定表格,视窗,菜单项,工具条按扭,和数据映射关系。例如,图10显示DAD用户可以利用的菜单项集合编辑器显示以添加菜单项到力流表格。图10示出称作SmartApplication的移动应用正在被设计(和/或编辑)并且属性子窗口显示应用的属性,具有选择的″SubMenultems″(在右边用椭圆形包围的窗口标识的)以及显示具有一列属性,作为响应生成的集合编辑器子窗口。当DAD工具用户在集合编辑器中精心挑选时,将会指定适当的数据绑定用于对应的商业对象,确保在执行移动平台应用中适当的数据传送操作。
图11显示DAD用户可以利用的工具条按扭集合编辑器显示以添加工具条按扭到力流表格。在图11中用圆圈示出显示窗口以在底层的DAD应用窗口的前面标识显示窗口。图12显示了DAD用户可以利用的映射显示以指定数据映射,在编辑器窗口中具有映射选择并且在映射集合编辑器窗口中和在商业对象映射对话框中具有指定的源商业对象和目的地商业对象。编辑器窗口,由圆形区域标识,表示可以从下拉列表中指定对象用于用名字映射,提供便利的用户界面。
C.模块化结构
如上所述,提供设计者工具以使用,配置,和修改具有称作可移动的应用(″TransApps″)的操作模块的移动数据系统的操作顺序。TransApps是自含式的并且能够用其它操作顺序以及和其它TransApps链接到一起的数据对象。正如附图中以及如上所述所示出的,用户工具允许通过便利的不需要编程代码的知识的用户界面使用,配置,以及修改TransApps。
每一个TransApp操作模块可以接受输入数据并且可以生成输出数据。输入数据可以从其它模块中,或从应用用户中,或从企业数据源中接收。输出数据可以提供给其它TransApp模块,或给应用服务器(用于企业数据源),或可以被提供用于在移动计算装置本身上显示。用这种方法,为具体的问题解答的目的可以定义模块,并且这种问题解答模块可以在其它应用设计工作期间再使用。如此处所述的,TransApp操作模块可以通过便利的用户界面管理而不用专门的编程专门技术。
图13是举例说明在执行TransApp应用模块中在移动应用服务器处由计算机系统执行的操作的流程图,用于处理在多个企业数据源和与应用服务器通信的移动客户端之间共享的数据。第一操作,在标号为1302的流程图框,指定将从多个企业数据源的一个或多个中请求的数据并且指定指定的数据映射到应用服务器处的单个定义的数据对象。其次,在1304,创建(例示)连接对象,其在提供对企业数据源处的指定数据的访问的应用服务器处列出数据接口对象,其中数据接口对象包括在应用服务器处的一个或多个适配器对象以及包括是数据表,存储过程,脚本,或者数据对象的数据。在1306系统创建一个或多个命令对象,对指定数据执行数据动作,其中命令对象允许对指定数据选择一个或多个命令,其包括选择数据,插入数据,更新数据,以及删除数据的命令。在1308,定义数据对象在命令对象中指定一个或多个数据动作。以及在1310视图对象绑定到定义的数据对象以致视图对象与指定数据接口。因此,产生可移动的应用其包括对指定数据的请求和映射以致可移动的应用包括模块化计算机程序应用,其可以被安装在应用服务器用于在指定数据和移动客户端之间通信,以致应用服务器将根据它们各自的指定数据和映射自动地链接可移动的应用和应用服务器的其它可移动的应用。
根据本发明,提供被称为″DAD″的由移动应用的设计者使用的计算机编程工具以使用,配置,以及修改具有TransApps的移动数据集成系统的操作顺序。DAD应用编程工具通过附图中举例说明的用户界面提供这些特征。因此,DAD应用编程工具提供一个装置用于指定将从多个企业数据源的一个或多个中请求的数据并且经由创建和操作TransApps把指定的数据映射到在Dexterra应用服务器处的单个定义的数据对象。以这种方式,DAD应用程序也提供一个装置用于产生TransApp可移动的应用,包括对指定数据的请求和映射以致可移动的应用包括可以被安装在应用服务器的模块化计算机程序应用用于在指定数据和移动客户端之间通信,以致应用服务器将根据它们各个的指定数据和映射自动地链接可移动的应用和应用服务器的其它可移动的应用。那些本领域中的技术人员将理解″产生″TransApp可以包含根据移动平台系统的数据对象配置检查模块编码中的正确的规范和参数,诸如验证数据参数,确保正确的数据对象可用性,验证数据对象绑定等等用于适当的模块性能。
包括DAD工具的计算机程序可以被安装在计算机设备或系统上,诸如台式计算机,笔记本计算机等等,只要DAD工具程序可以接收用户输入以实现TransApp配置处理并且可以验证数据源,绑定等等。配置TransApp可以被包括在移动平台中并且被安装在诸如如上所述的移动平台的应用服务器上,以便TransApp的操作的特征可以被使用在具有企业数据源的移动客户端用于操作。
因此,TransApps是自含式的并且能够用其它操作顺序以及和其它TransApps链接在一起。DAD工具允许通过便利的不需要编程代码知识的用户界面使用,配置,以及修改应用。以这种方式,可以为了具体的问题解答定义模块化TransApps,并且这种问题解答模块可以在其它应用设计工作期间再使用。DAD工具允许通过便利的不用专门的编程专门技术的用户界面管理TransApp操作模块。
本发明已经根据目前最佳实施例如上描述以便可以表达对本发明的理解。然而,存在许多用于移动企业数据系统的配置在此处不具体地描述了但是这些仍是本发明适用的。因此本发明应该不被看作为受限于此处所述的具体的实施例,而是,应当被理解为:通常相对于移动企业数据系统,本发明具有广阔的适用范围。因此在附加的权利要求书范围内的所有的修改,变化,或等效物方案和实现方式应该被考虑在本发明范围内。
Claims (17)
1.一个用于构造模块化计算机程序应用的计算机程序系统,,所述应用用于处理在多个企业数据源和与应用服务器通信的移动客户端之间共享的数据,所述系统包括:
设计者装置,用于指定多个所述企业数据源的一个或多个所请求的数据并将所述指定数据映射到在所述应用服务器处的单个定义的数据对象;以及
产生器装置,用于产生可移动的应用,包括对所述指定数据的请求和映射这样所述可移动的应用包括可被安装到所述应用服务器的模块化计算机程序,用于在所述指定数据和所述移动客户端之间进行通信,以致所述应用服务器将根据它们各自的指定数据和映射而自动链接所述可移动的应用和所述应用服务器的其它可移动的应用。
2.如权利要求1所述的系统,其特征在于,所述设计者装置进一步包括:
用于创建连接对象的装置,所述连接对象在提供对所述企业数据源处的指定数据的访问的应用服务器处列出数据接口对象;
用于创建对所述指定数据执行数据动作的一个或多个命令对象的装置;
用于定义在所述命令对象中指定一个或多个数据动作的定义的数据对象的装置;以及
用于将视图对象绑定到所述定义的数据对象以便所述视图对象与所述指定数据对接的装置。
3.如权利要求2所述的系统,其特征在于,所述数据接口对象包括在所述应用服务器处的一个或多个适配器对象。
4.如权利要求3所述的系统,其特征在于,所述适配器对象与所述连接对象对接以列出所述数据接口对象作为包括数据表、存储过程、脚本或数据对象的数据。
5.如权利要求2所述的系统,其特征在于,用于创建一个或多个命令对象的装置允许对包括选择数据、插入数据、更新数据以及删除数据的指定数据选择一个或多个命令。
6.一种操作模块化计算机程序应用的方法,所述应用用于处理多个企业数据源和与应用服务器通信的移动客户端之间共享的数据,所述方法包括:
指定多个企业数据源的一个或多个所请求的数据并将所述指定数据映射到在所述应用服务器处的单个定义的数据对象; 以及
产生可移动的应用,包括对所述指定数据的请求和映射这样所述可移动的应用包括模块化计算机程序,用于在所述应用服务器处操作以在所述指定数据和所述移动客户端之间进行通信,以致应用服务器将根据它们各自的指定数据和映射而自动链接所述可移动的应用和所述应用服务器的其它可移动的应用。
7.如权利要求6所述的方法,进一步包括:
创建在提供对所述企业数据源处的指定数据的访问的应用服务器处列出数据接口对象的连接对象;
创建对所述指定数据执行数据动作的一个或多个命令对象;
定义在所述命令对象中指定一个或多个数据动作的定义的数据对象;以及
将视图对象绑定到所述定义的数据对象以便所述视图对象与所述指定数据对接。
8.如权利要求7所述的方法,其特征在于,所述数据接口对象包括在应用服务器处的一个或多个适配器对象。
9.如权利要求8所述的方法,进一步包括对接所述适配器对象和所述连接对象以列出所述数据接口对象作为包括数据表、存储过程、脚本或数据对象的数据。
10.如权利要求7所述的方法,进一步包括创建一个或多个命令对象允许对包括选择数据、插入数据、更新数据以及删除数据的指定数据选择一个或多个命令。
11.一种操作模块化计算机程序应用的方法,所述用于处理在多个企业数据源和与应用服务器通信的移动客户端之间共享的数据,所述方法包括:
指定所述多个企业数据源的一个或多个所请求的数据并将所述指定数据映射到在所述应用服务器处的单个定义的数据对象;
创建在提供对所述企业数据源处的指定数据的访问的应用服务器处列出数据接口对象的连接对象,其中所述数据接口对象包括在所述应用服务器处的一个或多个适配器对象并包括是数据表、存储过程、脚本,或数据对象的数据;
创建对指定数据执行数据动作的一个或多个命令对象,其中所述命令对象允许对所述指定数据选择一个或多个命令,该命令包括含有选择数据、插入数据、更新数据以及删除数据的命令;
定义在所述命令对象中指定一个或多个数据动作的定义的数据对象;
将视图对象绑定到所述定义的数据对象以便所述视图对象与所述指定数据对接;以及
产生可移动的应用,包括对所述指定数据的请求以及映射这样所述可移动的应用包括可被安装在所述应用服务器处的模块化计算机程序,用于在所述指定数据和所述移动客户端之间进行通信,以致所述应用服务器将根据它们各自的指定数据和映射而自动链接所述可移动的应用和所述应用服务器的其它可移动的应用。
12.一种计算机程序系统,用于处理在多个企业数据源和移动客户端之间共享的数据,所述系统包括:
处理器,通过应用服务器与所述移动客户端通信并且与所述企业数据源对接;
可移动的应用模块,指定所述多个企业数据源的一个或多个所请求的数据并指定从所述指定数据到单个定义的数据对象的映射,以致所述可移动的应用模块产生输出并接收用于和所述应用服务器以及所述移动客户端通信的输入,这样所述处理器根据所述可移动的应用模块的各自的指定数据和映射而自动链接所述可移动的应用模块和所述计算机程序系统的其它可移动的应用模块。
13.如权利要求12所述的系统,其特征在于,所述可移动的应用模块进一步指定:
在提供对在所述企业数据源处的指定数据的访问的应用服务器处列出数据接口对象的连接对象,;
对所述指定数据执行数据动作的一个或多个命令对象;
在所述命令对象中指定一个或多个数据动作的定义的数据对象,;以及
被绑定到所述定义的数据对象以便所述视图对象与所述指定数据对接的视图对象。
14.如权利要求13所述的系统,其特征在于,所述数据接口对象包括在所述应用服务器处的一个或多个适配器对象。
15.如权利要求14所述的系统,其特征在于,所述适配器对象与所述连接对象对接以列出数据接口对象作为包括数据表、存储过程、脚本或数据对象的数据。
16.如权利要求13所述的系统,其特征在于,所述命令对象允许对包括选择数据、插入数据、更新数据以及删除数据的指定数据选择一个或多个命令。
17.一种计算机程序系统,用于处理在多个企业数据源和移动客户端之间共享的数据,所述系统包括:
处理器,通过应用服务器与所述移动客户端通信并且与所述企业数据源对接;
存储在所述系统中的可移动的应用模块数据对象,其中所述可移动的应用模块数据对象指定所述多个企业数据源的一个或多个所请求的数据并指定从所述指定数据到单个定义的数据对象的映射,以致所述可移动的应用模块产生输出并且接收用于和所述应用服务器以及所述移动客户端通信的输入,且所述处理器根据所述可移动的应用模块的各自的指定数据和映射而自动链接所述可移动的应用模块和所述计算机程序系统的其它可移动的应用模块,其中所述可移动的应用模块进一步指定
在提供所述对企业数据源处的指定数据的访问的应用服务器处列出数
据接口对象的连接对象,其中所述数据接口对象包括在所述应用服务器处的一个或多个适配器对象并包括数据表、存储过程、脚本或数据对象的数据,
对所述指定数据执行数据动作的命令对象的一个或多个数据,其中所述命令对象允许对所述指定数据选择一个或多个命令,该命令包括选择数据、插入数据、更新数据和删除数据,
标识在所述命令对象中指定一个或多个数据动作的定义的数据对象,
标识被绑定到所述定义的数据对象以便所述视图对象与所述指定数据对接的视图对象。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66408805P | 2005-03-21 | 2005-03-21 | |
US60/664,122 | 2005-03-21 | ||
US60/664,121 | 2005-03-21 | ||
US60/664,088 | 2005-03-21 | ||
US60/667,816 | 2005-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101208662A true CN101208662A (zh) | 2008-06-25 |
Family
ID=39548381
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800089682A Pending CN101198931A (zh) | 2005-03-21 | 2006-03-21 | 用于移动数据系统的适配器体系结构 |
CNA2006800089697A Pending CN101218563A (zh) | 2005-03-21 | 2006-03-21 | 用于移动数据系统的数据管理 |
CNA2006800084392A Pending CN101208662A (zh) | 2005-03-21 | 2006-03-21 | 用于移动数据系统的模块化的应用 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800089682A Pending CN101198931A (zh) | 2005-03-21 | 2006-03-21 | 用于移动数据系统的适配器体系结构 |
CNA2006800089697A Pending CN101218563A (zh) | 2005-03-21 | 2006-03-21 | 用于移动数据系统的数据管理 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN101198931A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857496A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种erp系统中多应用导航配置方法及系统 |
CN111221803A (zh) * | 2019-12-27 | 2020-06-02 | 深圳云天励飞技术有限公司 | 一种特征库管理方法及协处理器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141996A (zh) | 2010-01-29 | 2011-08-03 | 国际商业机器公司 | 数据访问方法和配置管理数据库系统 |
CN105956160A (zh) * | 2016-05-17 | 2016-09-21 | 武汉邮电科学研究院 | 一种Android应用访问数据库的方法 |
CN110362320B (zh) * | 2018-04-02 | 2022-11-25 | 阿里巴巴集团控股有限公司 | 一种应用开发平台的命令实现方法和装置 |
-
2006
- 2006-03-21 CN CNA2006800089682A patent/CN101198931A/zh active Pending
- 2006-03-21 CN CNA2006800089697A patent/CN101218563A/zh active Pending
- 2006-03-21 CN CNA2006800084392A patent/CN101208662A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857496A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种erp系统中多应用导航配置方法及系统 |
CN111221803A (zh) * | 2019-12-27 | 2020-06-02 | 深圳云天励飞技术有限公司 | 一种特征库管理方法及协处理器 |
CN111221803B (zh) * | 2019-12-27 | 2024-01-09 | 深圳云天励飞技术有限公司 | 一种特征库管理方法及协处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN101218563A (zh) | 2008-07-09 |
CN101198931A (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6073111A (en) | Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems | |
US20060212543A1 (en) | Modular applications for mobile data system | |
CN101097579B (zh) | 提供模型数据生成器的系统和方法 | |
US8176083B2 (en) | Generic data object mapping agent | |
US9292306B2 (en) | System, multi-tier interface and methods for management of operational structured data | |
US7925985B2 (en) | Methods and apparatus for process thumbnail view | |
US8443036B2 (en) | Exchanging project-related data in a client-server architecture | |
US7836103B2 (en) | Exchanging project-related data between software applications | |
US20150235154A1 (en) | Computerized method and system and method to provide business process & case modeling and execution of business processes and activities | |
US20060143220A1 (en) | Software application framework using meta-data defined object definitions | |
US20110276608A1 (en) | Mobile data and software update system and method | |
EP1800217A2 (en) | Architecture for enterprise data integration systems | |
CN101208662A (zh) | 用于移动数据系统的模块化的应用 | |
US20050288956A1 (en) | Systems and methods for integrating business process documentation with work environments | |
Sung et al. | A component-based product data management system | |
CN100498685C (zh) | 移动数据和软件更新系统及方法 | |
EP0872805A2 (en) | Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems | |
Van der Werf et al. | The deposit system for electronic publications: a process model | |
Filev et al. | Professional UML Using Visual Studio. Net | |
Vandersluis | XML-based integration with xaware: Unifying applications and data in Today's e-business world | |
Gulledge et al. | Cross-functional process integration and the integrated data environment | |
Levin | System generation for time and activity management product lines | |
Hummingbird | Universal Data Exchange: An Enterprise-Wide Solution | |
Claesson et al. | Development of support web applications in. NET For Visit Technology Group | |
Vidovic et al. | Geac System 21 |
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 |
Open date: 20080625 |