移动数据和软件更新系统及方法

文档序号:6377250阅读:625来源:国知局
专利名称:移动数据和软件更新系统及方法
技术领域
本发明通常涉及移动计算系统,以及更具体地说,涉及移动计算系统中的数据管理和数据配置(data deployment)。
背景技术
近年来,在事务部门和决策人员处理的自动化中,已经投入了许多资源。例如,大量金钱花在开发和购买完善的客户关系管理(CRM,customer relationship management)和企业资源计划(ERP,enterpriseresource planning)系统。尽管许多单位发现这些系统实现麻烦并且难以与现有的传统数据系统结合,但许多公司意识到相当大的节省和效率。这些改进有助于流行技术导致的生产率增加。
办公过程自动化努力通常集中在许多客户关键的过程上,其中单位与客户交互作用,但努力大量地在公司的前门停止。最近,许多单位正力求将自动化的好处带给它们的劳动力的最少自动化部分它们的移动雇员。这些工人在单位的客户感知方面起主要作用。近年来,自动化的程度和对这些工人的强制业务过程已经限定到移动计算设备,诸如寻呼机和蜂窝电话。
移动计算能向具有会见客户的现场工作人员的信息驱动的企业提供实质性好处。例如,能根本上增加现场工作人员生产率,以及通过为现场工作人员提供移动计算设备,能显著地加速决定性业务过程,诸如下订单和服务调度。为这些移动计算系统的早期采用者的许多企业已经发现这些好处通常带来巨大成本。移动平台的采用者所面对的一些主要困难包含与企业中的其他数据的结合。
因为移动应用通常以阻止与企业的其他数据系统综合的专用的封闭体系结构出现,可出现企业数据综合的问题。例如,企业中的数据可以在四个或五个不同源中维护。一些数据源包括CRM系统、配置系统、ERP系统和金融记录系统。这些数据源的每一个能利用不同的数据体系结构、格式和协议。存储的数据和数据的结构以及访问机制经常改变。许多移动计算系统产生临时数据存储器,其中,收集来自企业中的各个源的数据。用这种方式,来自每个具有不同数据体系结构和格式的不同企业数据源的数据能收集在单个共用数据存储器中。移动用户能通过访问临时数据,而不是实际企业数据源来访问企业数据。然而,临时数据存储器产生它自己的数据更新和冲突问题。必须频繁地执行同步操作和其他安全措施,以确保临时数据存储器中的数据是企业数据源中的数据的可靠副本。
作为这些困难和增加的复杂性的结果,重申强调要求移动应用完全与其他应用和数据结合,以及具有更大操作能力。本发明满足这些需要。

发明内容
根据本发明,在分布式系统中的多个企业数据源和移动客户机之间利用数据,使得接收来自移动客户机的企业数据请求,确定包含请求数据的适当企业数据源,以及从确定的企业数据源检索企业数据。当检索到企业数据时,它被转换成一种关系格式,即使数据来自不同的非关系型(例如文件系统、电子邮件等等)的多个企业数据源。转换后的企业数据被存储在移动客户机中的关系数据存储器中。用这种方式,移动应用能完全与来自多个企业数据源的数据结合以及数据更新和结构改变可被实时分发到和来自移动客户机,而不使用临时数据存储器,从而避免了企业数据源和移动客户机之间的复杂同步和异步数据问题。实时数据改变可包括将改变配置到移动应用本身,以及数据更新。实时改变进一步被提供数据冲突检测和分辨。
从通过举例方式示例说明本发明的原理的优选实施例的下述描述,本发明的其他特征和优点将显而易见。


