专利名称:用于移动数据系统的适配器体系结构的制作方法
技术领域:
本发明一般涉及移动计算系统,尤其涉及移动计算系统内的数据管理和数
据部署。
背景技术:
成熟的客户关系管理(CRM)系统和企业资源规划(ERP)系统可用于提高事 务部门和行政部门工作过程的自动化程度。尽管许多公司都已认识到部署这些 系统能显著节约成本并提高效率,但同样真实的是许多组织发现这些系统实现
起来负担很重并且难以和现有的旧版本数据系统整合到一起。
最近,业务组织和企业正在部署CRM和ERP系统以帮助移动的雇员,这 主要利用诸如寻呼机、手机和个人数字助理(PDA)等移动计算设备。使用这些 移动设备的CRM和ERP系统在更大范围中得到采用所需面临的一个重要障碍 涉及与企业中的其它数据进行整合的问题。
企业数据整合问题出现的原因是,移动应用程序常常以专有的封闭体系结 构出现,这种体系结构妨碍与企业的其它数据系统进行整合。例如,企业中的 数据可能保存在四个或五个不同的源中。这些数据源中的某些源包括CRM系 统、分派系统、ERP系统以及财政记录系统。这些数据源中的每一个源都可以 使用不同的数据体系结构、格式和协议。正在存储的数据以及数据和存取机制 的配置都在不断变化。许多移动计算系统创建一种临时数据存储(datastore), 其中收集了来自企业中各个源的数据。这样,来自不同的企业数据源且各自具 有不同的数据体系结构和格式的这些数据都可以被收集在单个公共数据库中。 移动用户通过访问该临时数据存储而非实际的企业数据源,便可以对企业数据 进行存取。然而,该临时存储产生了关于其自身的数据更新与冲突等问题。同 步操作和其它安全措施必须经常进行,以确保该临时数据存储中的数据是企业 数据源中的数据的可靠副本。
已知提供了一种可以使用移动计算设备的数据整合解决方案,这些移动计 算设备通过网络服务器与企业数据相接。2003年12月23日提交的序列号为 10/746,229的美国专利申请描述了这种系统,该专利申请已转让给美国华盛顿 州Bothell市的Dexterra股份有限公司。该申请的内容引用在此作为参考。
Dexterra股份有限公司的上述申请描述了这样一种系统,在该系统中以分 布式方式在多个企业数据源到移动客户机之间使用数据,使得接收到来自移动 客户机的对企业数据的请求,确定了含所请求数据的合适的企业数据源,并且 从所确定的企业数据源中检索出企业数据。当检索出企业数据时,它被转换成 关系格式,即使该数据来自多个不同非关系类型的企业数据源(比如文件系统、 电子邮件等)。转换好的企业数据被存储在移动客户机中的关系数据存储中。这样,移动应用程序便可以与来自多个企业数据源的数据完全整合起来,并且 数据更新和配置变化便可以在不使用临时数据存储的情况下实时地分配到/来
源于移动客户机,由此避免了企业数据源和移动客户机之间复杂的同步和异步 数据问题。实时数据变化不仅可以包括数据更新,还可以包括移动应用程序自 身变化的部署。这些实时变化要进一步与数据冲突检测和解决相适应。
Dexterra股份有限公司的上述系统基于这样一种系统体系结构,其中目标 企业数据源包含多个对象或数据表,并且每个目标数据表都被映射到被称为视 图(View)的数据对象。即,视图被定义成对应于应用程序将从中获取数据的 那些企业数据源中的每个数据表。这些视图可以由应用程序开发者定义,或者 来自另一厂商。在一个或多个被称为业务对象(Business Object)的数据实体 之间共享这些视图中的数据。单个业务对象可以使用来自多个视图的数据,因
此可以使用来自多个企业数据源的数据,甚至可以使用来自其数据格式互不兼 容的多个数据源的数据。在该系统中,被称为连接器(Connector)的数据对象 为企业数据源提供了数据共享接口。
一旦定义好一组业务对象,应用程序开发者便可以在通过其到这组业务对 象的接口来处理数据的同时设计应用程序,而非陷入描述和定义视图和连接器 的情形中。因此,为开发者呈现出一种无格式的数据接口,所以从开发者处提 炼出目标方面的差异。
Dexterra股份有限公司的上述专利申请中所描述的系统提供了一种用于准 许访问各种企业数据源的移动计算平台的强大的开发工具。然而,若数据接口 方面具有更大的灵活性,则可以扩展系统的能力并使应用程序开发更容易。本 发明便提供了这种更大的灵活性。
发明内容
根据本发明,提供了一种数据体系结构,其中视图定义了通过连接器到达 应用程序的企业数据源接口,但也用到了由命令所定义的数据对象。因此,数 据对象包括可配置的请求,这种请求针对的是通过命令而被发送到企业数据源 的适配器的数据。本体系结构使开发者能够创建到达全异后台企业数据源的定 制企业连通性。开发者还可以用实现方式的特定实例的配置及针对它的适应性 来分隔到达任何后台企业系统的连通性。这允许使".NET"系统和后台系统之间 的技术(连接)能够在与该后台系统所需信息的配置不相关的情况下进行开发,
由此创建了抽象层并允许配置工具管理该适应性。可以提供开发工具套件环
境,它允许用户利用"Dexterra Studio" VS.NET插件程序来创建数据组件并将它 们连接到任何支持的适配器。用于该工具套件环境的组件包括连接对象、命令 对象、数据对象以及视图。
根据下文关于较佳实施方式的描述,应该清楚地看到本发明的其它特点和 优点,较佳实施方式作为示例示出了本发明的原理。
图1是根据本发明构建的移动企业平台所适用的计算机系统环境的框图。
图2是图1所示移动企业平台中的数据的逻辑体系结构的框图。
图3是示出了图1的企业数据源和移动客户机之间的连接器接口的框图。
图4是根据本发明构建的合适的计算机系统环境400的框图。
图5示出了用于图1所示移动平台的数据体系结构的图示。
图6是用于根据本发明构建的移动平台的数据访问配置的图示。
图7是作为DAD计算机程序应用的主机的计算机设备的显示器的屏幕截图。
图8示出了当在Dexterra Explorer菜单上选中"Datasource Types"时由DAD
程序所产生的树形视图和上下文菜单。
图9示出了图8显示器中的Data Sources菜单项的选中情况。
图IO示出了特定数据源类型的选中情况,从中产生了上下文菜单。
图11示出了可用于选择的视图类型。
图12示出了通过使用Data Sources上下文菜单创建一种新型的数据源 (Data Source)从而产生的Data Sources Properties对话框。
图13示出了用于DAD登录信息和选择特定企业数据源目标的验证屏幕。 图14示出了设计者从树形视图中做出命令选择的情形。 图15示出了响应于图14的选择的"NewCommand"对话框。 图16示出了 Add Command对话的参数选项卡。 图17示出了已添加好名为"CustomerQuery"的新命令的树形视图。 图18是示出了根据本发明的移动平台系统的处理的流程图。
具体实施例方式
在根据本发明构造的移动数据整合系统中,视图对象定义了通过连接器到 达应用程序的企业数据源接口,但也用到了由命令所定义的数据对象。即,数 据对象包括可配置的请求,这种请求针对的是通过命令而被发送到企业数据源 的适配器的数据。本体系结构使开发者能够创建到达全异后台企业数据源的常
规企业连通性。下文首先描述的是Dexterra股份有限公司的上述专利申请中所 描述的系统。然后,在"V.适配器体系结构"及其后续段落中描述了本发明与现 有技术的系统相比其体系结构变化的细节。
I. 系统概况
本发明提供了一种系统,在该系统中从多个企业数据源到执行移动应用程 序的移动客户机使用数据,使得移动应用程序与多个企业数据源整合在一起, 并且在不使用临时数据存储装置的情况下数据更新和配置变化可以实时地分 配到/接收自移动客户机。取消临时数据存储设施可以避免企业数据源和移动客 户机之间复杂的同步和异步数据问题。由此,用于移动应用程序的数据更新和 系统配置更新可以实时地从企业传输到移动客户机或从移动客户机传输到企 业。因为通过该系统可以实时地传播这些变化,所以不再需要任何特殊的同步 操作。'
II, 系统平台
图1是根据本发明像Dexterra股份有限公司的上述专利申请中所描述的那 样构建出的合适的计算机系统环境100的框图。图1示出了移动客户机设备 102,比如个人数字助理(PDA)设备,该设备与Microsoft PocketPC或Palm PDA
操作系统结合使用。移动客户机设备通过网络连接104与应用程序服务器106 进行通信,以请求来自服务器的数据并接收数据更新、提供新数据以及接收配 置变化。应该理解,多个移动客户机102可以与服务器106进行通信。为了画 图简便,图1只示出了单个客户机设备102。
移动客户机102使用服务器一方的连接器网络服务以便从多个企业数据存 储中进行实时数据检索。另外,移动客户机使用服务器一方的数据管理器网络 服务以便管理实时的客户机一方数据更新、服务器一方数据更新和系统配置更新。
应用程序服务器106与企业数据源108进行通信,比如CRM数据源、ERP 源、财政系统资源、旧版本数据存储等。图1所示典型的企业数据源包括 "Siebel"软件的数据,它来自美国加利福尼亚州SanMateo的Siebel Systems股 份有限公司;"Oracle"软件的数据,它来自美国加利福尼亚州Redwood Shores的 Oracle公司;"SAP"软件的数据,它来自德国Walldorf的SAP AG ;以及旧 版本软件的数据。管理员应用程序110和开发者应用程序112与应用程序服务 器106进行通信,该服务器还存储用于该系统的元数据114,下文会进一步描 述。
应用程序服务器106为数据互换和更新、用户验证、安全以及登录服务提 供了数据管理程序、配置和数据连接器网络服务。应用程序服务器还以业务信 息和规则为形式来处理业务流程管理。
移动客户机102还包括数据存储116,它包括用于存储业务数据120的关 系数据库118以及用于存储元数据122 (该元数据用于移动客户机上的应用程 序执行)的关系数据库。移动客户机102上所安装的应用程序124包括用于执 行合适的功能的各种软件组件。例如,该应用程序可能包括一种现场服务应用 程序,它告诉现场服务人员已请求服务的位置,解释服务请求的性质,并提供 服务访问记录和账户设置。应用程序124可以包括用于处理移动客户机102所 请求的数据的多个应用程序。
管理员应用程序110和开发者应用程序112—起构成"工作室(Studio)" 组件130。在所示的实施方式中,管理员和开发者是作为两个单独的应用程序 而提供的,并且提供了一种用于配置该系统的装置,其中包括元数据数据和应 用程序接口。
系统100包括移动企业平台,它支持服务应用程序124。该系统提供了一 组网络服务,它们有效地部署和管理移动化的软件解决方案以增强移动商务过 程。普通的示例包括整合到用于企业的CRM或ERP、销售人员自动化(SFA)
以及客户支持与帮助桌面功能。这种企业应用程序依赖于交叉应用交互作用,
9因为来自一个功能或系统的数据通常被不同的功能或系统使用。当在移动客户 机上执行时,现存的应用程序功能和企业信息被用于多个企业软件应用程序、 旧版本数据系统以及移动工作者。这样,针对这些应用程序和移动企业平台, 可以实现显著的投资回报。
移动企业平台100提供了网络服务,这些网络服务简化了现场的移动客户 机和相关便携式设备的使用。这些网络服务包括数据管理程序功能、配置功能 以及连接器功能。下文将对此作更详细的描述。移动客户机102上所安装的应 用程序124在被应用程序服务器106恰当启动之后便可以在任何连接或断开状 态中完全起作用。
III.逻辑体系结构
利用图1所示移动企业平台的任何客户机应用程序都将使用图2的框图所
示的系统组件。这些组件包括
业务对象(Business Object)-基于业务概念的可编程对象,组合了多个字 段并涉及来自不同企业数据源的信息。(数据源比如有客户、联系人、资产、 任务等数据源)。
业务规则(Business Rule)-在对来自企业数据源的业务数据施加检查的 情况下利用业务恒量来实施业务流程的定制逻辑。
业务恒量(Business Constant)- —种用户可配置变量,用于客户机应用程 序以及客户机和服务器双方的业务规则(比如业务规则、警告消息等)。
数据源连接器(Datasource Connector)-设计成无缝地提供对各种企业数 据源(比如根据Oracle和SQL服务器格式化的那些数据库、像MQ系列或 MSMQ这样的消息传送系统、像Siebel或Peoplesoft这样的CRM应用程序、 一般网络服务等)的访问的数据源连接器。
业务流程(Business Process)-比喻,比如美国华盛顿州Bothell的Dexterra 股份有限公司的"Force Flow(强制流)"过程,它定义了一种用于模拟业务流程 的表单到表单的导航范例。
表单(Form)-具有事件驱动逻辑的标准视觉显示屏(比如观看、编辑、 查找等)的组合,这些显示屏被设计成用于显示信息、收集信息以及引导用户
穿过一给定的业务流程(此处被称为"ForceFlow(强制流)"或"Field Flow(字段 流)")。
视图(View)-从一个或多个业务对象所使用的企业数据源或应用程序中 标识出的数据的可修改表示方式。
过滤器(Filter)-可应用于视图以修改业务对象可用数据的过滤器。
这些组件可以用于指定任何通过使用像微软公司".NET"这样的技术框架 以及像微软公司"Visual Studio .NET"这样的工具而构建的客户机应用程序的配 置(逻辑体系结构)。本领域的技术人员会对这种编程工具很熟悉,以指定应 用程序及其相关数据对象。图l所示移动企业平台是作为一种元数据驱动框架 而实现的。该框架提供了整合的客户机和服务器网络服务,从而能够实现用于 部署故障-安全、任务-关键的(mission-critical)企业解决方案所必需的连接、 配置和数据管理服务。
图2示出了在图1的移动企业平台中关系数据库表格的结构以及外部应用 程序业务对象都作为元数据被映射到多个视图。 一个或多个视图被业务对象 (也按元数据来定义)消费,后者转而又被移动应用程序使用。移动应用程序 使用被称为"DexterraSmartclient"的客户机框架,该框架管理业务对象的实例 化、对驻留在移动客户机设备上的基础物理数据库的本地数据访问(Local Data Access)、设备整合以及通过数据管理程序和/或连接器网页服务的客户机-服务 器数据通信。在该平台内,用于所有逻辑层(比如业务对象、视图、过滤器和 连接器)的规范都在元数据内进行定义和保存。
移动企业平台被构建成一个逻辑栈,它被设计成使逻辑体系结构中的层与 所有非相邻层隔离。在该逻辑栈的底部,目标(Target)层是驻留在后台的企 业数据源中的数据。该平台用本地的源数据来工作,并且不要求将记录的后台 系统内的信息复制到中间层复制数据库。即,不需要临时数据存储。这提供了 设计方面的灵活性以及实时数据访问,并且可以帮助减小拥有该平台和应用程 序的总成本,还帮助简化了数据管理过程。
逻辑栈中再往上一层便是连接器层。连接器层以关系格式将用于描述后台 数据存储的程序构造提供给应用程序服务器。关于如何连接到企业数据源的信 息以及安全设置(比如验证方法以及用户和分组定义)都被存储在元数据内,
并且用管理员组件进行保存。逻辑桟中的下一层是视图层,它包括用于向后台 企业数据源中的对象或表提供一对一映射的那些对象。例如,如果后台系统具
有被称为CUST—ADDR(客户地址)的表,并且该表格中的数据需要用于一应用 程序中,则在管理员组件中将创建一视图。例如,管理员视图可以被称为 CUSTOMER_ADDRESS,以代表移动企业平台的环境中处于企业数据源外部的 数据。应该理解,视图具有与后台系统中的数据对象的属性或列相对应的属性。 然而,并不要求后台数据源中的所有属性都要与视图中的属性一样。事实上, 所需属性是在管理组件中定义的并且作为元数据加以存储。在刚提到的示例 中,这些属性可能包括诸如ID、 STREET—ADDR、 CITY、 STATE禾卩ZIP—CODE 等字段。
另外,用户可以定义视图内的各种属性的数据类型,并且这些数据类型可 以独立于企业数据源中相应属性的数据类型。可被标识的视图属性的其它选项 是唯一的标识符、只读、索引、必需属性以及长度。所有上述信息都作为元数 据加以存储。
视图层还提供数据冲突的指示,并且提供了一种用于解决这种冲突的手 段。例如,只要在从移动客户机处上传的内容与服务器处现存的内容之间之间 有数据变化,则就可能出现数据冲突。这种冲突的解决可以在视图层处执行, 实施一些业务规则,比如准许最近的数据变化总是优先,或者根据数据类型(比 如现场数据或客户账户数据)准许来自特定源(比如移动客户机或企业数据源) 的数据变化优先。下文结合数据管理程序网络服务对此作进一步描述。
如图2所示,可以针对多个数据存储中的多个对象来定义视图,由此提供 了应用程序部署以及原地系统的使用等方面的灵活性,同时没有数据复制的负 担。如同连接器那样,视图的定义也被存储在元数据中,并且由管理员进行管 理。本领域的技术人员将理解元数据中的数据定义的细节,而无需作进一步解 释。如上所述,可将过滤器应用于视图,以修改被传递到下一层的数据。管理 员提供了视图管理特点,其中包括基于后台数据存储对象(来自企业数据源) 的对象接口或表定义而自动地创建视图的视图向导(Views Wizard)。
图2中往上再一层包括多个业务对象,它们被映射到一个或多个视图或者 与一个或多个视图相关联。该平台的业务对象是当构建定制的移动应用程序时开发者将与之交互作用的程序实体。业务对象包括多个属性,每个属性可以具 有一种简单的数据类型或者可以是另一种业务对象。因为该平台的业务对象可
以映射到多个视图,所以开发者可以使用用于代表源自多个异类数据源的数据 的单个实体进行工作。由此,根据本发明的移动企业平台而定义的单个业务对
象可以包括来自多个潜在不兼容的企业数据源(比如来自不同专用格式)的数据。
在创建或修改用于移动应用程序和移动客户机设备的应用程序时,开发者 可以只与业务对象层交互作用。这使得开发者不需要理解或与用于源数据的后 台系统(企业数据源)直接交互作用。这样,业务对象层为应用程序开发者提 供了基于对象的接口,从而抽取出关于数据持久性和检索的细节。开发者没有 必要与移动设备上的本地数据存储直接交互作用。另外,因断开数据的性质, 移动客户机通过业务对象接口将数据变化本地地存储到客户机中,从而自动地 管理数据变化的处理过程,这些数据变化在更新过程中将被传递到应用程序服 务器。这进一步免除了开发者固定编程任务。
业务对象作为元数据存在于移动客户机设备上,并且也是用管理员(图1) 来管理的。元数据在移动企业平台中的使用提供了这样一种环境,在该环境中 大多数数据实体的属性和行为都可以通过图形用户界面而非编码来进行配置。
移动企业平台的元数据驱动性质能够通过无状态服务器体系结构在移动 客户机上执行业务流程。通过元数据,可以配置和定制移动应用程序。元数据 定义了参照业务企业数据至移动设备的业务对象的结构,并且还定义了用于触 发那些控制业务流程的业务规则的事件。
元数据数据库包含交叉功能的交叉应用程序后台业务信息的参照情况,这 种信息通过连接器暴露出来以配置业务对象。该过程是通过工作室组件(图1) 实现的,以便用业务对象来配置并参照正连接的企业数据源业务信息。这为移 动应用程序提供了到特定数据的路径,从而确保没有任何来自企业数据源的业 务数据是以其原本的数据格式存储到应用程序服务器上的或存储于任何其它 用于数据更新的系统的临时数据存储上。这种使用元数据的非入侵式且实时的 同步方法准许移动企业平台在中断量最小的情况下有效地连接到后台系统,同 时使交叉功能的数据访问、数据一致性以及数据完整性都达到最大。
IV.移动企业平台组件
A. 移动应用程序
如上所述,移动客户机102 (图1)可以包括安装的应用程序124,它们实 现企业的业务流程。该应用程序可以调节上述移动企业平台,并且证明该应用 程序是如何实例化业务对象的,这些业务对象驱动以元数据配置的业务流程。
例如,任务或工作顺序信息将通过视图被提供给移动应用程序,并且将通 过业务对象对其进行访问。在通过视图定义检索业务数据的过程中,通过使用 数据管理程序网络服务,该业务对象可以将业务数据传递到该移动应用程序以 描述这些任务。该数据被存储在移动设备上的本地关系数据库上。当在来自应 用程序的请求中对任务业务对象确认任务数据的更新时,Smartclient应用程序 将保存移动客户机上的视图定义数据存储的变化,则Smartclient通过数据管理 程序网络服务来管理数据更新回到原始数据源,从而确保数据完整性和一致 性。
通过使用本文所描述的移动企业平台中可用的网络服务(比如连接、配置 和数据管理程序服务)的深度、宽度和力量,可以很容易构建一大批移动应用 程序,其中包括诸如销售人员生产率、客户服务和支持解决方案等应用程序。 这些应用程序可以与一组范围很广的垂直应用程序整合在一起,其中包括油/ 气、保健/医疗以及财务服务工业解决方案。
B. 服务器组件
应用程序服务器是一类元数据驱动平台应用程序并将信息、应用程序和业 务流程提供给移动客户机,并且确保了移动企业平台和后台企业数据源的主机 之间的受管理的数据完整性。应用程序服务器是一种构建于微软公司".NET"技 术上的基于过程的高性能解决方案。通过使用".NET"技术,移动企业解决方案 是一种通过在本地XML和SOAP进行数据交换和传输的网络服务的框架。应 用程序服务器提供了三种核心网络服务,就像图1的功能体系结构图所示的那 样
连接器网络服务连接器网络服务传递现存企业应用程序基础设施的非入侵式整合,同时保 持对移动客户机和分立企业数据源之间的数据完整性条件的控制。
配置网络服务
配置网络服务管理着用于定义业务数据、业务对象、业务规则、业务恒量 的元数据以及包含被传递到移动客户机的移动应用程序(驻留在移动设备上的 组件应用程序)的系统配置(比如验证、登录、安全和角色)。
数据管理程序网络服务
数据管理程序网络服务协调移动客户机应用程序、应用程序服务器以及第 三方企业数据源之间的更新交互作用。另外,数据管理程序网络服务能够与连 接器层直接进行通信以便于实时查询。数据管理程序网络服务管理涉及多个用 户对多个企业数据源的多个更新来实施数据完整性的各种条件的方式提供灵 活性。数据管理程序网络服务可以通过应用程序服务器或者指向任何API禾口/ 或第三方已公布的网页服务来实现上述这一点。
这样,数据管理程序网络服务可以管理应用程序更新和数据变化在该系统 的移动客户机中的部署情况。
下面将更详细地描述这些组件。
1.连接器网络服务
连接器网络服务被设计成支持与任何依从ODBC的数据源或网络服务API 进行通信。连接器网络服务允许客户基于一个或多个第三方系统中所存储的数 据来定义和构建视图。连接器网络服务具有发布的接口,允许来自移动客户机 的标准成批更新以及实时数据访问。
连接器网络服务提供了在应用程序服务器元应用程序和企业数据源的特 定接口之间的物理层连接。连接器支持数据库竞争管理和通知服务、事务管理 以及差错处理。在默认的客户配置中,针对具有ODBC或网络服务连接器的客 户,部署移动企业平台系统。本领域的技术人员将能够产生连接到最常用的企 业系统(比如Siebel、 SAP、 PeopleSoft、 Oracle、 SQL服务器等)的连接器。
例如,通过客户具有的最近的数据构造到API (比如PL/SQL过程)或通 过ODBC直接到企业数据库自身,"Oracle"应用程序连接器允许客户调用Oracle
支持服务。如所有的ODBC连接器那样,RDBMS模式的动态访问得到自动地 执行,从而露出数据库的特定物理设计。这为客户给出了到达该系统的实际接 口的分层视图。
图3示出了连接器是如何使企业数据源与移动企业平台接口的示例。在图 3的左侧是多个企业数据源的表示,其中包括ERP数据源302、 CRM数据源 304、人事/财政数据源306、旧版本/ODBC数据源308,并且还可以包括其它 网络服务或其它源(未示出)。在图3的中部是元数据312的表示,元数据312 向应用程序服务器314指定在移动客户机316中来自不同企业数据源的数据将 如何被存储和关联,而移动客户机316则表示在图3的右侧。
因此,在本示例中,被标示为ORDER—ID的数据存在于ERP数据源中。 被标识为F—NAME禾卩L—NAME的数据存在于CRM数据源中。被标识为 CRED—LIM的数据存在于人事/财政数据源上,并且被标识为WARRANTY的 数据被存储在旧版本/ ODBC数据源中。所有这些被标识的数据都被存储在企 业数据源中,比如在后台办公室系统中。
在元数据312中,来自企业数据源的数据定义被映射到多个视图,这些视 图用于在客户机上创建数据存储并且将来自企业数据源的移动客户机上的相 关业务数据存储到关系数据库中。通过移动客户机上的元数据中所定义和存储 的业务对象层,来执行对上述业务数据的访问。如图3所示,来自ERP数据源 的ORDER_ID被映射到一个被称为OrderID的业务对象属性,其关系定义被存 储在移动客户机316上的元数据318中并且被一个或多个同样在元数据中定义 的移动应用程序使用。来自CRM企业数据源的F—NAME数据被映射到(存储 到)移动客户机数据库中所存储的FirstName业务对象属性定义,并且L—NAME 数据被映射到LastName业务对象属性。相似的是,来自人事/财政数据源的 CRED—LIM数据被映射到CreditLimit业务对象属性,并且来自旧版本/ODBC 数据源的WARRANTY数据被映射到Warranty业务对象属性。因此,通过数 据管理程序网络服务,来自潜在不相似和不兼容的全异企业数据源302、 304、 306、 308、 310的数据以合适的格式被传递到移动客户机的本地数据存储(由 从企业数据源到应用程序服务器314的线路来表示),以便用移动客户机上的 业务对象之一 (在移动客户机316中用实际的数值来指示)来进行访问。
连接器类型
连接器网络服务所支持的连接器包括下列三种连接器类型
1. 当移动平台连接到第三方系统时使用网络服务连接器,该第三方系统(a) 是非依从ODBC的,或(b)不允许ODBC/RDBMS连接性,或(c)其接口由标准 API定义并且可以用网络服务叙词语言(WSDL)来包装和定义。
2. 当移动平台连接到第三方系统时使用ODBC/RDBMS连接器,该第三 方系统(a)是依从ODBC的并且(b)允许直接的ODBC/RDBMS访问,并且(c)其 数据物理上位于相同的LAN环境内或者可以通过支持传输的通信协议(比如 RPC、 TCP等)来进行访问。
3. API连接器与网络服务连接器相似,但(a)要求该API能够通过非互联
网协议(比如RPC)访问,并且(b)若网络服务接口不可用,则使用该API连接
驱 奋。
经ODBC/RDBMS连接器读出模式,在使用管理员应用程序的情况下,通 过使用移动企业平台的工作室部分130 (图1)来完成信息。工作室部分被用 于配置映射到后台数据源的视图定义,并且将一个或多个视图的定义映射到一 个或多个业务对象。当使用管理员定义视图定义或将视图映射到业务对象时, 上述信息是作为元数据被存储的。在用应用程序服务器和企业数据源进行更新 的过程中,读出该元数据以确定如何读取、保存和除去数据(选择/插入/更新/ 删除功能),同时使用诸如冲突检测/解决、固有的事务和适当时补偿的事务等 功能来管理和实施数据完整性。
对于微软公司SQL服务器或Oracle的RDBMS (8i、 9i等),在使用 ODBC/RDBMS连接器时,通过ANSI SQL语句和/或存储过程来读取、保存和/ 或除去数据。在使用网络服务/API连接器时,通过调用用于事务的合适的API 功能或方法来读取、保存和/或除去数据。
2.配置网络服务
Dexterra工作室所消费的配置网络服务为管理员、业务分析员以及开发者 提供了一种容易的共同操作的方式来实现、配置和管理Dexterm移动企业解决 方案。配置网络服务允许很容易地操纵元数据,该元数据用于配置和定制移动 应用程序的数据和过程定义。参照管理员组件的特点将更好地理解该服务,下
文对此进行更详细的描述。
3.数据管理程序网络服务
更新过程模型
在本系统中使用更新过程模型,其中移动应用程序通过使用一组核心Net 组件(这些组件作为网络服务暴露出来以便于容易的互操作性),用后台企业 数据库来更新其本地保存的数据(应用程序或其业务对象)。
数据管理程序网络服务更新移动应用程序及其所有的相关业务对象定义 数据。该更新过程模型能够通过Dexterra应用程序服务器和移动客户机在多个 企业数据源之间实现双向数据传输,从而允许在移动客户机连接到网络时进行 更新,当它们相连时合并更新。当处于断开状态时,在客户机环境中管理这些 更新,直到获得连接状态且能够启动更新请求那一刻。
上述更新过程模型采用"全部或什么都没有"的方法。如果在将整个流从 应用程序服务器下载到移动客户机上之前(或在将整个流从客户机上传到服务 器上之前)出现了故障,则应用程序服务器上的数据管理程序网络服务没有接 收到关于下载(或上传)事务的确认。结果,服务器携带智能以管理关于它需 要退回或简单的重试等客户机状态。当移动客户机第二次执行更新过程操作 时,应用程序服务器考虑原始信息状态,并且可以在应用程序服务器已处理过 的情况下传递结果,或者可以在应用程序服务器从未接收到所有必需信息的情 况下再次进行处理,由此在移动客户机和应用程序服务器之间一次且仅一次地 实施了信息的可靠传递。不管怎样,随着数据从移动客户机移动到一个或多个 后台数据源,都实施了数据的完整性。
更新过程故障
两种类型的更新处理得到支持
1:获取最近的在这种更新类型中,移动客户机作出一请求以便通过
Dexterra应用程序服务器从企业数据源中获取最近的信息。Dexterra应用程序 服务器处理该请求,并且用Dexterra连接器网络服务从多个数据源中检索业务 信息,并且将该业务信息传递到移动客户机。
2:更新(双向更新)在这种更新类型中,通过使用Dexterra冲突解决 配置参数,客户机和服务器终端上的记录得到互换,从而实施了移动客户机和后台企业数据源上的数据的完整性。 冲突检测/解决
冲突解决描述了对移动客户机和一个或多个后台企业数据源之间所作出 的变化所引起的数据冲突进行仲裁时用到的规则。这是通过首先识别该冲突 (检测)然后以一种或多种方式解决该冲突(解决)而执行的。
Dexterra应用程序服务器可以以三种方式之一来检测冲突修订,日期/ 时间戳,或手工操作,以及按行或列水平来标识冲突情形。
修订是一种设置,其中特定字段或属性在单个记录源中被标识为修订过 的,并且Dexterra应用程序服务器将使用它来确定在后台数据源或移动客户机
上数据是否己改变过。
日期/时间戳
日期/时间戳是一种设置,其中特定字段或属性在单个记录源中被标识为日 期/时间戳并且在任何插入/更新或删除时都得到更新,并且Dexterra应用程序 服务器将使用它来确定在后台数据源或移动客户机上数据是否已改变过。
手工操作是一种设置,其中没有特定字段或属性用于标识单个记录源中的 冲突情形,因此Dexterra应用程序服务器比较所有的字段或属性数据以定义唯 一性并检测在后台数据源或移动客户机上数据是否已改变过。
根据Dexterra应用程序服务器的配置,冲突是以四种方式之一来解决的 第一更新成功,最后更新成功,管理解决,或服务器一方规则。
第一更新成功
根据第一更新模型,应用程序服务器将只接受第一个作出更新的任何记录 的变化。如果记录首先被后台数据源更新并且更新网络服务检测到冲突,则并 不返回错误,而是数据管理程序网络服务将丢掉由客户机提供的版本并且将来 自后台企业数据源的最新版本的记录的副本返回到移动客户机。
最后更新成功
根据最后更新成功模型,服务器不需要检测冲突。它简单地将来自移动客 户机的变化保存到后台企业数据源,从而盖写了后台企业数据源中当前的记录。
管理(或手工操作)解决
当配置为管理/手工操作解决时,服务器将视所有冲突都需要手工干预来解 决,并且将返回来自后台企业数据源的当前记录的副本,并且任选地通过任何
通知服务(SMS、电子邮件等)来通知冲突已经出现并且允许通过Dexterra管 理员来解决。这样做允许列水平冲突解决,因为管理员决定这些值选择性地重 新往回应用于后台企业数据源。 服务器一方规则
可以创建可定制的服务器一方规则,以更程序化地和具体地确定某些冲突 情形应该如何解决。例如,可以基于记录中的数据的值来解决冲突。这种灵活 性允许完全控制围绕着冲突解决场景的特定行动。
来自服务器的客户机部署
应用程序服务器包含将要被下载到移动客户机上的一个或多个移动的现 场应用程序的定义,其中包括表示任务的表单/屏幕(被称为"表单流
(FormFlow)")、数据交互作用(被称为"字段流(FieldFlow)")以及构 建到业务流程/工作流中的表单流和字段流的分组(被称为"强制流
(ForceFIow)")。下文进一步描述表单流、字段流和强制流。该应用程序定 义还包括与应用程序相关的配置好的元数据,比如视图、业务对象、业务恒量 定义。该部署中还包括的是
来自一个或多个后台企业数据源的特定业务数据, 这些数据源是在"偶尔"连接的状态中运行移动客户机所必需的。
应用程序服务器提供了传递并管理应用程序以及连接到现存企业数据源 和系统的基础。针对移动设备(比如Pocket PC和Tablet PC设备)应用程序服 务器分配并管理移动企业平台应用程序,从而为在现场的所有用户接口提供了 一种高度可管理的管理模式。
C.管理员组件
如上所述,管理员组件(图1)允许系统管理员执行那些相对定期或频繁 的变化。管理员组件以一种适合于业务分析员或管理员进行管理的格式来提供 对选择变量、下拉式列表内容以及其它信息的访问。本管理方法允许系统管理 员将许多功能向下扩展到管理员水平,而无需牺牲系统完整性。
例如,构成定义企业业务流程的业务信息的数据可以通过业务对象定义形
式来进行接收。配置网络服务提供了对管理员组件的这一方面的访问。 D.客户机组件
如上所述,企业平台体系结构中的客户机102 (图1)提供了一种框架, 在该框架中移动应用程序通过使用被称为"强制流"、"字段流"和"表单流"的技术 从而允许使用基于角色的业务流程,并且在使用网络服务的情况下,能够通过
LAN/WAN网络(比如互联网)、或通过有线和无线连接在移动客户机和Dexterra 应用程序服务器以及企业数据源之间进行通信。运行于客户机设备上的移动应 用程序以一种针对小形状因子设备进行优化的方式来起作用,从而提供了一种 不同寻常的易学的用户体验。
在所示的系统中,客户机是一种用微软公司的".NET紧致框架"(它知道元 数据)构建的对象框架。客户机组件能够将企业级的应用程序功能传递到移动 设备上,移动设备最好根据微软公司的"PocketPC"操作系统或"Tablet PC"操作 系统进行操作。客户机组件还与现存的"PocketPC"功能结合起来以与PocketPC 界面的日历、任务和今日屏幕功能进行无缝整合。它由此提供了稳定有效的工 作环境。
表单流(FormFlow)、字段流(FieldFlow)、强制流(ForceFIow)
以显示屏为形式的任何业务流程任务或步骤或操作都被称为"表单流"。 表单流用于启动被称为的"字段流"的过程交互作用,它们允许启动业务流程, 这被称为"强制流"。字段流启动激励"带外(out of band)"强制流,从而 为业务流程带来了真实世界弹性。
表单流分成三类(1)信息;(2)活动;以及(3)更新。信息表单流 是用于显示移动用户完成业务流程中的下一个逻辑任务所需的信息的屏幕。活 动表单流是用于显示用户需要做或执行的内容的屏幕。更新表单流是当提示用 户输入将返回到主机应用程序(企业数据源)的数据时所显示的屏幕。
例如,当一部分可能已出故障且可能需要执行清单数据库的搜索以査看是 否存在且能获得任何匹配部分或是否存在且能获得具有解决方案的相似问题 时,可能需要字段流,这被称为查找;或者当一部分可能需要被命令或分配或 预定以便于传递到客户机时,可能需要字段流,即被称为更新的字段流。
强制流是一种业务流程,因此是表单流和字段流的集合。强制流的示例将是时间、旅行和费用记录,该记录与工作或分派事件相关。
往回参照图2,本框图示出了目标应用程序中的列和字段之间的关系是如 何与"表单流"(业务流程中的步骤,它们在应用程序中被表示为"表单") 中的信息相关的以及接下来是如何关联到强制流(业务流程)中的。在一个表 单流中可能有许多业务对象并且在任何业务流程中潜在地有不止一个表单流。
当在移动应用程序中对其进行参照时,过滤器允许将特征和条件置于数据 上。例如,可以检测数据类型(例如曰期)、有效类型(例如仅周一到周五) 以及任何冲突条件。还可以配置其它过滤器特征和条件。
视图定义在一个或多个业务对象中用到的数据和存储位置,并且业务对象 可以基于一个或多个视图。这允许附加特征被关联。例如,业务对象可以被称 为"客户",它可以包括标准客户细节;位置、联系方式、清单以及SLA和其 它属性,应用程序将它们归为客户但并不将它们保存在相同的对象表中甚至对 象应用程序中。
V.适配器体系结构
图4示出了根据本发明的适配器体系结构。图4所示的一些组件与图1所 示的组件相似。在图4中,其功能与图1所示系统中相应的组件一样的那些组 件将用相同的标号来标识,不同之处在于以"4"开头而非以"1"开头。
图4是根据本发明构建的合适的计算机系统环境400的框图。图4示出了 移动客户机设备402,比如个人数字助理(PDA)设备,它与微软公司的PocketPC 或Palm PDA操作系统结合起来操作。客户机设备402包括与结合图1所示客 户机设备102所描述的那些组件相同的组件,但为了简单起见这些相同的组件 没有在图4中示出。移动客户机设备402通过网络连接404与应用程序服务器 406进行通信,以便请求来自服务器的数据并且接收数据更新、提供新数据以 及接收配置变化。应该理解,多个移动客户机402可以与服务器406进行通信。 为了画图简便,图4中只示出了单个客户机设备402。
移动客户机402消费服务器一方的连接器网络服务以便于从多个企业数据 存储中进行实时数据检索。另外,移动客户机购买服务器一方的数据管理程序 网络服务以便于管理实时的客户机一方的数据更新、服务器一方的数据更新以及系统配置更新。
应用程序服务器406与企业数据源408进行通信,比如CRM数据源、ERP 源、财政系统资源、旧版本数据存储等。
"Dexterra Studio"组件430与服务器406进行通信,并且包括管理员应用程 序和开发者应用程序(图4中未示出)。更具体地讲,工作室组件与服务器406 的配置器交互作用,并且数据服务器DDS与服务器406的服务器和适配器框 架交互作用,服务器406与企业数据源408进行通信。
适配器框架提供了一种接口 ,它将实施在服务器406和任何其它企业数据 源之间移动数据所需的特定输入和输出。服务器406的数据管理程序将请求并 响应于任何恰当定义的连接器组件,以便通过适配器框架与企业数据源408进 行通信。因此,服务器406使用连接对象、命令对象、数据对象以及视图的定 义,来确定对于后台企业数据源而言如何检索或保存数据以及检索或保存什么 数据。
为设计工具套件("Dexterra Adapter Designer"或DAD)提供工作室430, 以允许开发者指定适配器框架的各组件。即,DAD 430为开发者提供了通过使 用Dexterra工作室VS.NET插件程序来构建适配器框架数据组件并将这些组件 连接到任何Dexterra支持适配器的手段。组件包括连接对象、命令对象、数据 对象以及视图。
通过使用DAD 430,开发者将通过使用Dexterra支持适配器来创建到后台 数据源的连接对象。该连接对象将(通过发现/自我测量或描述)把可通过适配 器获得的数据接口对象暴露成表、存储过程、脚本、或对象(EAI等)。通过 使用Dexterra适配器设计者,开发者接下来将创建一系列命令对象,这些命令 对象通过适配器执行特定的动作,比如选择、插入、更新和/或删除。开发者接 下来定义数据对象,其中他们将选择合适的选择命令、插入命令、更新命令和 /或删除命令。然后,针对其请求/响应动作,将视图绑定到数据对象。通过使 用这种工具和体系结构,开发者可以请求并保存来自一个或多个后台企业数据 源的数据,这些数据源都映射到Dexterra服务器406内的单个定义好的数据对 象,由此提供了到物理数据结构的抽象层以及接口能力。这些动作可以通过工 具430的用户界面来实现,下文对此作进一步描述。
A. 命令对象
适配器框架的命令对象定义了一种要通过适配器(即连接器)来执行以检 索或保存数据的动作。例如,"保存客户"命令可以被定义成通过适配器将客 户数据对象保存到企业数据源。命令类型或格式将由适配器根据与它们交互作 用的企业数据源来确定并且因此必须支持。例如,用于数据系统的潜在命令类 型可以包括表、过程、SQL、脚本以及对象。
命令对象将指定将被执行的动作。根据本发明,命令动作类型包括五个定
义好的动作(l)READ (读取),(2)ADD (添加),(3) UPDATE (更新), (4) REMOVE (除去)以及(5)用于EDIT (编辑)的READ (读取)。
下文结合数据对象讨论进一步描述这些命令动作。命令对象可以指定过滤 器,它们将在执行命令时进行操作。每个过滤器将根据其相应命令类型的数据 类型来对数据进行操作。命令将包括列属性,它包括当执行该命令时返回的多 列数据。最后,命令包括一些参数,这些参数用于指定恰当执行该命令所必需 的数值。
B. 数据对象
数据对象联合命令对象以检索或保存数据,从而逻辑地将它们分组成单个 对象(例如客户对象)。数据对象是由通过适配器在企业数据源上所执行的命 令定义的(即它是在企业数据源上执行命令的结果)。如上所述,命令包括READ
(读取)、ADD (添加)、UPDATE (更新)、REMOVE (除去)以及用于 EDIT (编辑)的READ (读取)。读取命令是这样一种命令对象,它将检索 数据、定义要返回的数据列以及其属性,并且它还将覆盖数据类型以便从适配 器转向".NET"范例。添加命令是这样一种命令对象,它将通过适配器保存新的 数据实例以便将新的数据实例回插到相应的企业数据源中。更新命令是这样一 种命令对象,它将通过适配器将现存数据项的变化往回保存到相应的企业数据 源。除去命令是这样一种命令对象,它将通过适配器从企业数据源移除数据。 用于编辑的读取命令是这样一种命令对象,它将通过适配器来检索具有行锁
(RowLock)的单个记录。
数据对象将读取命令的返回元素映射到添加、更新、除去以及用于编辑的 读取等命令的各项参数。单个数据对象可以通过不同的命令检索并保存数据到 潜在不同的适配器。
C.连接
如上所述,连接将与企业数据源接口,以提供移动客户机应用程序的数据 访问。在结合本发明描述的适配器框架430中,这些连接将不与视图进行直接 通信,但将与命令对象直接进行交互,这些命令对象将最终与数据对象和视图 交换数据。
VI.配置和用户界面
在图4所示配置的服务器430中的适配器框架中,视图没有像本发明以外 的系统中的情况那样(如图2所示)绑定到单个数据表。更具体地讲,视图绑 定到具有定义好的命令的数据对象,这些命令用于读取、添加、更新、除去以 及用于编辑的读取。因此,提供了一种更通用的数据接口。视图的结构由用于 数据对象的读取命令中所指定的选定数据列来定义。
在使用本发明的视图对象配置的系统中,过滤器创建于命令对象处,而非 视图对象处。服务器430中的视图对象的配置能够抽象对企业数据源的视图 CRUD(创建,读取,更新,删除)操作,并且还能够定义CRUD而非对其硬编码。 除了变化的视图配置以及相伴的变化(比如用于创建过滤器的变化),图l所 示的其余组件都可以用于根据本发明而构造的移动平台系统。
图5示出了用于图l所示移动平台的数据体系结构的图示并且包括本发明 的一实施方式。图5示出了数据系统的视图对象具有视图ID并且绑定到定义 好的数据对象。图5示出了数据对象可以包括一个或多个来自下列的命令读 取命令、添加命令、更新命令、除去命令以及用于编辑的读取命令。
图5示出了命令对象还绑定到数据对象,并且还绑定到连接对象,它们转 而绑定到适配器对象。图5示出了适配器对象与元数据存储交互作用,而元数 据存储与企业数据源交互作用,以便检索用于移动平台的数据。
图6是用于根据本发明而构造的移动平台的数据访问配置的图示。图6示出了移动客户机(图6中被表示为"Dexterra客户机")通过服务器处的视图对 象与应用程序服务器(图6中即被表示为"Dexterra服务器")进行通信,其中 视图对象与数据对象交互作用以便通过命令对象行动从而访问适配器对象,适 配器对象最终与企业数据源(图6中即被表示为微软公司的SQL服务器以及 Siebel数据服务器)直接交互作用。在客户机设备处,移动应用程序通过智能 客户机将数据请求发送到元数据存储和业务数据存储再到应用程序服务器处 的视图对象。
图7示出了如何通过图形用户界面的文件资源管理器类型来获得对移动平 台系统的DAD特点的访问。图7是在作为DAD计算机程序应用程序的主机的 计算机设备上显示器的屏幕截图。在图7中,该显示器是窗口型的显示头衔 "Dexterra Explorer",并且显示出具有文件树形视图的工作区。该树形视图显 示出多个服务器的分层体系,这些服务器名称是Solomon、 Tempest、 Ultrium 和Thunder。应该很明显,这些服务器名称可以是任意选择的。
根据DAD程序,相对于选中的服务器,可以采取各种动作。图7示出了 "Solomon"服务器已被选中,Data Access菜单项被突出显示以显示出数据访问 选项可以被调査。在Data Access菜单项之下,显示出子菜单,其中包括Data Sources、 Datasource Types、 Commands、 Data Objects禾卩Views。通过使用DAD 程序和资源管理器菜单,移动应用程序设计者可以指定新的数据源并且可以与 相应的适配器交互作用以获得对用于移动客户机(它们将使用所开发的应用程 序)的企业数据源的访问。
图8示出了在Dexterra Explorer菜单上设计者已选中"Datasource Types", 并且图8示出了上下文菜单得以产生,从而为设计者提供了多种选项以添加新 的数据源类型、或刷新该视图、或编辑数据源类型、或删除数据源类型。因此, 选择Dexterra Explorer菜单项可以产生上下文菜单,该上下文菜单提供了在所 选菜单项上的附加操作的菜单。图9示出了来自图8的Data Sources菜单项的 选择情况,从而示出了根据设计本系统中可用的典型数据源。图IO示出了特 定数据源类型的选择情况,从中可以产生上下文菜单以便于编辑所选数据源类 型上的各项操作。图11示出了可用于选择的视图类型。如使用其它Dexterra Explorer菜单项那样,选择View菜单将产生一上下文菜单,该上下文菜单允许
设计者对视图类型执行编辑操作,其中包括创建、编辑和删除。
如上所述,如果选择Dexterra Explorer菜单上的"Data Sources"节点,则可
以通过所产生的上下文菜单来指定新的数据源。图12示出了数据源属性对话 框,它是通过使用数据源上下文菜单创建新类型的数据源而产生的。图12示 出了给设计者呈现出一屏幕,允许基于设计者可用的数据类型来选择数据适配 器。在图12中,可用适配器类型被显示成OLEDBforSQL Server、 OLE DB for Oracle、 Clarify Adapter和Remedy Adapter。这些适配器类型仅是出于说明目的 而显示的,应该理解,可以根据本发明的内容提供附加的和不同的适配器类型。 图12示出了设计者还可以指定连接类型。在选择适配器之后,设计者将选择 连接显示按钮以指定连接参数。
图13示出了一验证屏幕,用于设计者提供登录信息并选择特定的企业数 据源目标。 一旦设计者被授权,则将根据所选的适配器改变该显示。在新的数 据源被定义好之后,通过使用DAD接口,根据设计者新定义的数据源类型, 新的数据源类型节点将出现在Dexterra Explorer树形视图中(图IO)。
可以从Dexterra Explorer树形视图中创建、添加、编辑和删除其它节点。 图14示出了设计者正从树形视图中做出命令选择。选择图13中的"Add New Command"将产生图15的"New Command"对话框。
图15示出了可以针对新命令以及用于指定数据源、动作、数据类型和源 的各种参数而输入名称,还可以针对用于输入SQL语句的空间而输入名称。图 16示出了 Add Command对话框的参数选项卡接受附加命令说明。
在用于图15的Add New Command对话框的各种控制参数中,有
命令名称文本框-DAD用户输入一名称以唯一地标识该命令。在"save" 上,有一个关于该命令名称是否唯一的验证过程。
数据源-这是已定义好的数据源的下拉式列表。该信息是从元数据中发 现的。要求每个命令都具有相应的数据源。
命令类型(动作)-这是不同类型的可用命令的下拉式列表。要求每个命 令都具有一命令类型。
数据组框-该组框包括用于"Main"和"Parameters"的选项卡,并且包含许 多控制以定义该命令的多个动作。该框将根据所选数据源而不同。例如,图15所示的显示是用于RDBMS(比如SQL服务器)的。本领域的技术人员将理解, 像Oracle/Siebel系统这样的系统将不具有"SQL Statement"文本框。
源类型单选按钮-选择该单选按钮将启动两个相应的组合框(Datasource 和Source Type)并且禁用SQL语句文本框。该单选按钮指出设计者正在使用企 业数据系统可用的企业对象。
源类型框-是用于指出可从企业系统中获得的企业对象类型的列表。源 类型的示例包括SQL中的表格、视图、或存储的过程。
源框- 一种可用企业对象的下拉式列表,让用户基于按类型的滤波来进 行选择。
SQL语句单选按钮-选择该单选按钮将启动相应的文本框并禁用 SourceType和Source组合框。该单选按钮指出设计者将要指定该命令将执行的 SQL语句。
SQL语句文本框-设计者输入将要由命令执行的SQL语句。
在用于图16的Add New Command-Parameters对话框的各项参数中,有
参数列表框-包含用于选定企业对象的参数列表,若它们适合的话。图
16示出了用于Return Value禾Q CustomerFirstName的参数。
参数属性组框-示出了用于描述所选参数的属性的控制分组。
名称文本框-所选参数的名称。在图16中,该文本框已变灰了以指出它
被禁用,因为参数名称无法被编辑。
方向框-这包含一参数可能具有的方向类型的下拉式列表,比如输入、
输出以及输入/输出。
数据类型框-这包含了可用于该参数的数据类型的下拉式列表,若可用的话。
所需的框-包含了布尔值真或假,并由此指出是否需要该参数。 数值文本框-如果该参数的数值将被强制,则该文本框是可用的。 在编辑过程完成之后,Dexterra Explorer中的树形视图将被更新以反应出 任何己添加的项。例如,图17示出了被称为"CustomerQuery"的新命令已被添 加到该树形视图。因此,该名称命令将可用于任何使用DAD连接到Solomon 服务器的后续开发者。应该注意到,通过使用Dexterra Explorer图形用户界面
并且编辑多个命令,新的CustomerQuery命令还可以被操纵(复制、移动、编 辑和移动等)到树形视图的另一个节点。
因此,Dexterra Explorer工具能够创建常规的企业连通性,并且能够针对 实现方式的特定实例分离到达任何具有该配置和适应性的后台企业系统的连 通性。这允许在.NET接口和待开发的后台系统之间进行通信,这种开发与该后 台系统所需的信息配置是分开的,由此创建了一抽象层并允许配置工具管理该 适应性。这样,所揭示的工具就实现了一种特定的Dexterra适配器接口,它将 绑定到Dexterra数据管理程序,并实施在Dexterra服务器和任何企业数据源之 间移动数据所必需的特定输入和输出。
图18是一流程图,示出了上述移动数据平台系统的操作过程。在第一操 作(框1802)中,用户指定(创建)连接对象,它提供了到后台企业数据源处 所存储的数据对象的接口并且将可通过该连接对象获得的数据接口对象暴露 成表、存储过程、脚本、或对象中的任一种。在接下来的操作中(框1804), 确定了数据动作,其中将要在数据接口对象上执行数据动作,其中该数据动作 由根据命令对象来标识该数据动作的数据对象来指定。在最后一步操作中(框 1806),视图对象绑定绑定到数据对象以便在数据接口对象上执行指定的命令 对象数据动作。
如上所述,使用Dexterra工具时,系统设计者将利用Dexterra-支持的适配
器来创建到达后台企业数据源的连接对象。该连接对象(通过使用发现和内部 检查或通过描述)将可通过适配器获得的数据接口对象暴露成表、存储过程、 脚本、或对象。接下来,使用Dexterra工具时,设计者将创建一系列的命令对 象,这些命令对象通过适配器执行特定的动作。这些动作可以包括像选择、插 入、更新、和/或删除等操作。接下来,设计者定义数据对象,其中它们将选择 合适的选择命令、插入命令、更新命令、和/或删除命令。接下来,视图对象绑 定绑定到数据对象以便于其请求和响应动作。使用该技术时,开发者可以请求 并保存来自一个或多个后台数据源的数据,这些数据源映射到Dexterra应用程 序服务器内单个定义好的数据对象,由此提供了到物理数据结构的抽象层以及
接口能力。
当移动平台响应于移动客户机而工作时,应用程序服务器的数据管理程序
将请求并响应于该系统的任何连接器接口组件。应用程序服务器使用连接、命 令、数据和视图等对象的定义来确定对于后台企业数据源而言如何检索或保存 数据以及检索或保存什么样的数据。
根据本发明,提供了一种供移动应用程序的设计者使用的被称为"DAD"的 计算机程序工具,以创建到达移动数据平台系统中全异企业数据源的定制企业
连通性。该DAD应用程序工具通过附图的用户界面提供了这些特点。因此, 该DAD应用程序工具提供了一种用于指定对多个企业数据源和移动客户机之 间所共享的数据进行应用程序处理的手段。如上所述,DAD应用程序提供了 用于指定连接对象的手段,该连接对象提供了到达后台企业数据源处所存储的 数据对象的接口并且将可通过该连接对象获得的数据接口对象暴露成表、存储 过程、脚本、或对象中的任一种;用于指定命令对象的手段,该命令对象执行 特定的数据动作;用于指定数据对象的手段,该数据对象准许移动数据客户机 指定将要在数据接口对象上执行的命令对象数据动作之一;以及用于指定视图 对象的手段,该视图对象适合于绑定绑定到数据对象以便执行指定的命令对象 数据动作。
包括DAD工具的计算机程序可以被安装在计算机装置或系统上,比如台 式计算机、笔记本计算机等,只要该DAD工具程序可以接收用户输入以实现 连接适配器指定过程并且还可以验证数据源、绑定等就可以。配置好的适配器 和连接对象可以被包括在移动数据平台系统之内并且被安装在移动平台的应 用程序服务器处,所以适配器的操作特点可以用在移动客户机处以便用企业数 据源进行操作。
上文根据较佳实施方式对本发明进行了描述,使得对本发明的理解能够得 到传达。然而,有许多适用于移动企业数据系统的配置并未在本文中具体描述, 但本发明都可应用于这些配置。因此,本发明不应该被视为仅限于本文所描述 的特定实施方式,而是应该理解,关于移动企业数据系统本发明通常具有很宽 的应用性。落在所附权利要求书的范围之内的所有修改、变化或等价排列方式 和实现方式都应该被视为落在本发明的范围之中。
权利要求
1.一种用于指定在多个企业数据源和移动客户机之间所共享的数据的应用程序处理的方法,所述方法包括指定连接对象,所述连接对象提供了到后台企业数据源处所存储的数据对象的接口并且将可通过所述连接对象获得的数据接口对象暴露成表、存储过程、脚本、或对象中的任一种;确定将要在所述数据接口对象上执行的数据动作,其中所述数据动作是由根据命令对象标识所述数据动作的数据对象来指定的;以及使视图对象绑定到数据对象以便在所述数据接口对象上执行指定的命令对象数据动作。
2. 如权利要求l所述的方法,其特征在于,所述命令对象可以指定由数 据选择、插入、更新和删除中的任一动作所构成的数据动作。
3. 如权利要求l所述的方法,其特征在于,指定所述连接对象包括从多 个适配器中进行选择,各适配器适合于与全异的企业数据源进行通信。
4. 一种计算机程序系统,用于指定在多个企业数据源和移动客户机之间 所共享的数据的应用程序处理,所述系统包括用于指定连接对象的装置,所述连接对象提供了到后台企业数据源处所存 储的数据对象的接口并且将可通过该连接对象获得的数据接口对象暴露成表、 存储过程、脚本、或对象中的任一种;用于指定命令对象的装置,所述命令对象执行特定的数据动作;用于指定数据对象的装置,所述数据对象准许移动数据客户机指定将要在 数据接口对象上执行的命令对象数据动作之一;以及用于指定视图对象的装置,所述视图对象适合于绑定到所述数据对象以便 执行指定的命令对象数据动作。
5. 如权利要求4所述的系统,其特征在于,所述命令对象可以指定由数 据选择、插入、更新和删除中的任一动作所构成的数据动作。
6. 如权利要求4所述的系统,其特征在于,所述指定的连接对象选自多 个适配器,各适配器适合于与全异的企业数据源进行通信。7. —种计算机程序系统,用于指定在多个企业数据源和移动客户机之间 所共享的数据的应用程序处理,所述系统包括处理器,所述处理器通过应用程序服务器与所述移动客户机进行通信并与 所述企业数据源交互作用;设计者工具应用程序,用于指定连接对象、指定命令对象、指定数据对象、 以及指定视图对象,所述连接对象提供了到企业数据源之一处所存储的数据对 象的接口并且将可通过连接对象获得的数据接口对象暴露成表、存储过程、脚 本、或对象中的任一种,所述命令对象执行特定的数据动作,所述数据对象准 许移动数据客户机指定将要在数据接口对象上执行的命令对象数据动作之一, 所述视图对象适合于绑定到所述数据对象以便执行指定的命令对象数据动作, 其中所述命令对象可以指定由数据选择、插入、更新和删除中的任一种动作构 成的数据动作并且其中所述连接对象选自多个适配器对象,各适配器对象适合 于与全异的企业数据源进行通信。
全文摘要
一种数据体系结构提供了多个视图对象,这些视图对象定义了通过连接器到达应用程序的企业数据源接口,并且还用到了由命令所定义的数据对象。因此,数据对象包括可配置的请求,这种请求针对的是通过命令而被发送到企业数据源的适配器的数据。本体系结构使应用程序开发者能够创建到达全异后台企业数据源的常规企业连通性。
文档编号G06F9/46GK101198931SQ200680008968
公开日2008年6月11日 申请日期2006年3月21日 优先权日2005年3月21日
发明者M·克里斯汀, R·奥法瑞尔 申请人:德克斯泰拉股份有限公司