通过结合附图,参考下述详细的描述,本发明的优选将变得更容易意识到和更好理解,其中图1是用于根据本发明构造的移动企业平台的适当计算机系统环境的框图。
图2是图1所示的移动企业平台中的数据的逻辑结构的框图。
图3是示例说明图1的企业数据源和移动客户机之间的连接器接口的框图。
图4是用于图1的管理员组成应用的业务对象窗口的屏幕显示。
图5示出用于管理员应用的分组窗口的屏幕显示。
图6示出用于图1的管理员组成的安全设置窗口的屏幕显示。
图7示出用于管理员组成的尺度窗口的屏幕显示。
图8示例说明用于在图1的移动客户机处生成以示出已经请求服务呼叫的客户的修复队列的“队列”页的显示屏。
图9示出通过启动客户激活操作时,移动客户机设备的队列显示页。
图10示出对于从图9的队列选择的客户机,移动应用的概述显示页。
图11示出移动应用的产品历史显示页,提供将服务的产品的信息。
图12示出用于从图9选择的服务呼叫的移动应用的详细显示页。
图13示出用于从图9选择的服务呼叫的移动应用的部分显示页。
图14示出用于从图9选择的服务呼叫的移动应用的总数据收集显示页。
图15示出用于从图9选择的服务呼叫的移动应用的签名显示页。
图16示出在完成从图9选择的服务呼叫后,移动应用的队列显示页。
图17是示例说明在多个企业数据源和移动客户机之间共享数据的移动企业平台的操作的流程图。
具体实施例方式
1.系统概述本发明提供一种系统,其中,利用从多个企业数据源到执行移动应用的移动客户机的数据,使得移动应用与多个企业数据源结合,以及数据更新和配置变化能实时分发到移动客户机,或从移动客户机实时接收,而不使用临时数据存储器。消除临时数据存储设备避免了企业数据源和移动客户机之间的复杂同步和异步数据问题。因此,用于移动应用的数据更新和系统配置更新能实时地从企业传送到移动客户机,或从移动客户机传送到企业。由于可通过系统实时传播变化,不需要专门的同步操作。
II.系统平台图1是根据本发明构造的适当计算机系统环境100的框图。图1示出移动客户机设备102,诸如结合Microsoft PocketPC或掌上PDA操作系统操作的个人数字助理(PDA)设备。移动客户机设备经由网络连接104与应用服务器106通信,以便从服务器请求数据和接收数据更新、提供新数据和接收配置改变。应当理解,多个移动客户机102能与服务器106通信。为制图简化起见,在图1中仅示出了单个客户机设备102。
移动客户机102使用服务器端连接器web服务,用于从多个企业数据存储器的实时数据检索。另外,移动客户机使用服务器端数据管理器web服务,用于客户端数据更新、服务器端数据更新和系统配置更新的实时管理。
应用服务器106与企业数据源108,诸如CRM数据源、ERP源、金融系统源、遗留数据存储器等等通信。在图1中示例说明的示例性企业数据源包括数据,包括来自San Mateo,California,USA的SiebelSystem,Inc的“Siebel”软件、来自Redwood Shores,California,USA的Oracle公司的“Oracle”软件、来自Walidorf,Germany的SAP AG的“SAP”软件,以及遗留软件。管理员应用110和开发人员应用112与还存储用于系统的元数据114的应用服务器106通信,如稍后进一步所述。
应用服务器106提供数据管理器、配置和数据连接器web服务,用于数据互换和更新、用户验证、安全性和登录服务。应用服务器还以业务信息和规则的形式,处理业务过程管理。
移动客户机102还包括数据存储器116,包括存储业务数据120的关系数据库118以及存储用于移动客户机上的应用执行的元数据122的关系数据库。安装在移动客户机102上的应用124包括执行适当功能的各种软件组成。例如,应用可以包括现场服务应用,通知现场服务人员有关请求服务的位置、解释服务请求的性质并提供登录服务访问和付帐。应用124可以包括处理由移动客户机102请求的数据的多个应用。
管理员应用110和开发人员应用112一起组成“工作室”组件130。在所示的实施例中,管理员和开发人员提供为两个不同的应用,以及提供配置系统的部件,包括元数据和应用接口。
系统100包括支持服务应用124的移动企业平台。系统提供有效地配置和管理移动软件解决方案以增强移动业务过程的web服务集。通用例子包括集成到CRM或ERP、销售人员自动化(SFA)以及用于企业的客户支持和帮助桌式功能。这些企业应用依赖于交叉应用相互作用,因为来自一个功能或系统的数据通常由不同的功能或系统使用。当在移动客户机上执行时,在多个企业软件应用、旧数据系统和移动工作者间利用现有的应用功能性和企业信息。用这种方式,对这些应用和移动企业平台来说,能实现对投资的相当大的回报。
移动企业平台100提供简化现场中的移动客户机和相关便携式设备的使用的Web服务。这些Web服务包括数据管理器功能、配置功能和连接器功能。这些将在下面更详细地描述。安装在移动客户机102上的应用124在它们由应用服务器106正确启动后,以任何连接或未连接状态,可以是全功能的。
III.逻辑体系结构利用如图1所示的移动企业平台的任何客户机应用将利用在图2的框图中所示的系统组件。这些组件包括业务对象--基于业务原理、结合现场和来自不同企业数据源(例如诸如客户、联系人、资产、任务等等的数据源)的相关信息的可编程对象。
业务规则—强制业务过程利用业务常数和施加给来自企业数据源的业务数据的校验的客户逻辑。
业务常数(business constant)--贯穿客户机应用以及客户机和服务器端业务规则(例如业务规则、告警消息等等)使用的用户可配置变量。
数据源连接器--设计成无缝地提供对大量企业数据源(例如数据库,诸如根据Oracle和SQL服务器格式化的数据库、管理系统,诸如MQ系列或MSMQ、CRM应用,诸如Siebel或Peoplesoft、通用Web服务等等)的访问。
业务过程--隐喻(metaphor),诸如Bothell,Washington,U.S.A的Dexterra有限公司的“Force Flow”过程,定义用于模拟业务过程的逐表格导航范例。
表格--标准可视显示屏(例如查看、编辑、查找等等)与设计成显示信息、收集信息和引导用户到给定业务过程,在此被称为“人员流”或“现场流”的事件驱动逻辑的组合。
视图--从由一个或多个业务对象利用的企业数据源或应用识别的数据的可修改表示。
过滤器--能应用于视图以便修改可用于业务对象的数据的过滤器。
能使用这些组件来指定利用技术框架,诸如微软公司“.NET”和工具,诸如微软公司的“Visual Studio.NET”构建的任何客户应用的配置(逻辑体系结构)。本领域的技术人员将熟知指定一个应用及其相关数据对象的这种编程工具。
图1所示的移动企业平台实现为元数据驱动框架。该框架提供集成的客户机和服务器web应用,使能配置故障安全、任务关键的移动企业解决方案所需的连接、配置和数据管理任务。
图2示例说明在图1的移动企业平台中,将关系数据库表的结构和外部应用业务对象映射到作为元数据的视图。由也在元数据中定义的业务对象消费一个或多个视图,再由移动应用利用。移动应用利用客户机框架,也称为“Dexterra Smartclient”,管理业务对象的例示、对于驻留在移动客户机设备上的基本物理数据库的本地数据访问、设备集成以及经由数据管理器和/或连接器web服务的客户-服务器数据通信。在该平台内,定义用于所有逻辑层(例如业务对象、视图、过滤器和连接器)的规格,并保持在元数据内。
移动企业平台被体系化为逻辑栈、设计成来自所有但非相邻成员的逻辑体系结构中的绝缘层。在逻辑栈的底部,目标层是驻留在后端、企业数据源中的数据。平台与源数据原地工作,以及不要求将后端记录系统内的信息复制到中间层复制数据库。即,不需要临时数据存储。这提供了设计灵活性以及实时数据访问,并能有助于降低平台和应用的所有权的总成本,以及帮助简化数据管理过程。
逻辑栈向上的下一层是连接器层。连接器层提供以关系格式,向应用服务器描述后端数据存储器的可编程结构。有关如何连接到企业数据源的信息以及安全性设置(诸如验证方法和用户和组定义)存储在元数据内并使用管理员组件进行维护。
堆栈中的下一层是视图层,包括提供对后端、企业数据源中的对象或表的一对一映射的对象。例如,如果后端系统具有被称为CUST_ADDR(客户地址)的表,以及在一个应用中要求使用来自该表的数据,则将在管理员组件中创建一个视图。该管理员视图可以被称为例如CUSTOMER_ADDRESS以表示在移动企业平台环境下的数据在企业数据源之外。应理解到,视图具有对应于后端系统中的数据对象的属性或列的属性。然而,不需要后端数据源中的所有属性被需要作为视图中的属性。事实上,需要的属性在管理组件中定义并存储为正如所提供的例子中的元数据,该属性可以包括诸如ID、STREET_ADDR、CITY、STATE和ZIP_CODE的字段。
另外,用户可以定义视图内的属性的数据类型,以及这些数据类型可以与企业数据源中的相应属性的数据类型无关。能识别的视图属性的其他选项是唯一标识符、只读、索引、所需属性和长度。所有上述信息均存储为元数据。
视图层也提供数据冲突的指示,并提供用于解决这种冲突的手段。数据冲突会发生,例如每当在正从移动客户机上载和存在于服务器的数据之间存在数据改变时。能在视图层执行这些冲突的分辨,强制执行业务规则,诸如允许最近的数据改变总是优先,或根据数据类型(例如现场数据或客户帐户数据),允许来自特定源(例如移动客户机或企业数据源)的数据改变优先。这在下面结合数据管理器web服务进行描述。
如图2所示,能相对于多个数据存储器中的多个对象定义视图,从而提供应用配置和原地系统使用的灵活性,而没有数据复制的负担。关于连接器,视图的定义存储在元数据中并通过管理器管理。本领域的技术人员将理解元数据中的数据定义的细节,而不进一步说明。如上所述,能将过滤器应用于视图以便修改传递给下一层的数据。管理器提供视图管理特征,包括基于后端数据存储器对象(来自企业数据源)的对象接口或表定义,自动创建视图的视图向导。
图2图表上方的下一层包括映射或与一个或多个视图有关的业务对象。平台的业务对象是可编程实体,当构造个性化移动应用时,开发人员将与其相互作用。业务对象包括多个属性,每一个能是简单数据类型,或能是另一业务对象。因为平台的业务对象能映射到多个视图,开发人员能与表示源自多个不同数据源的数据的单个实体工作。因此,根据本发明的移动企业平台定义的单个业务对象可以包括来自多个、可能不兼容企业数据源的数据,诸如来自不同专用格式。
在创建或修改用于移动应用和移动客户机设备的应用过程中,开发人员可以仅与业务对象层交互作用。这将开发人员与理解或直接与用于源数据的后端系统(企业数据源)交互作用的任何需求隔离。用这种方式,业务对象层提供用于应用开发人员的基于对象的接口,抽象持续细节和数据检索。对开发人员来说,不需要直接与移动设备上的本地数据存储器交互。另外,由于断续数据的属性,移动客户机通过业务对象接口,通过将在更新过程期间将传递到应用服务器的数据改变本地存储在客户机中,来自动管理数据改变的处理。这进一步将开发人员与该机械的编程任务隔离。
业务对象存在于移动客户机设备上作为元数据,以及还使用管理器(图1)来管理。在整个移动企业平台上使用元数据提供了大多数数据实体的属性和行为可以通过图形用户界面而不是编码来配置的环境。
移动企业平台的元数据驱动属性使得可以通过无国籍服务器体系结构,在移动客户机上执行业务过程。通过元数据,能配置和个性化移动应用。元数据定义将业务企业数据引用到移动设备的业务对象的结构,以及定义触发管理业务过程的业务规则的事件。
元数据数据库包含通过连接器揭示以配置业务对象的交叉功能、交叉应用后端业务信息的引用。通过Studio组件(图1)来实现该过程,以便配置和引用将企业数据源业务信息与业务对象相连接。这提供了到用于移动应用的特定数据的路径,确保无来自企业数据源的业务数据以其自然数据格式存储在应用服务器上,或系统的任何其他临时数据存储器上,用于数据更新。使用元数据的该非侵入和实时同步方法允许移动企业平台通过最少量的中断有效地连接到后端系统,同时最大化交叉功能数据访问、数据一致性和数据完整性。
IV.移动企业平台组件A.移动应用如上所述,移动客户机102(图1)能包括实现企业的业务过程的安装的应用124。该应用能影响如上所述的移动企业平台,以及论述应用如何例示驱动以元数据配置的业务过程的业务对象。
例如,将任务或工作定单信息通过视图提供给移动应用以及将经由业务对象访问。在经视图定义检索业务数据时,使用数据管理器web服务,业务对象可将业务数据提供给移动应用以便描述任务。该数据存储在移动设备上的本地关系数据库中。当在来自应用的请求中,更新任务数据被提交给任务业务对象时,Smartclient应用将持续对移动客户机上的视图定义的数据存储器的改变,然后,Smartclient经数据管理器web服务,管理返回到原始数据源的数据更新,确保数据完整性和一致性。
通过利用在此所述的移动企业平台中可用的web服务(例如连接、配置和数据管理器服务)的深度、宽度和能力,能容易构造一大批移动应用,包括诸如销售人员生产率、客户服务和支持解决方案的应用。这些应用能与广泛的垂直应用集结合,该垂直应用包括石油/汽油、健康护理/医学和金融服务工业解决方案。
B.服务器组件应用服务器是一种元数据驱动的平台应用,并将信息、应用和业务过程提供给移动客户机,以及确保移动企业平台和后端企业数据源的主机之间的管理的数据完整性。应用服务器是建立在来自Redmond,Washington,U.S.A的微软公司的“.NET”技术上的基于过程的、高性能解决方案。使用“.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、SA、PeopleSoft,Oracle、SQL服务器等等的连接器。
例如,“Oracle”应用连接器允许客户调用Oracle支持服务,通过客户具有的到API的最接近数据结构(诸如PL/SQL过程)或经ODBC直接到企业数据库本身。关于所有ODBC连接器,自动执行RDBMS模式的动态询问,揭示数据库的专门物理设计。这向客户给出到该系统中的实际接口的分层视图。
图3示出连接器如何将企业数据源连接到移动企业平台的例子。在图3的左侧表示多个企业数据源,包括ERP数据源302、CRM数据源304、HR/金融数据306、旧/ODBC数据源308并能包括其他Web服务或其他源(未示出)。在图3的中间部分表示向应用服务器314指定将如何在图3的右侧表示的移动客户机316中存储和关联来自不同企业数据源的数据的元数据312。
因此,在该例子中,识别为ORDER_ID的数据存在于ERP数据源中。识别为F_NAME和L_NAME的数据存在于CRM数据源中。识别为CRED_LIM的数据存在于HR/金融数据源上,以及识别为WARRANTY的数据存储在旧/ODBC数据源中。所有这些识别的数据存储在诸如后端办公系统处的企业数据源中。
在元数据312中,将来自企业数据源的数据定义映射到用来创建客户机上的数据存储以及将来自企业数据源的有关移动客户机的相关业务数据存储在关系数据库中的视图。经由移动客户机上的元数据中定义和存储的业务对象层,执行对该业务数据的访问。如图3所示,将来自ERP数据源的ORDER_ID映射到称为OrderID的业务对象属性,其关系定义存储在有关移动客户机316的元数据318中,并由也在元数据中定义的一个或多个移动应用利用。将来自CRM企业数据源的F_NAME映射到(存储到)在移动客户机数据库中存储的FirstName业务对象属性定义,以及将L_NAME数据映射到LastName业务对象属性。类似地,来自HR/金融数据源的CRED_LIM数据映射到CreditLimit业务对象属性,以及来自现存/ODBC数据源的WARRANTY数据映射到Warranty业务对象属性。因此,来自可能不同和不兼容的完全不同企业数据源302,304,306,308,310的数据以使用移动客户机上的业务对象之一访问的适当格式(在移动客户机316中用实际值表示),通过到本地数据存储器的数据管理器web服务(由从企业数据源到应用服务器314的线表示)递送到移动客户机。
连接器类型由连接器Web服务支持的连接器包括下述三种连接器类型1.当将移动平台连接到(a)不符合ODBC,或(b)不允许ODBC/RDBMS连接,或(c)其接口由标准API定义以及能由Web服务描述符语言(WSDL)包装和定义的第三方系统时,使用Web服务连接器。
2.当将移动平台连接到(a)符合ODBC和(b)允许直接ODBC/RDBMS访问和(c)其数据物理上位于同一LAN环境内,或经由支持传输的通信协议(诸如RPC、TCP等等)访问的第三方系统时,使用ODBC/RDBMS连接器。
3.API连接器与Web服务连接器类似,但(a)要求API经由非Internet协议,诸如RPC可访问,以及(b)如果Web服务接口不可用,则使用它。
经由ODBC/RDBMS连接器,使用管理器应用,通过使用移动企业平台的Studio部分130(图1)来实现读取模式信息。使用Studio部分来配置映射到后端数据源的视图定义并将一个或多个视图的定义映射到一个或多个业务对象。当定义视图定义或将视图映射到业务对象时,使用管理员,将信息存储为元数据。在通过应用服务器和企业数据源的更新过程期间,读取元数据以确定如何读取、坚持和去除数据(选择/插入/更新/删除功能),同时使用诸如冲突检测/分辨的功能,只要适合的话,固有和补偿的事务,来管理和实现数据完整性。
使用ODBC/RDBMS连接器,在微软公司SQL服务器或Oracle的RDBMS(8i,9i等等)的情况下,经由ANSI SQL语句和/或存储的过程,读取、坚持和/或去除数据。使用Web服务/API连接器,通过调用用于事务的适当API函数或方法,读取、坚持和/或去除数据。
2.配置Web服务由Dexterra Studio消费的配置Web服务提供用于管理员、业务分析员和开发人员的易于共同操作的方法,以便实现、配置和管理Dexterra移动企业解决方案。配置Web服务允许易于操作用来配置和个性化移动应用的数据和过程定义的元数据。将参考管理员组件的特性更好地理解该服务,这将在下面更详细地描述。
3.数据管理器Web服务更新过程模型在系统中利用更新过程模型,其中,移动应用使用揭示为用于易于共同操作的Web服务的核心网络组件,通过后端企业数据库,来更新它们本地保持的数据(应用或其业务对象)。
数据管理器Web服务更新移动应用和所有其相关的业务对象定义的数据。更新过程模型允许经由Dexterra应用服务器和移动客户机而在企业数据源之间的双向数据传送,允许在移动客户机连接到网络时进行更新,当连接它们时合并客户机之间的更新。当处于断开状态时,在客户机环境下管理更新,直到获得连接状态和能启动更新请求的时间为止。
更新过程模型采用“所有或无(all or nothing)”方法。如果在将整个流从应用服务器下载到移动客户机上之前(或将整个流从客户机上载到服务器之前),出现了故障,那么应用服务器上的数据管理器Web服务收不到有关下载事务(或上载)的确认。结果,服务器具有管理客户机状态的才能,有关它是否要求数据退回或简单重试的。当移动客户机第二次执行更新过程操作时,应用服务器考虑初始信息状态,以及如果应用服务器已经处理,则递送结果,或在应用服务器还未接收所有请求的信息的情况下,再次处理,从而在移动客户机和应用服务器之间一次或仅一次实施信息的可靠递送。当从移动客户机移动到一个或多个后端数据源时,这最终实施数据的完整性。
更新过程细分支持两种类型的更新处理1获得最新信息在该更新类型中,移动客户机请求经Dexterra应用服务器,从企业数据源获得最新信息。Dexterra应用服务器处理该请求以及使用Dexterra连接器Web服务,从多个数据源检索业务信息,并将业务信息递送到移动客户机。
2更新(双向更新)在该更新类型中,互换客户机和服务器端上的记录,使用Dexterra冲突分辨配置的参数,实施移动客户机和后端企业数据源上数据的完整性。
冲突检测/解决冲突解决描述了用来对于由移动客户机和一个或多个后端企业数据源之间所做的改变引起的数据冲突判优的规则。这首先通过识别冲突(检测),然后用一个或多个不同方式解决(分辨)冲突。
Dexterra应用服务器能以三种方式修订、日期/时间戳或手册(Manual)中的一种检测冲突以及根据行或列等级,识别冲突情况。
修订是一种设定,其中,在单个记录源中识别特定字段或属性作为已修订,Dexterra应用服务器将使用此来确定在后端数据源或移动客户机上是否已改变数据。
日期/时间戳日期/时间戳是一种设定,其中,在单个记录源中识别特定字段或属性作为日期/时间戳并根据任何插入/更新或删除被更新,以及Dexterra应用服务器将使用此来确定在后端数据源或移动客户机上是否已改变数据。
手册是一种设定,其中,不存在识别单个记录源中的冲突情况的特定字段或属性,因此,Dexterra应用服务器比较所有字段或属性数据以便定义唯一性并检测在后端数据源或移动客户机上是否已改变数据。
根据Dexterra应用服务器的配置,用四种方法第一更新获胜、最后更新获胜、管理员解决或服务器端规则中的一个来解决冲突。
第一更新获胜在第一更新模型下,应用服务器将仅接收为第一个的任何记录的改变以进行更新。如果由后端数据源首先更新记录以及由更新Web服务检测到冲突,则不返回错误,数据管理器Web服务将丢弃由客户机提供的版本并将来自后端企业数据源的记录的最新版本的副本返回到移动客户机。
最后更新获胜在最后更新获胜模型下,服务器不需要检测冲突。事实上,它简单地将来自移动客户机的改变继续到后端企业数据源,盖写后端企业数据源中的当前记录。
管理员(或人工)解决当配置管理/人工分辨时,服务器将所有冲突处理为要求人工干预来分辨并返回来自后端企业数据源的当前记录的副本,以及经任何通知服务(SMS,电子邮件等等),可选地通知冲突情况已经出现以及允许经Dexterra管理员解决。这样做允许列级冲突解决,因为管理员确定有选择地再次应用回后端企业数据源的值。
服务器端规则能创建个性化服务器端规则以便更可编程和特定地确定应当如何解决某些冲突情况。例如,可以基于记录中的数据的值来解决冲突。该灵活性允许环绕冲突解决情况的特定动作上的完全控制。
来自服务器的客户机配置应用服务器包含将下载到移动客户机的一个或多个移动现场应用的定义,包括表示为任务的表格/屏幕(被称作“表格流(FormFlows)”)、数据交互作用(被称为“现场流(Field Flows)”),以及表格流和现场流的组构成为业务过程/工作流(称为“人员流(ForceFlows)”)。下面进一步描述表格流、现场流和人员流。应用定义还包括与应用,诸如视图、业务对象、业务常数定义有关的配置的元数据。在配置中还包括来自在“偶尔”连接状态下运行移动客户机所需的一个或多个后端企业数据源的特定业务数据。
应用服务器提供递送和管理应用以及连接到现有的企业数据源和系统的基础。通过应用服务器,移动企业平台应用分配和管理到移动设备,诸如Pocket PC和Tablet PC设备,提供现场所有用户界面的高度可管理操纵。
C.管理员组件如上所述,管理员组件(图1)允许系统管理员执行相对规律或频繁的改变。管理员组件以适合于业务分析员或管理员的格式,提供对决定变量、下拉列表内容和其他信息的访问以便管理。该管理方法允许系统管理员将许多功能向下扩展到管理员级,而不损坏系统完整性。
例如,能通过业务对象定义表格,接收包括用来定义企业的业务过程的业务信息的数据。配置Web服务提供对管理员组件的这一方面的访问。
图4是用于管理员组件应用的业务对象窗口的屏幕显示。在计算机桌面上执行该应用作为系统的“Studio”部130(图1)的一部分。图4屏幕页示出客户管理员可以从业务对象列表中进行选择,以及对所选择的业务对象,可以提供描述。也可以从一个列表中选择用于被选业务对象的属性。用这种方式,提供易于使用的界面,用于配置和修改安装到移动设备上的应用。
管理安全性系统和管理员组件的设计支持提供增加和改变用户、与“两层”安全性模型中的现有目录服务和/或LDAP或有效目录服务合并的机制的安全性管理特性。然后,安全管理基于在确定客户机识别谁的验证过程中接收的信息,“授权”该客户。因此,提供了高级安全性,因为应用在客户机上是安全的(请求用于访问的用户名/口令),以及下载数据在客户机上是安全的,以及控制系统访问(通过SQL CE接口)。存在通过配置桌面内置在系统中的“设备禁止”过程,以及可以不允许用户访问设备应用和数据。另外,存在内置在系统中的大量历史跟踪、登录和度量,用于检查目的。在整个安全套接字层上,支持其它安全性模型,包括IIS验证支持和DB/第三方系统级安全性/验证。
图5示出用于为Studio组件的一部分的管理员应用的组窗口的屏幕显示。如图5所示,由移动企业平台支持的配置管理允许定义将管理安全性的组,以及允许对于基于角色的模型内定义的组识别管理员。最后,对于每一组,能从一个列表中选择管理许可级。因此,该配置服务应用页提供管理安全性特征的方便手段。
安全设定对于现有企业应用和数据存储的快速、有效、可靠连接性对系统的操作很重要。应用服务器提供快速集成到现有企业数据源和安装软件应用,诸如Siebel系统或Oracle系统,或客户室内开发系统的服务。
图6示出用于管理员组件的安全设定窗口的屏幕显示。对于每个企业数据源,安全设定窗口允许管理员定义服务器名称和访问连接串,以及用于这种数据的客户数据存储的相应移动客户机信息。可通过安全设定窗口指定其他安全设定,诸如验证、授权和同步数据设定。
支持性能监视以允许应用服务器的性能以及其他管理功能性的可见度。性能监视包括错误登录能力。
图7示出用于管理员组件的尺度窗口的屏幕显示,其示例说明可被选择用于登录的系统性能尺度的类型。如所示,能选择和配置Web服务,能指定连接器,以及能选择登录和同步操作用于跟踪。
Dexterra Studio Developer称为“Dexterra Studio Developer”的特征允许编程员对移动应用执行改变。在所示的实施例中,使用visual studio自动化,DexterraStudio开发人员被配置为Microsoft VS.NET集成开发环境(IDE)的插入程序。Dexterra Studio Developer提供专业服务和向工程人员设计一个坚固、面向对象的工作空间在其中使用通用开发环境和语言,诸如微软公司VB.NET或C#,来开发屏幕、定义工作流和创建实施业务规则的用户接口元件的。设计器系列通过应用开发的特定步骤来帮助引导用户,而不降低该应用开发平台的能力。使用配置Web服务,这些设计器帮助程序员创建绑定到所定义的元数据的表格和步骤,在运行时,将与Dexterra应用服务器有效地交互作用,从而扩展系统的灵活性和能力,用于另外的管理信息或要求更快速或频繁改变的后端配置。
D.客户机组件如上所述,企业平台体系结构中的客户机102(图1)提供一个框架,在其中移动应用使用被称为“人员流”、“现场流”和“表格流”的技术以及使用Web服务,允许使用基于角色的业务过程,从而允许经有线和无线连接,在LAN/WAN网络,诸如Internet上,在移动客户机和Dexterra应用服务器和企业数据源之间通信。在客户机设备上运行的移动应用以对于提供异常、易于学习用户经验的小形状因子设备优化的方式起作用。
在所示的系统中,客户机是利用了解元数据的微软公司的“.NETCompact Framework”构造的对象框架。客户机组件允许递送移动设备上的企业级应用功能性,移动设备最好根据“PocketPC”操作系统或来自微软公司的Microsoft Tablet PC操作系统操作。客户机组件还与现有的“PocketPC”功能性结合以提供与PocketPC界面的日历、任务和当日屏幕功能性的无缝结合。因此,提供工作的稳定、有效环境。
表格流,现场流,人员流以显示屏方式的任何业务过程任务或步骤或操作被称为“表格流”。表格流用来启动被称为“现场流”的过程交互作用,允许启动被称为“人员流”的业务过程。现场流允许启动“带外”人员流以便将真实世界灵活性带给业务过程。
表格流分成三种(1)信息;(2)活动性,以及(3)更新。信息表格流是示出移动用户覆行业务过程中的下一逻辑任务的信息所需的屏幕。活动性表格流是示出用户需要做成执行的某些的屏幕。更新表格流是当提示移动用户输入将返回到主机应用(企业数据源)的数据时显示的屏幕。
当例如零件已经出故障以及可能需要执行库存数据库的搜索以查看任何匹配零件或具有解决方案的类似的问题存在以及可用,称为查找表时,可能需要现场流,或当零件需要定购或分配或调度以便递送给客户机时,可能需要现场流,现场流称为更新。
人员流是业务过程,因此,是表格流和现场流的集合。人员流的例子可以是与作业或调度事件有关的时间、旅行和花销记录。
再参考图2,该框图示出目标应用中的列和字段之间的关系如何与“表格流”(表示为应用中的“Forms”的业务过程中的步骤)中的信息相关联,然后与人员流(业务过程)相关联。在一个表格流中可以有许多业务对象,以及在任何业务过程中,可能有多于一个表格流。
当在移动应用中引用时,过滤器允许将特性和条件放在数据上。例如,数据类型(例如日期)、有效类型(例如仅星期一到星期五),以及可以检测任何冲突条件。能配置其他过滤特性和条件。
视图定义用在一个或多个对象中的数据和存储位置,以及业务对象能基于一个或多个视图。这允许关联另外的特性。例如,业务对象可以被称为“客户”,其可以包括标准客户详细情况;位置、联系人、库存,以及SLA和应用可能划分成客户,但不保存在相同的目标表或甚至目标应用中的其他属性。
V.操作和用户界面参考移动客户机的终端用户将如何利用移动应用和与应用服务器通信以便实时处理来自企业数据源的业务信息的下述描述,将更好理解移动企业平台的操作。下述例子示例说明用于包括现场服务应用的移动应用,诸如用于现场服务技术人员(维修)的操作。
首先,在开始营业日或启动服务运行时,终端用户(现场服务技术人员)将启动移动应用和启动下载服务呼叫调度信息等等的更新操作。在更新操作期间,应用服务器将确保移动客户机包含操作移动应用所需的应用数据和业务信息和最近任务集(现场服务呼叫)。如上所述,业务信息可能来自多个不同企业数据源。业务信息可以包括将访问的客户、将服务的产品、可能需要维修的零件等等。在执行更新之后,不需要网络连接(有线或无线)用于操作客户应用。
图8是来自移动客户机的显示屏802的例示,示出在执行更新操作后,由移动应用生成的“查询”页。该查询页表示移动应用的表格流。查询页示出已经请求服务呼叫的客户的维修队列。
当现场服务技术人员到达在维修队列中列出的客户时,从查询页显示中选择那一客户,以及开始下一业务操作,如由图9的显示页中的“Launch”显示按钮处的箭头光标所示。该操作能启动另一显示页(不同表格流,经现场流指定为业务过程的一部分),诸如图10所示的“概述”显示页。该概述页是能从其选择其他显示(其他表格流)的页,同样由下载的移动应用的元数据确定。例如,概述页能允许服务技术人员确定该客户预订的服务等级。能选择“信息”显示按钮来启动“产品历史”显示页,如图11所示。该产品历史页示出用于将服务的产品的信息。可通过选择“观看”显示按钮来调出全部产品历史用于浏览。同样,由存储在移动客户机中的人员流信息和相关数据(现场流,表格流),确定显示页的顺序。
当服务技术人员确定实现维修需要何种动作时,可经另一显示页来证明那个动作,在图12中示为“细节”页。通过选择其他显示按钮,诸如图12显示页的底部的“零件”,能启动其他服务动作,诸如订购维修零件。
图13示出“零件”显示页,服务技术人员能用来订购适当的维修零件。应注意到,通过服务技术人员生成所有上述数据交互作用(产品历史、零件信息、订购表格)并导航和交互作用,而没有网络连接。即,在更新操作后,不需要用于移动应用操作的网络连接。
在完成服务呼叫时,技术人员(移动用户)能输入服务呼叫信息,诸如维修流逝时间。示例性数据收集显示页如图14所示。移动设备还能支持收集客户签名或服务呼叫的其他确认,如图15所示。
最后,在完成服务呼叫后,执行维修的现场技术人员将最终到达网络的无线连接再次可能的地理位置。移动应用能致力于自动将数据改变上载到应用服务器。该数据改变将包括由技术人员输入的所有数据,诸如被访客户、维修诊断、零件订购和客户数据收集。然后,将更新查询显示以及技术人员进入服务队列的下一位置,如图16所示。
因此,通过当连接(无线)到网络诸如Internet时,下载操作数据,移动应用能有效地操作。此后,能在断开状态下,执行移动应用的业务过程而无网络连接。此后,当恢复连接性时,能实现数据加载。当连接到网络时,可通过应用服务器处的连接器,实时从企业数据源接收数据,或将数据上载到企业数据源。来自企业数据源的数据永远不能由移动客户机直接访问以及永远不按其自然格式存储在移动客户机中,而是存储在移动客户机的关系数据存储器中,如为移动应用目的而配置。
在加载和安装移动应用本身前,用于移动客户机的初始操作将首先请求应用服务器选择并将应用下载到移动设备上。应用服务器能支持和服务从现场销售到现场服务的多个应用。当移动客户机接收应用时,它接收组成移动应用的元数据和相关数据文件。通过请求位于应用服务器的Web服务,下载该数据。使用在标准的HTTP请求中传送的简单对象访问协议(“SOAP,Simple Object Access Protocol”)来进行Web服务请求。然后,使用SOAP,将结果返回到设备作为XML。然后,客户机设备解析返回的XML并更新客户机设备上的所需数据。
移动应用元数据存储在移动客户机设备上的(例如SQL CE数据库文件)元数据文件中。如上所述,元数据是应用以及其如何工作的实际定义,包括业务对象和相关数据。如前所述,业务对象是移动企业系统的单个组件,分类成业务逻辑段,诸如客户、订单、产品和产品问题。业务对象属性是给定业务对象的特定属性,诸如客户名字、姓、地址和SSN。业务对象还指定为应用于业务对象以帮助控制对象的行为和状态(例如订购白金,客户自动获得免费隔日送到)的单个逻辑段的业务规则。其他数据包括业务常数数据,帮助控制和确定用于指定业务规则的结果和标准,诸如客户类型必须是白金、金或银以获得隔日送货的规则。这些业务常数能用在业务规则中以确定结果。以高标准格式将元数据下载到设备,然后插入存储的元数据文件中。这允许由移动应用匆忙快速和容易地创建业务对象。
客户业务数据是在后端系统中存储的实际数据,然后下载到客户机设备上,然后插入在创建客户数据定义期间,在客户业务数据文件中创建的表中。如前所述,首先,通过连接器将客户业务数据转换成适当的数据格式,用于存储在移动客户机的关系数据库中。该数据向终端用户(现场服务技术人员)提供开始使用移动应用以及更新数据和仅下载从将最近数据下载到移动应用的最后时间以来,在应用服务器上发出的变化的基础。
图17是示例说明在多个企业数据源和移动客户机之间共享数据的移动企业平台的操作的流程图。在由编号为1702的图17流程图框所示的初始操作中,将移动应用从应用服务器下载到移动客户机并安装。下载的信息将包括指定业务对象和用于业务过程的相应业务规则和说明的元数据,如用上述人员流、现场流和规格流所例示。
在将移动应用安装在移动客户机上之后,移动客户机能结合应用服务器和移动企业平台结构的企业数据源进行操作。当移动客户机的终端用户,诸如现场服务技术人员需要业务信息数据时,移动客户机向应用服务器发送对于来自企业数据源的数据的请求。客户机数据请求包括识别用于所请求的数据的企业数据源和指定所请求数据间的关系对应的元数据。该操作用编号为1704的流程图框表示。
在下一操作中,如框1706所示,从识别为包含所请求的数据的企业数据源检索企业数据。通过应用服务器的连接器和Web服务方案执行该操作。在框1708,然后,根据由移动客户机发送的元数据所指定的关系,将检索的数据转换成关联来自企业数据源的检索数据的关系数据库格式。
然后,将转换后的数据存储在移动客户机的关系数据存储器中,如由编号为1710的流程框图所示。在将来自移动客户机的数据上载返回到企业数据库中的情况下,应用服务器能应用连接器将从移动客户机接收的数据映射回企业数据源,以便存储,如由编号为1712的流程框图所示。用这种方式,在移动客户机和企业数据源之间共享数据,而不需要临时数据存储,利用基于元数据的方案用于更有效操作。
根据当前优选实施例,已经描述了本发明,以便能传达本发明的理解。然而,存在在此未具体描述、用于移动企业数据系统的许多配置,但通过这些配置,也适用本发明。因此,本发明不应当视为限制到在此所述的特定实施例,而相反,应当理解通常相对于移动企业数据系统,本发明具有广泛适用性。落在附加权利要求的范围内的所有改进、改变或等效配置应当视为在本发明的范围内。
权利要求
1.一种处理在多个企业数据源和移动客户机之间共享的数据的方法,所述方法包括从所述移动客户机接收对于由客户机应用使用的企业数据的请求,其中,所述客户机请求包括识别用于请求的数据的企业数据源以及指定请求的数据之间的关系对应的元数据;从识别为包含请求的数据的企业数据源检索所述企业数据;根据由所述元数据指定的关系,将检索的数据转换成定义来自所述企业数据源的检索的数据的关系格式;以及将转换后的数据存储在所述移动客户机中的关系数据存储器中。
2.如权利要求1所述的方法,其中,所述元数据描述由所述客户机应用执行的业务过程。
3.如权利要求1所述的方法,其中,在所述移动客户机处从应用服务器接收所述元数据。
4.如权利要求3所述的方法,其中,所述移动客户机在所述客户机应用的初始化操作期间,请求所述元数据。
5.如权利要求1所述的方法,其中,所述元数据指定进入到企业数据源中的视图,其揭示所述企业数据源的数据模式,使得应用服务器能将数据处理到所述企业数据源中和从其输出。
6.如权利要求5所述的方法,其中,所述元数据指定冲突检测和解决所述移动客户机和多个后端企业数据源之间的数据冲突的解决参数。
7.如权利要求1所述的方法,其中,所述移动应用包括多个显示页以及每个显示页与指定到另一显示页的流动的元数据有关,从而构成业务流。
8.如权利要求1所述的方法,其中,所述元数据指定以关系数据库格式定义对象的数据的业务对象层,以便能将来自多个企业数据源的转换后的数据关联在一起。
9.如权利要求1所述的方法,进一步包括从移动客户机接收上载数据以及确定所述上载数据应当发送到的相应企业数据源。
10.如权利要求9所述的方法,进一步包括应用冲突检测和解决规则来确定是否应当将来自所述移动客户机的上载数据存储在相应企业数据源中,或是否应当拒绝所述上载数据。
11.一种应用服务器,支持将能在多个企业数据源和多个移动客户机之间共享的数据递送到移动客户机,所述应用服务器包括数据管理器,从所述移动客户机接收数据请求,处理所述客户机数据请求中的元数据以确定将检索的数据和将从其检索所述数据的企业数据源;以及一个或多个连接器,从所述企业数据源检索数据,以及根据包含在接收的请求中的元数据,将检索的数据转换成定义来自所述企业数据源的检索的数据的关系格式,以及将转换后的数据返回到所述移动客户机上的关系数据存储器。
12.如权利要求11所述的应用服务器,其中,所述元数据描述由所述客户机应用执行的业务过程。
13.如权利要求11所述的应用服务器,其中,在所述移动客户机处从应用服务器接收所述元数据。
14.如权利要求13所述的应用服务器,其中,所述移动客户机在所述客户机应用的初始化操作期间,请求所述元数据。
15.如权利要求11所述的应用服务器,其中,所述元数据指定进入到企业数据源中的视图,其揭示所述企业数据源的数据模式,使得应用服务器能将数据处理到所述企业数据源中和从其输出。
16.如权利要求15所述的应用服务器,其中,所述元数据指定冲突检测和解决所述移动客户机和企业数据源之间的数据冲突的解决规则。
17.如权利要求11所述的应用服务器,其中,所述移动应用包括多个显示页和每个显示页与指定到另一显示页的流动的元数据有关,从而构成业务流。
18.如权利要求11所述的应用服务器,其中,所述元数据指定以关系数据库格式定义对象的数据的业务对象层,以便能将来自多个企业数据源的转换后的数据关联在一起。
19.如权利要求11所述的应用服务器,进一步包括从移动客户机接收上载数据并确定所述上载数据应当发送到的相应企业数据源。
20.如权利要求19所述的应用服务器,进一步包括应用冲突规则来确定是否应当将来自所述移动客户机的上载数据存储在相应企业数据源中,或是否应当拒绝所述上载数据。
21.一种移动客户机,处理经由移动网络来自多个企业数据源的数据,所述移动客户机包括应用,执行数据处理功能和生成数据请求;数据管理器,从所述应用接收数据请求以及生成包括指定将检索的企业数据和指定将从其检索数据的企业数据源的元数据的客户机数据请求,其中,所述数据管理器经由所述移动网络发送所述客户机数据请求;以及关系数据存储器,存储来自对于客户数据请求的响应的企业数据,其中,所述响应包括来自所述企业数据源、根据包含在接收的请求中的元数据,被转换成将来自所述企业数据源的检索数据相关联的关系格式的被请求企业数据。
22.如权利要求21所述的移动客户机,其中,所述元数据描述由所述客户机应用执行的业务过程。
23.如权利要求21所述的移动客户机,其中,在所述移动客户机处从应用服务器接收所述元数据。
24.如权利要求23所述的移动客户机,其中,所述移动客户机在所述客户机应用的初始化操作期间,请求所述元数据。
25.如权利要求21所述的移动客户机,其中,所述元数据指定进入到企业数据源中的视图,其揭示所述企业数据源的数据模式,使得应用服务器能将数据处理到所述企业数据源中和从其输出。
26.如权利要求25所述的移动客户机,其中,所述元数据指定冲突检测和解决所述移动客户机和企业数据源之间的数据冲突的解决规则。
27.如权利要求21所述的移动客户机,其中,所述移动应用包括多个显示页以及每个显示页与指定到另一显示页的流动的元数据有关,从而构成业务流。
28.如权利要求21所述的移动客户机,其中,所述元数据指定以关系数据库格式定义对象的数据的业务对象层,以便能将来自多个企业数据源的转换后的数据关联在一起。
29.如权利要求21所述的移动客户机,进一步包括从移动客户机接收上载数据以及确定所述上载数据将发送到的相应企业数据源。
30.如权利要求29所述的移动客户机,进一步包括应用冲突规则来确定是否应当将来自所述移动客户机的上载数据存储在相应企业数据源中,或是否应当拒绝所述上载数据。
全文摘要
在分布式系统(100)中,在多个企业数据源(108)和移动客户机(102)间共享数据,使得接收来自移动客户机(102)的对于企业数据的请求,确定包含请求数据的适当企业数据源(108),以及从确定的企业数据源(108)检索企业数据。当检索到企业数据时,将其转换成能关联检索的数据的关系格式,即使数据来自多个企业数据源(108)。将转换后的企业数据存储在移动客户机(102)的关系数据存储器(116)中。用这种方式,移动应用能完全与来自多个企业数据源(108)的数据结合,以及能将数据更新和结构变化实时分送到移动客户机(102)和从移动客户机分送,而不使用临时数据存储,从而避免了企业数据源(108)和移动客户机(102)之间复杂的同步和数据冲突问题。
文档编号G06F7/00GK1742255SQ200380109064
公开日2006年3月1日 申请日期2003年12月23日 优先权日2002年12月23日
发明者罗伯特·奥法瑞尔, 马克·D.·克尔斯坦, 罗伯特·格瑞芬, 布瑞恩·布罗德尔, 斯坦·吕, 帕特·奥法瑞尔, 杰弗里·奥法瑞尔, 阿莉森·克拉克, 戴维·L.·绍普, 布瑞恩·菲勒彬 申请人:德克斯特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1