欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于移動數(shù)據(jù)系統(tǒng)的適配器體系結(jié)構(gòu)的制作方法

文檔序號:6566823閱讀:249來源:國知局
專利名稱:用于移動數(shù)據(jù)系統(tǒng)的適配器體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及移動計算系統(tǒng),尤其涉及移動計算系統(tǒng)內(nèi)的數(shù)據(jù)管理和數(shù)
據(jù)部署。
背景技術(shù)
成熟的客戶關(guān)系管理(CRM)系統(tǒng)和企業(yè)資源規(guī)劃(ERP)系統(tǒng)可用于提高事 務(wù)部門和行政部門工作過程的自動化程度。盡管許多公司都已認(rèn)識到部署這些 系統(tǒng)能顯著節(jié)約成本并提高效率,但同樣真實的是許多組織發(fā)現(xiàn)這些系統(tǒng)實現(xiàn)
起來負(fù)擔(dān)很重并且難以和現(xiàn)有的舊版本數(shù)據(jù)系統(tǒng)整合到一起。
最近,業(yè)務(wù)組織和企業(yè)正在部署CRM和ERP系統(tǒng)以幫助移動的雇員,這 主要利用諸如尋呼機、手機和個人數(shù)字助理(PDA)等移動計算設(shè)備。使用這些 移動設(shè)備的CRM和ERP系統(tǒng)在更大范圍中得到采用所需面臨的一個重要障礙 涉及與企業(yè)中的其它數(shù)據(jù)進行整合的問題。
企業(yè)數(shù)據(jù)整合問題出現(xiàn)的原因是,移動應(yīng)用程序常常以專有的封閉體系結(jié) 構(gòu)出現(xiàn),這種體系結(jié)構(gòu)妨礙與企業(yè)的其它數(shù)據(jù)系統(tǒng)進行整合。例如,企業(yè)中的 數(shù)據(jù)可能保存在四個或五個不同的源中。這些數(shù)據(jù)源中的某些源包括CRM系 統(tǒng)、分派系統(tǒng)、ERP系統(tǒng)以及財政記錄系統(tǒng)。這些數(shù)據(jù)源中的每一個源都可以 使用不同的數(shù)據(jù)體系結(jié)構(gòu)、格式和協(xié)議。正在存儲的數(shù)據(jù)以及數(shù)據(jù)和存取機制 的配置都在不斷變化。許多移動計算系統(tǒng)創(chuàng)建一種臨時數(shù)據(jù)存儲(datastore), 其中收集了來自企業(yè)中各個源的數(shù)據(jù)。這樣,來自不同的企業(yè)數(shù)據(jù)源且各自具 有不同的數(shù)據(jù)體系結(jié)構(gòu)和格式的這些數(shù)據(jù)都可以被收集在單個公共數(shù)據(jù)庫中。 移動用戶通過訪問該臨時數(shù)據(jù)存儲而非實際的企業(yè)數(shù)據(jù)源,便可以對企業(yè)數(shù)據(jù) 進行存取。然而,該臨時存儲產(chǎn)生了關(guān)于其自身的數(shù)據(jù)更新與沖突等問題。同 步操作和其它安全措施必須經(jīng)常進行,以確保該臨時數(shù)據(jù)存儲中的數(shù)據(jù)是企業(yè) 數(shù)據(jù)源中的數(shù)據(jù)的可靠副本。
已知提供了一種可以使用移動計算設(shè)備的數(shù)據(jù)整合解決方案,這些移動計 算設(shè)備通過網(wǎng)絡(luò)服務(wù)器與企業(yè)數(shù)據(jù)相接。2003年12月23日提交的序列號為 10/746,229的美國專利申請描述了這種系統(tǒng),該專利申請已轉(zhuǎn)讓給美國華盛頓 州Bothell市的Dexterra股份有限公司。該申請的內(nèi)容引用在此作為參考。
Dexterra股份有限公司的上述申請描述了這樣一種系統(tǒng),在該系統(tǒng)中以分 布式方式在多個企業(yè)數(shù)據(jù)源到移動客戶機之間使用數(shù)據(jù),使得接收到來自移動 客戶機的對企業(yè)數(shù)據(jù)的請求,確定了含所請求數(shù)據(jù)的合適的企業(yè)數(shù)據(jù)源,并且 從所確定的企業(yè)數(shù)據(jù)源中檢索出企業(yè)數(shù)據(jù)。當(dāng)檢索出企業(yè)數(shù)據(jù)時,它被轉(zhuǎn)換成 關(guān)系格式,即使該數(shù)據(jù)來自多個不同非關(guān)系類型的企業(yè)數(shù)據(jù)源(比如文件系統(tǒng)、 電子郵件等)。轉(zhuǎn)換好的企業(yè)數(shù)據(jù)被存儲在移動客戶機中的關(guān)系數(shù)據(jù)存儲中。這樣,移動應(yīng)用程序便可以與來自多個企業(yè)數(shù)據(jù)源的數(shù)據(jù)完全整合起來,并且 數(shù)據(jù)更新和配置變化便可以在不使用臨時數(shù)據(jù)存儲的情況下實時地分配到/來
源于移動客戶機,由此避免了企業(yè)數(shù)據(jù)源和移動客戶機之間復(fù)雜的同步和異步 數(shù)據(jù)問題。實時數(shù)據(jù)變化不僅可以包括數(shù)據(jù)更新,還可以包括移動應(yīng)用程序自 身變化的部署。這些實時變化要進一步與數(shù)據(jù)沖突檢測和解決相適應(yīng)。
Dexterra股份有限公司的上述系統(tǒng)基于這樣一種系統(tǒng)體系結(jié)構(gòu),其中目標(biāo) 企業(yè)數(shù)據(jù)源包含多個對象或數(shù)據(jù)表,并且每個目標(biāo)數(shù)據(jù)表都被映射到被稱為視 圖(View)的數(shù)據(jù)對象。即,視圖被定義成對應(yīng)于應(yīng)用程序?qū)闹蝎@取數(shù)據(jù)的 那些企業(yè)數(shù)據(jù)源中的每個數(shù)據(jù)表。這些視圖可以由應(yīng)用程序開發(fā)者定義,或者 來自另一廠商。在一個或多個被稱為業(yè)務(wù)對象(Business Object)的數(shù)據(jù)實體 之間共享這些視圖中的數(shù)據(jù)。單個業(yè)務(wù)對象可以使用來自多個視圖的數(shù)據(jù),因
此可以使用來自多個企業(yè)數(shù)據(jù)源的數(shù)據(jù),甚至可以使用來自其數(shù)據(jù)格式互不兼 容的多個數(shù)據(jù)源的數(shù)據(jù)。在該系統(tǒng)中,被稱為連接器(Connector)的數(shù)據(jù)對象 為企業(yè)數(shù)據(jù)源提供了數(shù)據(jù)共享接口。
一旦定義好一組業(yè)務(wù)對象,應(yīng)用程序開發(fā)者便可以在通過其到這組業(yè)務(wù)對 象的接口來處理數(shù)據(jù)的同時設(shè)計應(yīng)用程序,而非陷入描述和定義視圖和連接器 的情形中。因此,為開發(fā)者呈現(xiàn)出一種無格式的數(shù)據(jù)接口,所以從開發(fā)者處提 煉出目標(biāo)方面的差異。
Dexterra股份有限公司的上述專利申請中所描述的系統(tǒng)提供了一種用于準(zhǔn) 許訪問各種企業(yè)數(shù)據(jù)源的移動計算平臺的強大的開發(fā)工具。然而,若數(shù)據(jù)接口 方面具有更大的靈活性,則可以擴展系統(tǒng)的能力并使應(yīng)用程序開發(fā)更容易。本 發(fā)明便提供了這種更大的靈活性。

發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了一種數(shù)據(jù)體系結(jié)構(gòu),其中視圖定義了通過連接器到達 應(yīng)用程序的企業(yè)數(shù)據(jù)源接口,但也用到了由命令所定義的數(shù)據(jù)對象。因此,數(shù) 據(jù)對象包括可配置的請求,這種請求針對的是通過命令而被發(fā)送到企業(yè)數(shù)據(jù)源 的適配器的數(shù)據(jù)。本體系結(jié)構(gòu)使開發(fā)者能夠創(chuàng)建到達全異后臺企業(yè)數(shù)據(jù)源的定 制企業(yè)連通性。開發(fā)者還可以用實現(xiàn)方式的特定實例的配置及針對它的適應(yīng)性 來分隔到達任何后臺企業(yè)系統(tǒng)的連通性。這允許使".NET"系統(tǒng)和后臺系統(tǒng)之間 的技術(shù)(連接)能夠在與該后臺系統(tǒng)所需信息的配置不相關(guān)的情況下進行開發(fā),
由此創(chuàng)建了抽象層并允許配置工具管理該適應(yīng)性??梢蕴峁╅_發(fā)工具套件環(huán)
境,它允許用戶利用"Dexterra Studio" VS.NET插件程序來創(chuàng)建數(shù)據(jù)組件并將它 們連接到任何支持的適配器。用于該工具套件環(huán)境的組件包括連接對象、命令 對象、數(shù)據(jù)對象以及視圖。
根據(jù)下文關(guān)于較佳實施方式的描述,應(yīng)該清楚地看到本發(fā)明的其它特點和 優(yōu)點,較佳實施方式作為示例示出了本發(fā)明的原理。


圖1是根據(jù)本發(fā)明構(gòu)建的移動企業(yè)平臺所適用的計算機系統(tǒng)環(huán)境的框圖。
圖2是圖1所示移動企業(yè)平臺中的數(shù)據(jù)的邏輯體系結(jié)構(gòu)的框圖。
圖3是示出了圖1的企業(yè)數(shù)據(jù)源和移動客戶機之間的連接器接口的框圖。
圖4是根據(jù)本發(fā)明構(gòu)建的合適的計算機系統(tǒng)環(huán)境400的框圖。
圖5示出了用于圖1所示移動平臺的數(shù)據(jù)體系結(jié)構(gòu)的圖示。
圖6是用于根據(jù)本發(fā)明構(gòu)建的移動平臺的數(shù)據(jù)訪問配置的圖示。
圖7是作為DAD計算機程序應(yīng)用的主機的計算機設(shè)備的顯示器的屏幕截圖。
圖8示出了當(dāng)在Dexterra Explorer菜單上選中"Datasource Types"時由DAD
程序所產(chǎn)生的樹形視圖和上下文菜單。
圖9示出了圖8顯示器中的Data Sources菜單項的選中情況。
圖IO示出了特定數(shù)據(jù)源類型的選中情況,從中產(chǎn)生了上下文菜單。
圖11示出了可用于選擇的視圖類型。
圖12示出了通過使用Data Sources上下文菜單創(chuàng)建一種新型的數(shù)據(jù)源 (Data Source)從而產(chǎn)生的Data Sources Properties對話框。
圖13示出了用于DAD登錄信息和選擇特定企業(yè)數(shù)據(jù)源目標(biāo)的驗證屏幕。 圖14示出了設(shè)計者從樹形視圖中做出命令選擇的情形。 圖15示出了響應(yīng)于圖14的選擇的"NewCommand"對話框。 圖16示出了 Add Command對話的參數(shù)選項卡。 圖17示出了已添加好名為"CustomerQuery"的新命令的樹形視圖。 圖18是示出了根據(jù)本發(fā)明的移動平臺系統(tǒng)的處理的流程圖。
具體實施例方式
在根據(jù)本發(fā)明構(gòu)造的移動數(shù)據(jù)整合系統(tǒng)中,視圖對象定義了通過連接器到 達應(yīng)用程序的企業(yè)數(shù)據(jù)源接口,但也用到了由命令所定義的數(shù)據(jù)對象。即,數(shù) 據(jù)對象包括可配置的請求,這種請求針對的是通過命令而被發(fā)送到企業(yè)數(shù)據(jù)源 的適配器的數(shù)據(jù)。本體系結(jié)構(gòu)使開發(fā)者能夠創(chuàng)建到達全異后臺企業(yè)數(shù)據(jù)源的常
規(guī)企業(yè)連通性。下文首先描述的是Dexterra股份有限公司的上述專利申請中所 描述的系統(tǒng)。然后,在"V.適配器體系結(jié)構(gòu)"及其后續(xù)段落中描述了本發(fā)明與現(xiàn) 有技術(shù)的系統(tǒng)相比其體系結(jié)構(gòu)變化的細(xì)節(jié)。
I. 系統(tǒng)概況
本發(fā)明提供了一種系統(tǒng),在該系統(tǒng)中從多個企業(yè)數(shù)據(jù)源到執(zhí)行移動應(yīng)用程 序的移動客戶機使用數(shù)據(jù),使得移動應(yīng)用程序與多個企業(yè)數(shù)據(jù)源整合在一起, 并且在不使用臨時數(shù)據(jù)存儲裝置的情況下數(shù)據(jù)更新和配置變化可以實時地分 配到/接收自移動客戶機。取消臨時數(shù)據(jù)存儲設(shè)施可以避免企業(yè)數(shù)據(jù)源和移動客 戶機之間復(fù)雜的同步和異步數(shù)據(jù)問題。由此,用于移動應(yīng)用程序的數(shù)據(jù)更新和 系統(tǒng)配置更新可以實時地從企業(yè)傳輸?shù)揭苿涌蛻魴C或從移動客戶機傳輸?shù)狡?業(yè)。因為通過該系統(tǒng)可以實時地傳播這些變化,所以不再需要任何特殊的同步 操作。'
II, 系統(tǒng)平臺
圖1是根據(jù)本發(fā)明像Dexterra股份有限公司的上述專利申請中所描述的那 樣構(gòu)建出的合適的計算機系統(tǒng)環(huán)境100的框圖。圖1示出了移動客戶機設(shè)備 102,比如個人數(shù)字助理(PDA)設(shè)備,該設(shè)備與Microsoft PocketPC或Palm PDA
操作系統(tǒng)結(jié)合使用。移動客戶機設(shè)備通過網(wǎng)絡(luò)連接104與應(yīng)用程序服務(wù)器106 進行通信,以請求來自服務(wù)器的數(shù)據(jù)并接收數(shù)據(jù)更新、提供新數(shù)據(jù)以及接收配 置變化。應(yīng)該理解,多個移動客戶機102可以與服務(wù)器106進行通信。為了畫 圖簡便,圖1只示出了單個客戶機設(shè)備102。
移動客戶機102使用服務(wù)器一方的連接器網(wǎng)絡(luò)服務(wù)以便從多個企業(yè)數(shù)據(jù)存 儲中進行實時數(shù)據(jù)檢索。另外,移動客戶機使用服務(wù)器一方的數(shù)據(jù)管理器網(wǎng)絡(luò) 服務(wù)以便管理實時的客戶機一方數(shù)據(jù)更新、服務(wù)器一方數(shù)據(jù)更新和系統(tǒng)配置更新。
應(yīng)用程序服務(wù)器106與企業(yè)數(shù)據(jù)源108進行通信,比如CRM數(shù)據(jù)源、ERP 源、財政系統(tǒng)資源、舊版本數(shù)據(jù)存儲等。圖1所示典型的企業(yè)數(shù)據(jù)源包括 "Siebel"軟件的數(shù)據(jù),它來自美國加利福尼亞州SanMateo的Siebel Systems股 份有限公司;"Oracle"軟件的數(shù)據(jù),它來自美國加利福尼亞州Redwood Shores的 Oracle公司;"SAP"軟件的數(shù)據(jù),它來自德國Walldorf的SAP AG ;以及舊 版本軟件的數(shù)據(jù)。管理員應(yīng)用程序110和開發(fā)者應(yīng)用程序112與應(yīng)用程序服務(wù) 器106進行通信,該服務(wù)器還存儲用于該系統(tǒng)的元數(shù)據(jù)114,下文會進一步描 述。
應(yīng)用程序服務(wù)器106為數(shù)據(jù)互換和更新、用戶驗證、安全以及登錄服務(wù)提 供了數(shù)據(jù)管理程序、配置和數(shù)據(jù)連接器網(wǎng)絡(luò)服務(wù)。應(yīng)用程序服務(wù)器還以業(yè)務(wù)信 息和規(guī)則為形式來處理業(yè)務(wù)流程管理。
移動客戶機102還包括數(shù)據(jù)存儲116,它包括用于存儲業(yè)務(wù)數(shù)據(jù)120的關(guān) 系數(shù)據(jù)庫118以及用于存儲元數(shù)據(jù)122 (該元數(shù)據(jù)用于移動客戶機上的應(yīng)用程 序執(zhí)行)的關(guān)系數(shù)據(jù)庫。移動客戶機102上所安裝的應(yīng)用程序124包括用于執(zhí) 行合適的功能的各種軟件組件。例如,該應(yīng)用程序可能包括一種現(xiàn)場服務(wù)應(yīng)用 程序,它告訴現(xiàn)場服務(wù)人員已請求服務(wù)的位置,解釋服務(wù)請求的性質(zhì),并提供 服務(wù)訪問記錄和賬戶設(shè)置。應(yīng)用程序124可以包括用于處理移動客戶機102所 請求的數(shù)據(jù)的多個應(yīng)用程序。
管理員應(yīng)用程序110和開發(fā)者應(yīng)用程序112—起構(gòu)成"工作室(Studio)" 組件130。在所示的實施方式中,管理員和開發(fā)者是作為兩個單獨的應(yīng)用程序 而提供的,并且提供了一種用于配置該系統(tǒng)的裝置,其中包括元數(shù)據(jù)數(shù)據(jù)和應(yīng) 用程序接口。
系統(tǒng)100包括移動企業(yè)平臺,它支持服務(wù)應(yīng)用程序124。該系統(tǒng)提供了一 組網(wǎng)絡(luò)服務(wù),它們有效地部署和管理移動化的軟件解決方案以增強移動商務(wù)過 程。普通的示例包括整合到用于企業(yè)的CRM或ERP、銷售人員自動化(SFA)
以及客戶支持與幫助桌面功能。這種企業(yè)應(yīng)用程序依賴于交叉應(yīng)用交互作用,
9因為來自一個功能或系統(tǒng)的數(shù)據(jù)通常被不同的功能或系統(tǒng)使用。當(dāng)在移動客戶 機上執(zhí)行時,現(xiàn)存的應(yīng)用程序功能和企業(yè)信息被用于多個企業(yè)軟件應(yīng)用程序、 舊版本數(shù)據(jù)系統(tǒng)以及移動工作者。這樣,針對這些應(yīng)用程序和移動企業(yè)平臺, 可以實現(xiàn)顯著的投資回報。
移動企業(yè)平臺100提供了網(wǎng)絡(luò)服務(wù),這些網(wǎng)絡(luò)服務(wù)簡化了現(xiàn)場的移動客戶 機和相關(guān)便攜式設(shè)備的使用。這些網(wǎng)絡(luò)服務(wù)包括數(shù)據(jù)管理程序功能、配置功能 以及連接器功能。下文將對此作更詳細(xì)的描述。移動客戶機102上所安裝的應(yīng) 用程序124在被應(yīng)用程序服務(wù)器106恰當(dāng)啟動之后便可以在任何連接或斷開狀 態(tài)中完全起作用。
III.邏輯體系結(jié)構(gòu)
利用圖1所示移動企業(yè)平臺的任何客戶機應(yīng)用程序都將使用圖2的框圖所
示的系統(tǒng)組件。這些組件包括
業(yè)務(wù)對象(Business Object)-基于業(yè)務(wù)概念的可編程對象,組合了多個字 段并涉及來自不同企業(yè)數(shù)據(jù)源的信息。(數(shù)據(jù)源比如有客戶、聯(lián)系人、資產(chǎn)、 任務(wù)等數(shù)據(jù)源)。
業(yè)務(wù)規(guī)則(Business Rule)-在對來自企業(yè)數(shù)據(jù)源的業(yè)務(wù)數(shù)據(jù)施加檢查的 情況下利用業(yè)務(wù)恒量來實施業(yè)務(wù)流程的定制邏輯。
業(yè)務(wù)恒量(Business Constant)- —種用戶可配置變量,用于客戶機應(yīng)用程 序以及客戶機和服務(wù)器雙方的業(yè)務(wù)規(guī)則(比如業(yè)務(wù)規(guī)則、警告消息等)。
數(shù)據(jù)源連接器(Datasource Connector)-設(shè)計成無縫地提供對各種企業(yè)數(shù) 據(jù)源(比如根據(jù)Oracle和SQL服務(wù)器格式化的那些數(shù)據(jù)庫、像MQ系列或 MSMQ這樣的消息傳送系統(tǒng)、像Siebel或Peoplesoft這樣的CRM應(yīng)用程序、 一般網(wǎng)絡(luò)服務(wù)等)的訪問的數(shù)據(jù)源連接器。
業(yè)務(wù)流程(Business Process)-比喻,比如美國華盛頓州Bothell的Dexterra 股份有限公司的"Force Flow(強制流)"過程,它定義了一種用于模擬業(yè)務(wù)流程 的表單到表單的導(dǎo)航范例。
表單(Form)-具有事件驅(qū)動邏輯的標(biāo)準(zhǔn)視覺顯示屏(比如觀看、編輯、 查找等)的組合,這些顯示屏被設(shè)計成用于顯示信息、收集信息以及引導(dǎo)用戶
穿過一給定的業(yè)務(wù)流程(此處被稱為"ForceFlow(強制流)"或"Field Flow(字段 流)")。
視圖(View)-從一個或多個業(yè)務(wù)對象所使用的企業(yè)數(shù)據(jù)源或應(yīng)用程序中 標(biāo)識出的數(shù)據(jù)的可修改表示方式。
過濾器(Filter)-可應(yīng)用于視圖以修改業(yè)務(wù)對象可用數(shù)據(jù)的過濾器。
這些組件可以用于指定任何通過使用像微軟公司".NET"這樣的技術(shù)框架 以及像微軟公司"Visual Studio .NET"這樣的工具而構(gòu)建的客戶機應(yīng)用程序的配 置(邏輯體系結(jié)構(gòu))。本領(lǐng)域的技術(shù)人員會對這種編程工具很熟悉,以指定應(yīng) 用程序及其相關(guān)數(shù)據(jù)對象。圖l所示移動企業(yè)平臺是作為一種元數(shù)據(jù)驅(qū)動框架 而實現(xiàn)的。該框架提供了整合的客戶機和服務(wù)器網(wǎng)絡(luò)服務(wù),從而能夠?qū)崿F(xiàn)用于 部署故障-安全、任務(wù)-關(guān)鍵的(mission-critical)企業(yè)解決方案所必需的連接、 配置和數(shù)據(jù)管理服務(wù)。
圖2示出了在圖1的移動企業(yè)平臺中關(guān)系數(shù)據(jù)庫表格的結(jié)構(gòu)以及外部應(yīng)用 程序業(yè)務(wù)對象都作為元數(shù)據(jù)被映射到多個視圖。 一個或多個視圖被業(yè)務(wù)對象 (也按元數(shù)據(jù)來定義)消費,后者轉(zhuǎn)而又被移動應(yīng)用程序使用。移動應(yīng)用程序 使用被稱為"DexterraSmartclient"的客戶機框架,該框架管理業(yè)務(wù)對象的實例 化、對駐留在移動客戶機設(shè)備上的基礎(chǔ)物理數(shù)據(jù)庫的本地數(shù)據(jù)訪問(Local Data Access)、設(shè)備整合以及通過數(shù)據(jù)管理程序和/或連接器網(wǎng)頁服務(wù)的客戶機-服務(wù) 器數(shù)據(jù)通信。在該平臺內(nèi),用于所有邏輯層(比如業(yè)務(wù)對象、視圖、過濾器和 連接器)的規(guī)范都在元數(shù)據(jù)內(nèi)進行定義和保存。
移動企業(yè)平臺被構(gòu)建成一個邏輯棧,它被設(shè)計成使邏輯體系結(jié)構(gòu)中的層與 所有非相鄰層隔離。在該邏輯棧的底部,目標(biāo)(Target)層是駐留在后臺的企 業(yè)數(shù)據(jù)源中的數(shù)據(jù)。該平臺用本地的源數(shù)據(jù)來工作,并且不要求將記錄的后臺 系統(tǒng)內(nèi)的信息復(fù)制到中間層復(fù)制數(shù)據(jù)庫。即,不需要臨時數(shù)據(jù)存儲。這提供了 設(shè)計方面的靈活性以及實時數(shù)據(jù)訪問,并且可以幫助減小擁有該平臺和應(yīng)用程 序的總成本,還幫助簡化了數(shù)據(jù)管理過程。
邏輯棧中再往上一層便是連接器層。連接器層以關(guān)系格式將用于描述后臺 數(shù)據(jù)存儲的程序構(gòu)造提供給應(yīng)用程序服務(wù)器。關(guān)于如何連接到企業(yè)數(shù)據(jù)源的信 息以及安全設(shè)置(比如驗證方法以及用戶和分組定義)都被存儲在元數(shù)據(jù)內(nèi),
并且用管理員組件進行保存。邏輯桟中的下一層是視圖層,它包括用于向后臺 企業(yè)數(shù)據(jù)源中的對象或表提供一對一映射的那些對象。例如,如果后臺系統(tǒng)具
有被稱為CUST—ADDR(客戶地址)的表,并且該表格中的數(shù)據(jù)需要用于一應(yīng)用 程序中,則在管理員組件中將創(chuàng)建一視圖。例如,管理員視圖可以被稱為 CUSTOMER_ADDRESS,以代表移動企業(yè)平臺的環(huán)境中處于企業(yè)數(shù)據(jù)源外部的 數(shù)據(jù)。應(yīng)該理解,視圖具有與后臺系統(tǒng)中的數(shù)據(jù)對象的屬性或列相對應(yīng)的屬性。 然而,并不要求后臺數(shù)據(jù)源中的所有屬性都要與視圖中的屬性一樣。事實上, 所需屬性是在管理組件中定義的并且作為元數(shù)據(jù)加以存儲。在剛提到的示例 中,這些屬性可能包括諸如ID、 STREET—ADDR、 CITY、 STATE禾卩ZIP—CODE 等字段。
另外,用戶可以定義視圖內(nèi)的各種屬性的數(shù)據(jù)類型,并且這些數(shù)據(jù)類型可 以獨立于企業(yè)數(shù)據(jù)源中相應(yīng)屬性的數(shù)據(jù)類型??杀粯?biāo)識的視圖屬性的其它選項 是唯一的標(biāo)識符、只讀、索引、必需屬性以及長度。所有上述信息都作為元數(shù) 據(jù)加以存儲。
視圖層還提供數(shù)據(jù)沖突的指示,并且提供了一種用于解決這種沖突的手 段。例如,只要在從移動客戶機處上傳的內(nèi)容與服務(wù)器處現(xiàn)存的內(nèi)容之間之間 有數(shù)據(jù)變化,則就可能出現(xiàn)數(shù)據(jù)沖突。這種沖突的解決可以在視圖層處執(zhí)行, 實施一些業(yè)務(wù)規(guī)則,比如準(zhǔn)許最近的數(shù)據(jù)變化總是優(yōu)先,或者根據(jù)數(shù)據(jù)類型(比 如現(xiàn)場數(shù)據(jù)或客戶賬戶數(shù)據(jù))準(zhǔn)許來自特定源(比如移動客戶機或企業(yè)數(shù)據(jù)源) 的數(shù)據(jù)變化優(yōu)先。下文結(jié)合數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)對此作進一步描述。
如圖2所示,可以針對多個數(shù)據(jù)存儲中的多個對象來定義視圖,由此提供 了應(yīng)用程序部署以及原地系統(tǒng)的使用等方面的靈活性,同時沒有數(shù)據(jù)復(fù)制的負(fù) 擔(dān)。如同連接器那樣,視圖的定義也被存儲在元數(shù)據(jù)中,并且由管理員進行管 理。本領(lǐng)域的技術(shù)人員將理解元數(shù)據(jù)中的數(shù)據(jù)定義的細(xì)節(jié),而無需作進一步解 釋。如上所述,可將過濾器應(yīng)用于視圖,以修改被傳遞到下一層的數(shù)據(jù)。管理 員提供了視圖管理特點,其中包括基于后臺數(shù)據(jù)存儲對象(來自企業(yè)數(shù)據(jù)源) 的對象接口或表定義而自動地創(chuàng)建視圖的視圖向?qū)?Views Wizard)。
圖2中往上再一層包括多個業(yè)務(wù)對象,它們被映射到一個或多個視圖或者 與一個或多個視圖相關(guān)聯(lián)。該平臺的業(yè)務(wù)對象是當(dāng)構(gòu)建定制的移動應(yīng)用程序時開發(fā)者將與之交互作用的程序?qū)嶓w。業(yè)務(wù)對象包括多個屬性,每個屬性可以具 有一種簡單的數(shù)據(jù)類型或者可以是另一種業(yè)務(wù)對象。因為該平臺的業(yè)務(wù)對象可
以映射到多個視圖,所以開發(fā)者可以使用用于代表源自多個異類數(shù)據(jù)源的數(shù)據(jù) 的單個實體進行工作。由此,根據(jù)本發(fā)明的移動企業(yè)平臺而定義的單個業(yè)務(wù)對
象可以包括來自多個潛在不兼容的企業(yè)數(shù)據(jù)源(比如來自不同專用格式)的數(shù)據(jù)。
在創(chuàng)建或修改用于移動應(yīng)用程序和移動客戶機設(shè)備的應(yīng)用程序時,開發(fā)者 可以只與業(yè)務(wù)對象層交互作用。這使得開發(fā)者不需要理解或與用于源數(shù)據(jù)的后 臺系統(tǒng)(企業(yè)數(shù)據(jù)源)直接交互作用。這樣,業(yè)務(wù)對象層為應(yīng)用程序開發(fā)者提 供了基于對象的接口,從而抽取出關(guān)于數(shù)據(jù)持久性和檢索的細(xì)節(jié)。開發(fā)者沒有 必要與移動設(shè)備上的本地數(shù)據(jù)存儲直接交互作用。另外,因斷開數(shù)據(jù)的性質(zhì), 移動客戶機通過業(yè)務(wù)對象接口將數(shù)據(jù)變化本地地存儲到客戶機中,從而自動地 管理數(shù)據(jù)變化的處理過程,這些數(shù)據(jù)變化在更新過程中將被傳遞到應(yīng)用程序服 務(wù)器。這進一步免除了開發(fā)者固定編程任務(wù)。
業(yè)務(wù)對象作為元數(shù)據(jù)存在于移動客戶機設(shè)備上,并且也是用管理員(圖1) 來管理的。元數(shù)據(jù)在移動企業(yè)平臺中的使用提供了這樣一種環(huán)境,在該環(huán)境中 大多數(shù)數(shù)據(jù)實體的屬性和行為都可以通過圖形用戶界面而非編碼來進行配置。
移動企業(yè)平臺的元數(shù)據(jù)驅(qū)動性質(zhì)能夠通過無狀態(tài)服務(wù)器體系結(jié)構(gòu)在移動 客戶機上執(zhí)行業(yè)務(wù)流程。通過元數(shù)據(jù),可以配置和定制移動應(yīng)用程序。元數(shù)據(jù) 定義了參照業(yè)務(wù)企業(yè)數(shù)據(jù)至移動設(shè)備的業(yè)務(wù)對象的結(jié)構(gòu),并且還定義了用于觸 發(fā)那些控制業(yè)務(wù)流程的業(yè)務(wù)規(guī)則的事件。
元數(shù)據(jù)數(shù)據(jù)庫包含交叉功能的交叉應(yīng)用程序后臺業(yè)務(wù)信息的參照情況,這 種信息通過連接器暴露出來以配置業(yè)務(wù)對象。該過程是通過工作室組件(圖1) 實現(xiàn)的,以便用業(yè)務(wù)對象來配置并參照正連接的企業(yè)數(shù)據(jù)源業(yè)務(wù)信息。這為移 動應(yīng)用程序提供了到特定數(shù)據(jù)的路徑,從而確保沒有任何來自企業(yè)數(shù)據(jù)源的業(yè) 務(wù)數(shù)據(jù)是以其原本的數(shù)據(jù)格式存儲到應(yīng)用程序服務(wù)器上的或存儲于任何其它 用于數(shù)據(jù)更新的系統(tǒng)的臨時數(shù)據(jù)存儲上。這種使用元數(shù)據(jù)的非入侵式且實時的 同步方法準(zhǔn)許移動企業(yè)平臺在中斷量最小的情況下有效地連接到后臺系統(tǒng),同 時使交叉功能的數(shù)據(jù)訪問、數(shù)據(jù)一致性以及數(shù)據(jù)完整性都達到最大。
IV.移動企業(yè)平臺組件
A. 移動應(yīng)用程序
如上所述,移動客戶機102 (圖1)可以包括安裝的應(yīng)用程序124,它們實 現(xiàn)企業(yè)的業(yè)務(wù)流程。該應(yīng)用程序可以調(diào)節(jié)上述移動企業(yè)平臺,并且證明該應(yīng)用 程序是如何實例化業(yè)務(wù)對象的,這些業(yè)務(wù)對象驅(qū)動以元數(shù)據(jù)配置的業(yè)務(wù)流程。
例如,任務(wù)或工作順序信息將通過視圖被提供給移動應(yīng)用程序,并且將通 過業(yè)務(wù)對象對其進行訪問。在通過視圖定義檢索業(yè)務(wù)數(shù)據(jù)的過程中,通過使用 數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù),該業(yè)務(wù)對象可以將業(yè)務(wù)數(shù)據(jù)傳遞到該移動應(yīng)用程序以 描述這些任務(wù)。該數(shù)據(jù)被存儲在移動設(shè)備上的本地關(guān)系數(shù)據(jù)庫上。當(dāng)在來自應(yīng) 用程序的請求中對任務(wù)業(yè)務(wù)對象確認(rèn)任務(wù)數(shù)據(jù)的更新時,Smartclient應(yīng)用程序 將保存移動客戶機上的視圖定義數(shù)據(jù)存儲的變化,則Smartclient通過數(shù)據(jù)管理 程序網(wǎng)絡(luò)服務(wù)來管理數(shù)據(jù)更新回到原始數(shù)據(jù)源,從而確保數(shù)據(jù)完整性和一致 性。
通過使用本文所描述的移動企業(yè)平臺中可用的網(wǎng)絡(luò)服務(wù)(比如連接、配置 和數(shù)據(jù)管理程序服務(wù))的深度、寬度和力量,可以很容易構(gòu)建一大批移動應(yīng)用 程序,其中包括諸如銷售人員生產(chǎn)率、客戶服務(wù)和支持解決方案等應(yīng)用程序。 這些應(yīng)用程序可以與一組范圍很廣的垂直應(yīng)用程序整合在一起,其中包括油/ 氣、保健/醫(yī)療以及財務(wù)服務(wù)工業(yè)解決方案。
B. 服務(wù)器組件
應(yīng)用程序服務(wù)器是一類元數(shù)據(jù)驅(qū)動平臺應(yīng)用程序并將信息、應(yīng)用程序和業(yè) 務(wù)流程提供給移動客戶機,并且確保了移動企業(yè)平臺和后臺企業(yè)數(shù)據(jù)源的主機 之間的受管理的數(shù)據(jù)完整性。應(yīng)用程序服務(wù)器是一種構(gòu)建于微軟公司".NET"技 術(shù)上的基于過程的高性能解決方案。通過使用".NET"技術(shù),移動企業(yè)解決方案 是一種通過在本地XML和SOAP進行數(shù)據(jù)交換和傳輸?shù)木W(wǎng)絡(luò)服務(wù)的框架。應(yīng) 用程序服務(wù)器提供了三種核心網(wǎng)絡(luò)服務(wù),就像圖1的功能體系結(jié)構(gòu)圖所示的那 樣
連接器網(wǎng)絡(luò)服務(wù)連接器網(wǎng)絡(luò)服務(wù)傳遞現(xiàn)存企業(yè)應(yīng)用程序基礎(chǔ)設(shè)施的非入侵式整合,同時保 持對移動客戶機和分立企業(yè)數(shù)據(jù)源之間的數(shù)據(jù)完整性條件的控制。
配置網(wǎng)絡(luò)服務(wù)
配置網(wǎng)絡(luò)服務(wù)管理著用于定義業(yè)務(wù)數(shù)據(jù)、業(yè)務(wù)對象、業(yè)務(wù)規(guī)則、業(yè)務(wù)恒量 的元數(shù)據(jù)以及包含被傳遞到移動客戶機的移動應(yīng)用程序(駐留在移動設(shè)備上的 組件應(yīng)用程序)的系統(tǒng)配置(比如驗證、登錄、安全和角色)。
數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)
數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)協(xié)調(diào)移動客戶機應(yīng)用程序、應(yīng)用程序服務(wù)器以及第 三方企業(yè)數(shù)據(jù)源之間的更新交互作用。另外,數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)能夠與連 接器層直接進行通信以便于實時查詢。數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)管理涉及多個用 戶對多個企業(yè)數(shù)據(jù)源的多個更新來實施數(shù)據(jù)完整性的各種條件的方式提供靈 活性。數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)可以通過應(yīng)用程序服務(wù)器或者指向任何API禾口/ 或第三方已公布的網(wǎng)頁服務(wù)來實現(xiàn)上述這一點。
這樣,數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)可以管理應(yīng)用程序更新和數(shù)據(jù)變化在該系統(tǒng) 的移動客戶機中的部署情況。
下面將更詳細(xì)地描述這些組件。
1.連接器網(wǎng)絡(luò)服務(wù)
連接器網(wǎng)絡(luò)服務(wù)被設(shè)計成支持與任何依從ODBC的數(shù)據(jù)源或網(wǎng)絡(luò)服務(wù)API 進行通信。連接器網(wǎng)絡(luò)服務(wù)允許客戶基于一個或多個第三方系統(tǒng)中所存儲的數(shù) 據(jù)來定義和構(gòu)建視圖。連接器網(wǎng)絡(luò)服務(wù)具有發(fā)布的接口,允許來自移動客戶機 的標(biāo)準(zhǔn)成批更新以及實時數(shù)據(jù)訪問。
連接器網(wǎng)絡(luò)服務(wù)提供了在應(yīng)用程序服務(wù)器元應(yīng)用程序和企業(yè)數(shù)據(jù)源的特 定接口之間的物理層連接。連接器支持?jǐn)?shù)據(jù)庫競爭管理和通知服務(wù)、事務(wù)管理 以及差錯處理。在默認(rèn)的客戶配置中,針對具有ODBC或網(wǎng)絡(luò)服務(wù)連接器的客 戶,部署移動企業(yè)平臺系統(tǒng)。本領(lǐng)域的技術(shù)人員將能夠產(chǎn)生連接到最常用的企 業(yè)系統(tǒng)(比如Siebel、 SAP、 PeopleSoft、 Oracle、 SQL服務(wù)器等)的連接器。
例如,通過客戶具有的最近的數(shù)據(jù)構(gòu)造到API (比如PL/SQL過程)或通 過ODBC直接到企業(yè)數(shù)據(jù)庫自身,"Oracle"應(yīng)用程序連接器允許客戶調(diào)用Oracle
支持服務(wù)。如所有的ODBC連接器那樣,RDBMS模式的動態(tài)訪問得到自動地 執(zhí)行,從而露出數(shù)據(jù)庫的特定物理設(shè)計。這為客戶給出了到達該系統(tǒng)的實際接 口的分層視圖。
圖3示出了連接器是如何使企業(yè)數(shù)據(jù)源與移動企業(yè)平臺接口的示例。在圖 3的左側(cè)是多個企業(yè)數(shù)據(jù)源的表示,其中包括ERP數(shù)據(jù)源302、 CRM數(shù)據(jù)源 304、人事/財政數(shù)據(jù)源306、舊版本/ODBC數(shù)據(jù)源308,并且還可以包括其它 網(wǎng)絡(luò)服務(wù)或其它源(未示出)。在圖3的中部是元數(shù)據(jù)312的表示,元數(shù)據(jù)312 向應(yīng)用程序服務(wù)器314指定在移動客戶機316中來自不同企業(yè)數(shù)據(jù)源的數(shù)據(jù)將 如何被存儲和關(guān)聯(lián),而移動客戶機316則表示在圖3的右側(cè)。
因此,在本示例中,被標(biāo)示為ORDER—ID的數(shù)據(jù)存在于ERP數(shù)據(jù)源中。 被標(biāo)識為F—NAME禾卩L—NAME的數(shù)據(jù)存在于CRM數(shù)據(jù)源中。被標(biāo)識為 CRED—LIM的數(shù)據(jù)存在于人事/財政數(shù)據(jù)源上,并且被標(biāo)識為WARRANTY的 數(shù)據(jù)被存儲在舊版本/ ODBC數(shù)據(jù)源中。所有這些被標(biāo)識的數(shù)據(jù)都被存儲在企 業(yè)數(shù)據(jù)源中,比如在后臺辦公室系統(tǒng)中。
在元數(shù)據(jù)312中,來自企業(yè)數(shù)據(jù)源的數(shù)據(jù)定義被映射到多個視圖,這些視 圖用于在客戶機上創(chuàng)建數(shù)據(jù)存儲并且將來自企業(yè)數(shù)據(jù)源的移動客戶機上的相 關(guān)業(yè)務(wù)數(shù)據(jù)存儲到關(guān)系數(shù)據(jù)庫中。通過移動客戶機上的元數(shù)據(jù)中所定義和存儲 的業(yè)務(wù)對象層,來執(zhí)行對上述業(yè)務(wù)數(shù)據(jù)的訪問。如圖3所示,來自ERP數(shù)據(jù)源 的ORDER_ID被映射到一個被稱為OrderID的業(yè)務(wù)對象屬性,其關(guān)系定義被存 儲在移動客戶機316上的元數(shù)據(jù)318中并且被一個或多個同樣在元數(shù)據(jù)中定義 的移動應(yīng)用程序使用。來自CRM企業(yè)數(shù)據(jù)源的F—NAME數(shù)據(jù)被映射到(存儲 到)移動客戶機數(shù)據(jù)庫中所存儲的FirstName業(yè)務(wù)對象屬性定義,并且L—NAME 數(shù)據(jù)被映射到LastName業(yè)務(wù)對象屬性。相似的是,來自人事/財政數(shù)據(jù)源的 CRED—LIM數(shù)據(jù)被映射到CreditLimit業(yè)務(wù)對象屬性,并且來自舊版本/ODBC 數(shù)據(jù)源的WARRANTY數(shù)據(jù)被映射到Warranty業(yè)務(wù)對象屬性。因此,通過數(shù) 據(jù)管理程序網(wǎng)絡(luò)服務(wù),來自潛在不相似和不兼容的全異企業(yè)數(shù)據(jù)源302、 304、 306、 308、 310的數(shù)據(jù)以合適的格式被傳遞到移動客戶機的本地數(shù)據(jù)存儲(由 從企業(yè)數(shù)據(jù)源到應(yīng)用程序服務(wù)器314的線路來表示),以便用移動客戶機上的 業(yè)務(wù)對象之一 (在移動客戶機316中用實際的數(shù)值來指示)來進行訪問。
連接器類型
連接器網(wǎng)絡(luò)服務(wù)所支持的連接器包括下列三種連接器類型
1. 當(dāng)移動平臺連接到第三方系統(tǒng)時使用網(wǎng)絡(luò)服務(wù)連接器,該第三方系統(tǒng)(a) 是非依從ODBC的,或(b)不允許ODBC/RDBMS連接性,或(c)其接口由標(biāo)準(zhǔn) API定義并且可以用網(wǎng)絡(luò)服務(wù)敘詞語言(WSDL)來包裝和定義。
2. 當(dāng)移動平臺連接到第三方系統(tǒng)時使用ODBC/RDBMS連接器,該第三 方系統(tǒng)(a)是依從ODBC的并且(b)允許直接的ODBC/RDBMS訪問,并且(c)其 數(shù)據(jù)物理上位于相同的LAN環(huán)境內(nèi)或者可以通過支持傳輸?shù)耐ㄐ艆f(xié)議(比如 RPC、 TCP等)來進行訪問。
3. API連接器與網(wǎng)絡(luò)服務(wù)連接器相似,但(a)要求該API能夠通過非互聯(lián)
網(wǎng)協(xié)議(比如RPC)訪問,并且(b)若網(wǎng)絡(luò)服務(wù)接口不可用,則使用該API連接
驅(qū) 奮。
經(jīng)ODBC/RDBMS連接器讀出模式,在使用管理員應(yīng)用程序的情況下,通 過使用移動企業(yè)平臺的工作室部分130 (圖1)來完成信息。工作室部分被用 于配置映射到后臺數(shù)據(jù)源的視圖定義,并且將一個或多個視圖的定義映射到一 個或多個業(yè)務(wù)對象。當(dāng)使用管理員定義視圖定義或?qū)⒁晥D映射到業(yè)務(wù)對象時, 上述信息是作為元數(shù)據(jù)被存儲的。在用應(yīng)用程序服務(wù)器和企業(yè)數(shù)據(jù)源進行更新 的過程中,讀出該元數(shù)據(jù)以確定如何讀取、保存和除去數(shù)據(jù)(選擇/插入/更新/ 刪除功能),同時使用諸如沖突檢測/解決、固有的事務(wù)和適當(dāng)時補償?shù)氖聞?wù)等 功能來管理和實施數(shù)據(jù)完整性。
對于微軟公司SQL服務(wù)器或Oracle的RDBMS (8i、 9i等),在使用 ODBC/RDBMS連接器時,通過ANSI SQL語句和/或存儲過程來讀取、保存和/ 或除去數(shù)據(jù)。在使用網(wǎng)絡(luò)服務(wù)/API連接器時,通過調(diào)用用于事務(wù)的合適的API 功能或方法來讀取、保存和/或除去數(shù)據(jù)。
2.配置網(wǎng)絡(luò)服務(wù)
Dexterra工作室所消費的配置網(wǎng)絡(luò)服務(wù)為管理員、業(yè)務(wù)分析員以及開發(fā)者 提供了一種容易的共同操作的方式來實現(xiàn)、配置和管理Dexterm移動企業(yè)解決 方案。配置網(wǎng)絡(luò)服務(wù)允許很容易地操縱元數(shù)據(jù),該元數(shù)據(jù)用于配置和定制移動 應(yīng)用程序的數(shù)據(jù)和過程定義。參照管理員組件的特點將更好地理解該服務(wù),下
文對此進行更詳細(xì)的描述。
3.數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)
更新過程模型
在本系統(tǒng)中使用更新過程模型,其中移動應(yīng)用程序通過使用一組核心Net 組件(這些組件作為網(wǎng)絡(luò)服務(wù)暴露出來以便于容易的互操作性),用后臺企業(yè) 數(shù)據(jù)庫來更新其本地保存的數(shù)據(jù)(應(yīng)用程序或其業(yè)務(wù)對象)。
數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)更新移動應(yīng)用程序及其所有的相關(guān)業(yè)務(wù)對象定義 數(shù)據(jù)。該更新過程模型能夠通過Dexterra應(yīng)用程序服務(wù)器和移動客戶機在多個 企業(yè)數(shù)據(jù)源之間實現(xiàn)雙向數(shù)據(jù)傳輸,從而允許在移動客戶機連接到網(wǎng)絡(luò)時進行 更新,當(dāng)它們相連時合并更新。當(dāng)處于斷開狀態(tài)時,在客戶機環(huán)境中管理這些 更新,直到獲得連接狀態(tài)且能夠啟動更新請求那一刻。
上述更新過程模型采用"全部或什么都沒有"的方法。如果在將整個流從 應(yīng)用程序服務(wù)器下載到移動客戶機上之前(或在將整個流從客戶機上傳到服務(wù) 器上之前)出現(xiàn)了故障,則應(yīng)用程序服務(wù)器上的數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)沒有接 收到關(guān)于下載(或上傳)事務(wù)的確認(rèn)。結(jié)果,服務(wù)器攜帶智能以管理關(guān)于它需 要退回或簡單的重試等客戶機狀態(tài)。當(dāng)移動客戶機第二次執(zhí)行更新過程操作 時,應(yīng)用程序服務(wù)器考慮原始信息狀態(tài),并且可以在應(yīng)用程序服務(wù)器已處理過 的情況下傳遞結(jié)果,或者可以在應(yīng)用程序服務(wù)器從未接收到所有必需信息的情 況下再次進行處理,由此在移動客戶機和應(yīng)用程序服務(wù)器之間一次且僅一次地 實施了信息的可靠傳遞。不管怎樣,隨著數(shù)據(jù)從移動客戶機移動到一個或多個 后臺數(shù)據(jù)源,都實施了數(shù)據(jù)的完整性。
更新過程故障
兩種類型的更新處理得到支持
1:獲取最近的在這種更新類型中,移動客戶機作出一請求以便通過
Dexterra應(yīng)用程序服務(wù)器從企業(yè)數(shù)據(jù)源中獲取最近的信息。Dexterra應(yīng)用程序 服務(wù)器處理該請求,并且用Dexterra連接器網(wǎng)絡(luò)服務(wù)從多個數(shù)據(jù)源中檢索業(yè)務(wù) 信息,并且將該業(yè)務(wù)信息傳遞到移動客戶機。
2:更新(雙向更新)在這種更新類型中,通過使用Dexterra沖突解決 配置參數(shù),客戶機和服務(wù)器終端上的記錄得到互換,從而實施了移動客戶機和后臺企業(yè)數(shù)據(jù)源上的數(shù)據(jù)的完整性。 沖突檢測/解決
沖突解決描述了對移動客戶機和一個或多個后臺企業(yè)數(shù)據(jù)源之間所作出 的變化所引起的數(shù)據(jù)沖突進行仲裁時用到的規(guī)則。這是通過首先識別該沖突 (檢測)然后以一種或多種方式解決該沖突(解決)而執(zhí)行的。
Dexterra應(yīng)用程序服務(wù)器可以以三種方式之一來檢測沖突修訂,日期/ 時間戳,或手工操作,以及按行或列水平來標(biāo)識沖突情形。
修訂是一種設(shè)置,其中特定字段或?qū)傩栽趩蝹€記錄源中被標(biāo)識為修訂過 的,并且Dexterra應(yīng)用程序服務(wù)器將使用它來確定在后臺數(shù)據(jù)源或移動客戶機
上數(shù)據(jù)是否己改變過。
日期/時間戳
日期/時間戳是一種設(shè)置,其中特定字段或?qū)傩栽趩蝹€記錄源中被標(biāo)識為日 期/時間戳并且在任何插入/更新或刪除時都得到更新,并且Dexterra應(yīng)用程序 服務(wù)器將使用它來確定在后臺數(shù)據(jù)源或移動客戶機上數(shù)據(jù)是否已改變過。
手工操作是一種設(shè)置,其中沒有特定字段或?qū)傩杂糜跇?biāo)識單個記錄源中的 沖突情形,因此Dexterra應(yīng)用程序服務(wù)器比較所有的字段或?qū)傩詳?shù)據(jù)以定義唯 一性并檢測在后臺數(shù)據(jù)源或移動客戶機上數(shù)據(jù)是否已改變過。
根據(jù)Dexterra應(yīng)用程序服務(wù)器的配置,沖突是以四種方式之一來解決的 第一更新成功,最后更新成功,管理解決,或服務(wù)器一方規(guī)則。
第一更新成功
根據(jù)第一更新模型,應(yīng)用程序服務(wù)器將只接受第一個作出更新的任何記錄 的變化。如果記錄首先被后臺數(shù)據(jù)源更新并且更新網(wǎng)絡(luò)服務(wù)檢測到?jīng)_突,則并 不返回錯誤,而是數(shù)據(jù)管理程序網(wǎng)絡(luò)服務(wù)將丟掉由客戶機提供的版本并且將來 自后臺企業(yè)數(shù)據(jù)源的最新版本的記錄的副本返回到移動客戶機。
最后更新成功
根據(jù)最后更新成功模型,服務(wù)器不需要檢測沖突。它簡單地將來自移動客 戶機的變化保存到后臺企業(yè)數(shù)據(jù)源,從而蓋寫了后臺企業(yè)數(shù)據(jù)源中當(dāng)前的記錄。
管理(或手工操作)解決
當(dāng)配置為管理/手工操作解決時,服務(wù)器將視所有沖突都需要手工干預(yù)來解 決,并且將返回來自后臺企業(yè)數(shù)據(jù)源的當(dāng)前記錄的副本,并且任選地通過任何
通知服務(wù)(SMS、電子郵件等)來通知沖突已經(jīng)出現(xiàn)并且允許通過Dexterra管 理員來解決。這樣做允許列水平?jīng)_突解決,因為管理員決定這些值選擇性地重 新往回應(yīng)用于后臺企業(yè)數(shù)據(jù)源。 服務(wù)器一方規(guī)則
可以創(chuàng)建可定制的服務(wù)器一方規(guī)則,以更程序化地和具體地確定某些沖突 情形應(yīng)該如何解決。例如,可以基于記錄中的數(shù)據(jù)的值來解決沖突。這種靈活 性允許完全控制圍繞著沖突解決場景的特定行動。
來自服務(wù)器的客戶機部署
應(yīng)用程序服務(wù)器包含將要被下載到移動客戶機上的一個或多個移動的現(xiàn) 場應(yīng)用程序的定義,其中包括表示任務(wù)的表單/屏幕(被稱為"表單流
(FormFlow)")、數(shù)據(jù)交互作用(被稱為"字段流(FieldFlow)")以及構(gòu) 建到業(yè)務(wù)流程/工作流中的表單流和字段流的分組(被稱為"強制流
(ForceFIow)")。下文進一步描述表單流、字段流和強制流。該應(yīng)用程序定 義還包括與應(yīng)用程序相關(guān)的配置好的元數(shù)據(jù),比如視圖、業(yè)務(wù)對象、業(yè)務(wù)恒量 定義。該部署中還包括的是
來自一個或多個后臺企業(yè)數(shù)據(jù)源的特定業(yè)務(wù)數(shù)據(jù), 這些數(shù)據(jù)源是在"偶爾"連接的狀態(tài)中運行移動客戶機所必需的。
應(yīng)用程序服務(wù)器提供了傳遞并管理應(yīng)用程序以及連接到現(xiàn)存企業(yè)數(shù)據(jù)源 和系統(tǒng)的基礎(chǔ)。針對移動設(shè)備(比如Pocket PC和Tablet PC設(shè)備)應(yīng)用程序服 務(wù)器分配并管理移動企業(yè)平臺應(yīng)用程序,從而為在現(xiàn)場的所有用戶接口提供了 一種高度可管理的管理模式。
C.管理員組件
如上所述,管理員組件(圖1)允許系統(tǒng)管理員執(zhí)行那些相對定期或頻繁 的變化。管理員組件以一種適合于業(yè)務(wù)分析員或管理員進行管理的格式來提供 對選擇變量、下拉式列表內(nèi)容以及其它信息的訪問。本管理方法允許系統(tǒng)管理 員將許多功能向下擴展到管理員水平,而無需犧牲系統(tǒng)完整性。
例如,構(gòu)成定義企業(yè)業(yè)務(wù)流程的業(yè)務(wù)信息的數(shù)據(jù)可以通過業(yè)務(wù)對象定義形
式來進行接收。配置網(wǎng)絡(luò)服務(wù)提供了對管理員組件的這一方面的訪問。 D.客戶機組件
如上所述,企業(yè)平臺體系結(jié)構(gòu)中的客戶機102 (圖1)提供了一種框架, 在該框架中移動應(yīng)用程序通過使用被稱為"強制流"、"字段流"和"表單流"的技術(shù) 從而允許使用基于角色的業(yè)務(wù)流程,并且在使用網(wǎng)絡(luò)服務(wù)的情況下,能夠通過
LAN/WAN網(wǎng)絡(luò)(比如互聯(lián)網(wǎng))、或通過有線和無線連接在移動客戶機和Dexterra 應(yīng)用程序服務(wù)器以及企業(yè)數(shù)據(jù)源之間進行通信。運行于客戶機設(shè)備上的移動應(yīng) 用程序以一種針對小形狀因子設(shè)備進行優(yōu)化的方式來起作用,從而提供了一種 不同尋常的易學(xué)的用戶體驗。
在所示的系統(tǒng)中,客戶機是一種用微軟公司的".NET緊致框架"(它知道元 數(shù)據(jù))構(gòu)建的對象框架??蛻魴C組件能夠?qū)⑵髽I(yè)級的應(yīng)用程序功能傳遞到移動 設(shè)備上,移動設(shè)備最好根據(jù)微軟公司的"PocketPC"操作系統(tǒng)或"Tablet PC"操作 系統(tǒng)進行操作。客戶機組件還與現(xiàn)存的"PocketPC"功能結(jié)合起來以與PocketPC 界面的日歷、任務(wù)和今日屏幕功能進行無縫整合。它由此提供了穩(wěn)定有效的工 作環(huán)境。
表單流(FormFlow)、字段流(FieldFlow)、強制流(ForceFIow)
以顯示屏為形式的任何業(yè)務(wù)流程任務(wù)或步驟或操作都被稱為"表單流"。 表單流用于啟動被稱為的"字段流"的過程交互作用,它們允許啟動業(yè)務(wù)流程, 這被稱為"強制流"。字段流啟動激勵"帶外(out of band)"強制流,從而 為業(yè)務(wù)流程帶來了真實世界彈性。
表單流分成三類(1)信息;(2)活動;以及(3)更新。信息表單流 是用于顯示移動用戶完成業(yè)務(wù)流程中的下一個邏輯任務(wù)所需的信息的屏幕?;?動表單流是用于顯示用戶需要做或執(zhí)行的內(nèi)容的屏幕。更新表單流是當(dāng)提示用 戶輸入將返回到主機應(yīng)用程序(企業(yè)數(shù)據(jù)源)的數(shù)據(jù)時所顯示的屏幕。
例如,當(dāng)一部分可能已出故障且可能需要執(zhí)行清單數(shù)據(jù)庫的搜索以査看是 否存在且能獲得任何匹配部分或是否存在且能獲得具有解決方案的相似問題 時,可能需要字段流,這被稱為查找;或者當(dāng)一部分可能需要被命令或分配或 預(yù)定以便于傳遞到客戶機時,可能需要字段流,即被稱為更新的字段流。
強制流是一種業(yè)務(wù)流程,因此是表單流和字段流的集合。強制流的示例將是時間、旅行和費用記錄,該記錄與工作或分派事件相關(guān)。
往回參照圖2,本框圖示出了目標(biāo)應(yīng)用程序中的列和字段之間的關(guān)系是如 何與"表單流"(業(yè)務(wù)流程中的步驟,它們在應(yīng)用程序中被表示為"表單") 中的信息相關(guān)的以及接下來是如何關(guān)聯(lián)到強制流(業(yè)務(wù)流程)中的。在一個表 單流中可能有許多業(yè)務(wù)對象并且在任何業(yè)務(wù)流程中潛在地有不止一個表單流。
當(dāng)在移動應(yīng)用程序中對其進行參照時,過濾器允許將特征和條件置于數(shù)據(jù) 上。例如,可以檢測數(shù)據(jù)類型(例如曰期)、有效類型(例如僅周一到周五) 以及任何沖突條件。還可以配置其它過濾器特征和條件。
視圖定義在一個或多個業(yè)務(wù)對象中用到的數(shù)據(jù)和存儲位置,并且業(yè)務(wù)對象 可以基于一個或多個視圖。這允許附加特征被關(guān)聯(lián)。例如,業(yè)務(wù)對象可以被稱 為"客戶",它可以包括標(biāo)準(zhǔn)客戶細(xì)節(jié);位置、聯(lián)系方式、清單以及SLA和其 它屬性,應(yīng)用程序?qū)⑺鼈儦w為客戶但并不將它們保存在相同的對象表中甚至對 象應(yīng)用程序中。
V.適配器體系結(jié)構(gòu)
圖4示出了根據(jù)本發(fā)明的適配器體系結(jié)構(gòu)。圖4所示的一些組件與圖1所 示的組件相似。在圖4中,其功能與圖1所示系統(tǒng)中相應(yīng)的組件一樣的那些組 件將用相同的標(biāo)號來標(biāo)識,不同之處在于以"4"開頭而非以"1"開頭。
圖4是根據(jù)本發(fā)明構(gòu)建的合適的計算機系統(tǒng)環(huán)境400的框圖。圖4示出了 移動客戶機設(shè)備402,比如個人數(shù)字助理(PDA)設(shè)備,它與微軟公司的PocketPC 或Palm PDA操作系統(tǒng)結(jié)合起來操作??蛻魴C設(shè)備402包括與結(jié)合圖1所示客 戶機設(shè)備102所描述的那些組件相同的組件,但為了簡單起見這些相同的組件 沒有在圖4中示出。移動客戶機設(shè)備402通過網(wǎng)絡(luò)連接404與應(yīng)用程序服務(wù)器 406進行通信,以便請求來自服務(wù)器的數(shù)據(jù)并且接收數(shù)據(jù)更新、提供新數(shù)據(jù)以 及接收配置變化。應(yīng)該理解,多個移動客戶機402可以與服務(wù)器406進行通信。 為了畫圖簡便,圖4中只示出了單個客戶機設(shè)備402。
移動客戶機402消費服務(wù)器一方的連接器網(wǎng)絡(luò)服務(wù)以便于從多個企業(yè)數(shù)據(jù) 存儲中進行實時數(shù)據(jù)檢索。另外,移動客戶機購買服務(wù)器一方的數(shù)據(jù)管理程序 網(wǎng)絡(luò)服務(wù)以便于管理實時的客戶機一方的數(shù)據(jù)更新、服務(wù)器一方的數(shù)據(jù)更新以及系統(tǒng)配置更新。
應(yīng)用程序服務(wù)器406與企業(yè)數(shù)據(jù)源408進行通信,比如CRM數(shù)據(jù)源、ERP 源、財政系統(tǒng)資源、舊版本數(shù)據(jù)存儲等。
"Dexterra Studio"組件430與服務(wù)器406進行通信,并且包括管理員應(yīng)用程 序和開發(fā)者應(yīng)用程序(圖4中未示出)。更具體地講,工作室組件與服務(wù)器406 的配置器交互作用,并且數(shù)據(jù)服務(wù)器DDS與服務(wù)器406的服務(wù)器和適配器框 架交互作用,服務(wù)器406與企業(yè)數(shù)據(jù)源408進行通信。
適配器框架提供了一種接口 ,它將實施在服務(wù)器406和任何其它企業(yè)數(shù)據(jù) 源之間移動數(shù)據(jù)所需的特定輸入和輸出。服務(wù)器406的數(shù)據(jù)管理程序?qū)⒄埱蟛?響應(yīng)于任何恰當(dāng)定義的連接器組件,以便通過適配器框架與企業(yè)數(shù)據(jù)源408進 行通信。因此,服務(wù)器406使用連接對象、命令對象、數(shù)據(jù)對象以及視圖的定 義,來確定對于后臺企業(yè)數(shù)據(jù)源而言如何檢索或保存數(shù)據(jù)以及檢索或保存什么 數(shù)據(jù)。
為設(shè)計工具套件("Dexterra Adapter Designer"或DAD)提供工作室430, 以允許開發(fā)者指定適配器框架的各組件。即,DAD 430為開發(fā)者提供了通過使 用Dexterra工作室VS.NET插件程序來構(gòu)建適配器框架數(shù)據(jù)組件并將這些組件 連接到任何Dexterra支持適配器的手段。組件包括連接對象、命令對象、數(shù)據(jù) 對象以及視圖。
通過使用DAD 430,開發(fā)者將通過使用Dexterra支持適配器來創(chuàng)建到后臺 數(shù)據(jù)源的連接對象。該連接對象將(通過發(fā)現(xiàn)/自我測量或描述)把可通過適配 器獲得的數(shù)據(jù)接口對象暴露成表、存儲過程、腳本、或?qū)ο?EAI等)。通過 使用Dexterra適配器設(shè)計者,開發(fā)者接下來將創(chuàng)建一系列命令對象,這些命令 對象通過適配器執(zhí)行特定的動作,比如選擇、插入、更新和/或刪除。開發(fā)者接 下來定義數(shù)據(jù)對象,其中他們將選擇合適的選擇命令、插入命令、更新命令和 /或刪除命令。然后,針對其請求/響應(yīng)動作,將視圖綁定到數(shù)據(jù)對象。通過使 用這種工具和體系結(jié)構(gòu),開發(fā)者可以請求并保存來自一個或多個后臺企業(yè)數(shù)據(jù) 源的數(shù)據(jù),這些數(shù)據(jù)源都映射到Dexterra服務(wù)器406內(nèi)的單個定義好的數(shù)據(jù)對 象,由此提供了到物理數(shù)據(jù)結(jié)構(gòu)的抽象層以及接口能力。這些動作可以通過工 具430的用戶界面來實現(xiàn),下文對此作進一步描述。
A. 命令對象
適配器框架的命令對象定義了一種要通過適配器(即連接器)來執(zhí)行以檢 索或保存數(shù)據(jù)的動作。例如,"保存客戶"命令可以被定義成通過適配器將客 戶數(shù)據(jù)對象保存到企業(yè)數(shù)據(jù)源。命令類型或格式將由適配器根據(jù)與它們交互作 用的企業(yè)數(shù)據(jù)源來確定并且因此必須支持。例如,用于數(shù)據(jù)系統(tǒng)的潛在命令類 型可以包括表、過程、SQL、腳本以及對象。
命令對象將指定將被執(zhí)行的動作。根據(jù)本發(fā)明,命令動作類型包括五個定
義好的動作(l)READ (讀取),(2)ADD (添加),(3) UPDATE (更新), (4) REMOVE (除去)以及(5)用于EDIT (編輯)的READ (讀取)。
下文結(jié)合數(shù)據(jù)對象討論進一步描述這些命令動作。命令對象可以指定過濾 器,它們將在執(zhí)行命令時進行操作。每個過濾器將根據(jù)其相應(yīng)命令類型的數(shù)據(jù) 類型來對數(shù)據(jù)進行操作。命令將包括列屬性,它包括當(dāng)執(zhí)行該命令時返回的多 列數(shù)據(jù)。最后,命令包括一些參數(shù),這些參數(shù)用于指定恰當(dāng)執(zhí)行該命令所必需 的數(shù)值。
B. 數(shù)據(jù)對象
數(shù)據(jù)對象聯(lián)合命令對象以檢索或保存數(shù)據(jù),從而邏輯地將它們分組成單個 對象(例如客戶對象)。數(shù)據(jù)對象是由通過適配器在企業(yè)數(shù)據(jù)源上所執(zhí)行的命 令定義的(即它是在企業(yè)數(shù)據(jù)源上執(zhí)行命令的結(jié)果)。如上所述,命令包括READ
(讀取)、ADD (添加)、UPDATE (更新)、REMOVE (除去)以及用于 EDIT (編輯)的READ (讀取)。讀取命令是這樣一種命令對象,它將檢索 數(shù)據(jù)、定義要返回的數(shù)據(jù)列以及其屬性,并且它還將覆蓋數(shù)據(jù)類型以便從適配 器轉(zhuǎn)向".NET"范例。添加命令是這樣一種命令對象,它將通過適配器保存新的 數(shù)據(jù)實例以便將新的數(shù)據(jù)實例回插到相應(yīng)的企業(yè)數(shù)據(jù)源中。更新命令是這樣一 種命令對象,它將通過適配器將現(xiàn)存數(shù)據(jù)項的變化往回保存到相應(yīng)的企業(yè)數(shù)據(jù) 源。除去命令是這樣一種命令對象,它將通過適配器從企業(yè)數(shù)據(jù)源移除數(shù)據(jù)。 用于編輯的讀取命令是這樣一種命令對象,它將通過適配器來檢索具有行鎖
(RowLock)的單個記錄。
數(shù)據(jù)對象將讀取命令的返回元素映射到添加、更新、除去以及用于編輯的 讀取等命令的各項參數(shù)。單個數(shù)據(jù)對象可以通過不同的命令檢索并保存數(shù)據(jù)到 潛在不同的適配器。
C.連接
如上所述,連接將與企業(yè)數(shù)據(jù)源接口,以提供移動客戶機應(yīng)用程序的數(shù)據(jù) 訪問。在結(jié)合本發(fā)明描述的適配器框架430中,這些連接將不與視圖進行直接 通信,但將與命令對象直接進行交互,這些命令對象將最終與數(shù)據(jù)對象和視圖 交換數(shù)據(jù)。
VI.配置和用戶界面
在圖4所示配置的服務(wù)器430中的適配器框架中,視圖沒有像本發(fā)明以外 的系統(tǒng)中的情況那樣(如圖2所示)綁定到單個數(shù)據(jù)表。更具體地講,視圖綁 定到具有定義好的命令的數(shù)據(jù)對象,這些命令用于讀取、添加、更新、除去以 及用于編輯的讀取。因此,提供了一種更通用的數(shù)據(jù)接口。視圖的結(jié)構(gòu)由用于 數(shù)據(jù)對象的讀取命令中所指定的選定數(shù)據(jù)列來定義。
在使用本發(fā)明的視圖對象配置的系統(tǒng)中,過濾器創(chuàng)建于命令對象處,而非 視圖對象處。服務(wù)器430中的視圖對象的配置能夠抽象對企業(yè)數(shù)據(jù)源的視圖 CRUD(創(chuàng)建,讀取,更新,刪除)操作,并且還能夠定義CRUD而非對其硬編碼。 除了變化的視圖配置以及相伴的變化(比如用于創(chuàng)建過濾器的變化),圖l所 示的其余組件都可以用于根據(jù)本發(fā)明而構(gòu)造的移動平臺系統(tǒng)。
圖5示出了用于圖l所示移動平臺的數(shù)據(jù)體系結(jié)構(gòu)的圖示并且包括本發(fā)明 的一實施方式。圖5示出了數(shù)據(jù)系統(tǒng)的視圖對象具有視圖ID并且綁定到定義 好的數(shù)據(jù)對象。圖5示出了數(shù)據(jù)對象可以包括一個或多個來自下列的命令讀 取命令、添加命令、更新命令、除去命令以及用于編輯的讀取命令。
圖5示出了命令對象還綁定到數(shù)據(jù)對象,并且還綁定到連接對象,它們轉(zhuǎn) 而綁定到適配器對象。圖5示出了適配器對象與元數(shù)據(jù)存儲交互作用,而元數(shù) 據(jù)存儲與企業(yè)數(shù)據(jù)源交互作用,以便檢索用于移動平臺的數(shù)據(jù)。
圖6是用于根據(jù)本發(fā)明而構(gòu)造的移動平臺的數(shù)據(jù)訪問配置的圖示。圖6示出了移動客戶機(圖6中被表示為"Dexterra客戶機")通過服務(wù)器處的視圖對 象與應(yīng)用程序服務(wù)器(圖6中即被表示為"Dexterra服務(wù)器")進行通信,其中 視圖對象與數(shù)據(jù)對象交互作用以便通過命令對象行動從而訪問適配器對象,適 配器對象最終與企業(yè)數(shù)據(jù)源(圖6中即被表示為微軟公司的SQL服務(wù)器以及 Siebel數(shù)據(jù)服務(wù)器)直接交互作用。在客戶機設(shè)備處,移動應(yīng)用程序通過智能 客戶機將數(shù)據(jù)請求發(fā)送到元數(shù)據(jù)存儲和業(yè)務(wù)數(shù)據(jù)存儲再到應(yīng)用程序服務(wù)器處 的視圖對象。
圖7示出了如何通過圖形用戶界面的文件資源管理器類型來獲得對移動平 臺系統(tǒng)的DAD特點的訪問。圖7是在作為DAD計算機程序應(yīng)用程序的主機的 計算機設(shè)備上顯示器的屏幕截圖。在圖7中,該顯示器是窗口型的顯示頭銜 "Dexterra Explorer",并且顯示出具有文件樹形視圖的工作區(qū)。該樹形視圖顯 示出多個服務(wù)器的分層體系,這些服務(wù)器名稱是Solomon、 Tempest、 Ultrium 和Thunder。應(yīng)該很明顯,這些服務(wù)器名稱可以是任意選擇的。
根據(jù)DAD程序,相對于選中的服務(wù)器,可以采取各種動作。圖7示出了 "Solomon"服務(wù)器已被選中,Data Access菜單項被突出顯示以顯示出數(shù)據(jù)訪問 選項可以被調(diào)査。在Data Access菜單項之下,顯示出子菜單,其中包括Data Sources、 Datasource Types、 Commands、 Data Objects禾卩Views。通過使用DAD 程序和資源管理器菜單,移動應(yīng)用程序設(shè)計者可以指定新的數(shù)據(jù)源并且可以與 相應(yīng)的適配器交互作用以獲得對用于移動客戶機(它們將使用所開發(fā)的應(yīng)用程 序)的企業(yè)數(shù)據(jù)源的訪問。
圖8示出了在Dexterra Explorer菜單上設(shè)計者已選中"Datasource Types", 并且圖8示出了上下文菜單得以產(chǎn)生,從而為設(shè)計者提供了多種選項以添加新 的數(shù)據(jù)源類型、或刷新該視圖、或編輯數(shù)據(jù)源類型、或刪除數(shù)據(jù)源類型。因此, 選擇Dexterra Explorer菜單項可以產(chǎn)生上下文菜單,該上下文菜單提供了在所 選菜單項上的附加操作的菜單。圖9示出了來自圖8的Data Sources菜單項的 選擇情況,從而示出了根據(jù)設(shè)計本系統(tǒng)中可用的典型數(shù)據(jù)源。圖IO示出了特 定數(shù)據(jù)源類型的選擇情況,從中可以產(chǎn)生上下文菜單以便于編輯所選數(shù)據(jù)源類 型上的各項操作。圖11示出了可用于選擇的視圖類型。如使用其它Dexterra Explorer菜單項那樣,選擇View菜單將產(chǎn)生一上下文菜單,該上下文菜單允許
設(shè)計者對視圖類型執(zhí)行編輯操作,其中包括創(chuàng)建、編輯和刪除。
如上所述,如果選擇Dexterra Explorer菜單上的"Data Sources"節(jié)點,則可
以通過所產(chǎn)生的上下文菜單來指定新的數(shù)據(jù)源。圖12示出了數(shù)據(jù)源屬性對話 框,它是通過使用數(shù)據(jù)源上下文菜單創(chuàng)建新類型的數(shù)據(jù)源而產(chǎn)生的。圖12示 出了給設(shè)計者呈現(xiàn)出一屏幕,允許基于設(shè)計者可用的數(shù)據(jù)類型來選擇數(shù)據(jù)適配 器。在圖12中,可用適配器類型被顯示成OLEDBforSQL Server、 OLE DB for Oracle、 Clarify Adapter和Remedy Adapter。這些適配器類型僅是出于說明目的 而顯示的,應(yīng)該理解,可以根據(jù)本發(fā)明的內(nèi)容提供附加的和不同的適配器類型。 圖12示出了設(shè)計者還可以指定連接類型。在選擇適配器之后,設(shè)計者將選擇 連接顯示按鈕以指定連接參數(shù)。
圖13示出了一驗證屏幕,用于設(shè)計者提供登錄信息并選擇特定的企業(yè)數(shù) 據(jù)源目標(biāo)。 一旦設(shè)計者被授權(quán),則將根據(jù)所選的適配器改變該顯示。在新的數(shù) 據(jù)源被定義好之后,通過使用DAD接口,根據(jù)設(shè)計者新定義的數(shù)據(jù)源類型, 新的數(shù)據(jù)源類型節(jié)點將出現(xiàn)在Dexterra Explorer樹形視圖中(圖IO)。
可以從Dexterra Explorer樹形視圖中創(chuàng)建、添加、編輯和刪除其它節(jié)點。 圖14示出了設(shè)計者正從樹形視圖中做出命令選擇。選擇圖13中的"Add New Command"將產(chǎn)生圖15的"New Command"對話框。
圖15示出了可以針對新命令以及用于指定數(shù)據(jù)源、動作、數(shù)據(jù)類型和源 的各種參數(shù)而輸入名稱,還可以針對用于輸入SQL語句的空間而輸入名稱。圖 16示出了 Add Command對話框的參數(shù)選項卡接受附加命令說明。
在用于圖15的Add New Command對話框的各種控制參數(shù)中,有
命令名稱文本框-DAD用戶輸入一名稱以唯一地標(biāo)識該命令。在"save" 上,有一個關(guān)于該命令名稱是否唯一的驗證過程。
數(shù)據(jù)源-這是已定義好的數(shù)據(jù)源的下拉式列表。該信息是從元數(shù)據(jù)中發(fā) 現(xiàn)的。要求每個命令都具有相應(yīng)的數(shù)據(jù)源。
命令類型(動作)-這是不同類型的可用命令的下拉式列表。要求每個命 令都具有一命令類型。
數(shù)據(jù)組框-該組框包括用于"Main"和"Parameters"的選項卡,并且包含許 多控制以定義該命令的多個動作。該框?qū)⒏鶕?jù)所選數(shù)據(jù)源而不同。例如,圖15所示的顯示是用于RDBMS(比如SQL服務(wù)器)的。本領(lǐng)域的技術(shù)人員將理解, 像Oracle/Siebel系統(tǒng)這樣的系統(tǒng)將不具有"SQL Statement"文本框。
源類型單選按鈕-選擇該單選按鈕將啟動兩個相應(yīng)的組合框(Datasource 和Source Type)并且禁用SQL語句文本框。該單選按鈕指出設(shè)計者正在使用企 業(yè)數(shù)據(jù)系統(tǒng)可用的企業(yè)對象。
源類型框-是用于指出可從企業(yè)系統(tǒng)中獲得的企業(yè)對象類型的列表。源 類型的示例包括SQL中的表格、視圖、或存儲的過程。
源框- 一種可用企業(yè)對象的下拉式列表,讓用戶基于按類型的濾波來進 行選擇。
SQL語句單選按鈕-選擇該單選按鈕將啟動相應(yīng)的文本框并禁用 SourceType和Source組合框。該單選按鈕指出設(shè)計者將要指定該命令將執(zhí)行的 SQL語句。
SQL語句文本框-設(shè)計者輸入將要由命令執(zhí)行的SQL語句。
在用于圖16的Add New Command-Parameters對話框的各項參數(shù)中,有
參數(shù)列表框-包含用于選定企業(yè)對象的參數(shù)列表,若它們適合的話。圖
16示出了用于Return Value禾Q CustomerFirstName的參數(shù)。
參數(shù)屬性組框-示出了用于描述所選參數(shù)的屬性的控制分組。
名稱文本框-所選參數(shù)的名稱。在圖16中,該文本框已變灰了以指出它
被禁用,因為參數(shù)名稱無法被編輯。
方向框-這包含一參數(shù)可能具有的方向類型的下拉式列表,比如輸入、
輸出以及輸入/輸出。
數(shù)據(jù)類型框-這包含了可用于該參數(shù)的數(shù)據(jù)類型的下拉式列表,若可用的話。
所需的框-包含了布爾值真或假,并由此指出是否需要該參數(shù)。 數(shù)值文本框-如果該參數(shù)的數(shù)值將被強制,則該文本框是可用的。 在編輯過程完成之后,Dexterra Explorer中的樹形視圖將被更新以反應(yīng)出 任何己添加的項。例如,圖17示出了被稱為"CustomerQuery"的新命令已被添 加到該樹形視圖。因此,該名稱命令將可用于任何使用DAD連接到Solomon 服務(wù)器的后續(xù)開發(fā)者。應(yīng)該注意到,通過使用Dexterra Explorer圖形用戶界面
并且編輯多個命令,新的CustomerQuery命令還可以被操縱(復(fù)制、移動、編 輯和移動等)到樹形視圖的另一個節(jié)點。
因此,Dexterra Explorer工具能夠創(chuàng)建常規(guī)的企業(yè)連通性,并且能夠針對 實現(xiàn)方式的特定實例分離到達任何具有該配置和適應(yīng)性的后臺企業(yè)系統(tǒng)的連 通性。這允許在.NET接口和待開發(fā)的后臺系統(tǒng)之間進行通信,這種開發(fā)與該后 臺系統(tǒng)所需的信息配置是分開的,由此創(chuàng)建了一抽象層并允許配置工具管理該 適應(yīng)性。這樣,所揭示的工具就實現(xiàn)了一種特定的Dexterra適配器接口,它將 綁定到Dexterra數(shù)據(jù)管理程序,并實施在Dexterra服務(wù)器和任何企業(yè)數(shù)據(jù)源之 間移動數(shù)據(jù)所必需的特定輸入和輸出。
圖18是一流程圖,示出了上述移動數(shù)據(jù)平臺系統(tǒng)的操作過程。在第一操 作(框1802)中,用戶指定(創(chuàng)建)連接對象,它提供了到后臺企業(yè)數(shù)據(jù)源處 所存儲的數(shù)據(jù)對象的接口并且將可通過該連接對象獲得的數(shù)據(jù)接口對象暴露 成表、存儲過程、腳本、或?qū)ο笾械娜我环N。在接下來的操作中(框1804), 確定了數(shù)據(jù)動作,其中將要在數(shù)據(jù)接口對象上執(zhí)行數(shù)據(jù)動作,其中該數(shù)據(jù)動作 由根據(jù)命令對象來標(biāo)識該數(shù)據(jù)動作的數(shù)據(jù)對象來指定。在最后一步操作中(框 1806),視圖對象綁定綁定到數(shù)據(jù)對象以便在數(shù)據(jù)接口對象上執(zhí)行指定的命令 對象數(shù)據(jù)動作。
如上所述,使用Dexterra工具時,系統(tǒng)設(shè)計者將利用Dexterra-支持的適配
器來創(chuàng)建到達后臺企業(yè)數(shù)據(jù)源的連接對象。該連接對象(通過使用發(fā)現(xiàn)和內(nèi)部 檢查或通過描述)將可通過適配器獲得的數(shù)據(jù)接口對象暴露成表、存儲過程、 腳本、或?qū)ο?。接下來,使用Dexterra工具時,設(shè)計者將創(chuàng)建一系列的命令對 象,這些命令對象通過適配器執(zhí)行特定的動作。這些動作可以包括像選擇、插 入、更新、和/或刪除等操作。接下來,設(shè)計者定義數(shù)據(jù)對象,其中它們將選擇 合適的選擇命令、插入命令、更新命令、和/或刪除命令。接下來,視圖對象綁 定綁定到數(shù)據(jù)對象以便于其請求和響應(yīng)動作。使用該技術(shù)時,開發(fā)者可以請求 并保存來自一個或多個后臺數(shù)據(jù)源的數(shù)據(jù),這些數(shù)據(jù)源映射到Dexterra應(yīng)用程 序服務(wù)器內(nèi)單個定義好的數(shù)據(jù)對象,由此提供了到物理數(shù)據(jù)結(jié)構(gòu)的抽象層以及
接口能力。
當(dāng)移動平臺響應(yīng)于移動客戶機而工作時,應(yīng)用程序服務(wù)器的數(shù)據(jù)管理程序
將請求并響應(yīng)于該系統(tǒng)的任何連接器接口組件。應(yīng)用程序服務(wù)器使用連接、命 令、數(shù)據(jù)和視圖等對象的定義來確定對于后臺企業(yè)數(shù)據(jù)源而言如何檢索或保存 數(shù)據(jù)以及檢索或保存什么樣的數(shù)據(jù)。
根據(jù)本發(fā)明,提供了一種供移動應(yīng)用程序的設(shè)計者使用的被稱為"DAD"的 計算機程序工具,以創(chuàng)建到達移動數(shù)據(jù)平臺系統(tǒng)中全異企業(yè)數(shù)據(jù)源的定制企業(yè)
連通性。該DAD應(yīng)用程序工具通過附圖的用戶界面提供了這些特點。因此, 該DAD應(yīng)用程序工具提供了一種用于指定對多個企業(yè)數(shù)據(jù)源和移動客戶機之 間所共享的數(shù)據(jù)進行應(yīng)用程序處理的手段。如上所述,DAD應(yīng)用程序提供了 用于指定連接對象的手段,該連接對象提供了到達后臺企業(yè)數(shù)據(jù)源處所存儲的 數(shù)據(jù)對象的接口并且將可通過該連接對象獲得的數(shù)據(jù)接口對象暴露成表、存儲 過程、腳本、或?qū)ο笾械娜我环N;用于指定命令對象的手段,該命令對象執(zhí)行 特定的數(shù)據(jù)動作;用于指定數(shù)據(jù)對象的手段,該數(shù)據(jù)對象準(zhǔn)許移動數(shù)據(jù)客戶機 指定將要在數(shù)據(jù)接口對象上執(zhí)行的命令對象數(shù)據(jù)動作之一;以及用于指定視圖 對象的手段,該視圖對象適合于綁定綁定到數(shù)據(jù)對象以便執(zhí)行指定的命令對象 數(shù)據(jù)動作。
包括DAD工具的計算機程序可以被安裝在計算機裝置或系統(tǒng)上,比如臺 式計算機、筆記本計算機等,只要該DAD工具程序可以接收用戶輸入以實現(xiàn) 連接適配器指定過程并且還可以驗證數(shù)據(jù)源、綁定等就可以。配置好的適配器 和連接對象可以被包括在移動數(shù)據(jù)平臺系統(tǒng)之內(nèi)并且被安裝在移動平臺的應(yīng) 用程序服務(wù)器處,所以適配器的操作特點可以用在移動客戶機處以便用企業(yè)數(shù) 據(jù)源進行操作。
上文根據(jù)較佳實施方式對本發(fā)明進行了描述,使得對本發(fā)明的理解能夠得 到傳達。然而,有許多適用于移動企業(yè)數(shù)據(jù)系統(tǒng)的配置并未在本文中具體描述, 但本發(fā)明都可應(yīng)用于這些配置。因此,本發(fā)明不應(yīng)該被視為僅限于本文所描述 的特定實施方式,而是應(yīng)該理解,關(guān)于移動企業(yè)數(shù)據(jù)系統(tǒng)本發(fā)明通常具有很寬 的應(yīng)用性。落在所附權(quán)利要求書的范圍之內(nèi)的所有修改、變化或等價排列方式 和實現(xiàn)方式都應(yīng)該被視為落在本發(fā)明的范圍之中。
權(quán)利要求
1.一種用于指定在多個企業(yè)數(shù)據(jù)源和移動客戶機之間所共享的數(shù)據(jù)的應(yīng)用程序處理的方法,所述方法包括指定連接對象,所述連接對象提供了到后臺企業(yè)數(shù)據(jù)源處所存儲的數(shù)據(jù)對象的接口并且將可通過所述連接對象獲得的數(shù)據(jù)接口對象暴露成表、存儲過程、腳本、或?qū)ο笾械娜我环N;確定將要在所述數(shù)據(jù)接口對象上執(zhí)行的數(shù)據(jù)動作,其中所述數(shù)據(jù)動作是由根據(jù)命令對象標(biāo)識所述數(shù)據(jù)動作的數(shù)據(jù)對象來指定的;以及使視圖對象綁定到數(shù)據(jù)對象以便在所述數(shù)據(jù)接口對象上執(zhí)行指定的命令對象數(shù)據(jù)動作。
2. 如權(quán)利要求l所述的方法,其特征在于,所述命令對象可以指定由數(shù) 據(jù)選擇、插入、更新和刪除中的任一動作所構(gòu)成的數(shù)據(jù)動作。
3. 如權(quán)利要求l所述的方法,其特征在于,指定所述連接對象包括從多 個適配器中進行選擇,各適配器適合于與全異的企業(yè)數(shù)據(jù)源進行通信。
4. 一種計算機程序系統(tǒng),用于指定在多個企業(yè)數(shù)據(jù)源和移動客戶機之間 所共享的數(shù)據(jù)的應(yīng)用程序處理,所述系統(tǒng)包括用于指定連接對象的裝置,所述連接對象提供了到后臺企業(yè)數(shù)據(jù)源處所存 儲的數(shù)據(jù)對象的接口并且將可通過該連接對象獲得的數(shù)據(jù)接口對象暴露成表、 存儲過程、腳本、或?qū)ο笾械娜我环N;用于指定命令對象的裝置,所述命令對象執(zhí)行特定的數(shù)據(jù)動作;用于指定數(shù)據(jù)對象的裝置,所述數(shù)據(jù)對象準(zhǔn)許移動數(shù)據(jù)客戶機指定將要在 數(shù)據(jù)接口對象上執(zhí)行的命令對象數(shù)據(jù)動作之一;以及用于指定視圖對象的裝置,所述視圖對象適合于綁定到所述數(shù)據(jù)對象以便 執(zhí)行指定的命令對象數(shù)據(jù)動作。
5. 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述命令對象可以指定由數(shù) 據(jù)選擇、插入、更新和刪除中的任一動作所構(gòu)成的數(shù)據(jù)動作。
6. 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述指定的連接對象選自多 個適配器,各適配器適合于與全異的企業(yè)數(shù)據(jù)源進行通信。7. —種計算機程序系統(tǒng),用于指定在多個企業(yè)數(shù)據(jù)源和移動客戶機之間 所共享的數(shù)據(jù)的應(yīng)用程序處理,所述系統(tǒng)包括處理器,所述處理器通過應(yīng)用程序服務(wù)器與所述移動客戶機進行通信并與 所述企業(yè)數(shù)據(jù)源交互作用;設(shè)計者工具應(yīng)用程序,用于指定連接對象、指定命令對象、指定數(shù)據(jù)對象、 以及指定視圖對象,所述連接對象提供了到企業(yè)數(shù)據(jù)源之一處所存儲的數(shù)據(jù)對 象的接口并且將可通過連接對象獲得的數(shù)據(jù)接口對象暴露成表、存儲過程、腳 本、或?qū)ο笾械娜我环N,所述命令對象執(zhí)行特定的數(shù)據(jù)動作,所述數(shù)據(jù)對象準(zhǔn) 許移動數(shù)據(jù)客戶機指定將要在數(shù)據(jù)接口對象上執(zhí)行的命令對象數(shù)據(jù)動作之一, 所述視圖對象適合于綁定到所述數(shù)據(jù)對象以便執(zhí)行指定的命令對象數(shù)據(jù)動作, 其中所述命令對象可以指定由數(shù)據(jù)選擇、插入、更新和刪除中的任一種動作構(gòu) 成的數(shù)據(jù)動作并且其中所述連接對象選自多個適配器對象,各適配器對象適合 于與全異的企業(yè)數(shù)據(jù)源進行通信。
全文摘要
一種數(shù)據(jù)體系結(jié)構(gòu)提供了多個視圖對象,這些視圖對象定義了通過連接器到達應(yīng)用程序的企業(yè)數(shù)據(jù)源接口,并且還用到了由命令所定義的數(shù)據(jù)對象。因此,數(shù)據(jù)對象包括可配置的請求,這種請求針對的是通過命令而被發(fā)送到企業(yè)數(shù)據(jù)源的適配器的數(shù)據(jù)。本體系結(jié)構(gòu)使應(yīng)用程序開發(fā)者能夠創(chuàng)建到達全異后臺企業(yè)數(shù)據(jù)源的常規(guī)企業(yè)連通性。
文檔編號G06F9/46GK101198931SQ200680008968
公開日2008年6月11日 申請日期2006年3月21日 優(yōu)先權(quán)日2005年3月21日
發(fā)明者M·克里斯汀, R·奧法瑞爾 申請人:德克斯泰拉股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
丹棱县| 穆棱市| 昭苏县| 桦南县| 安多县| 鱼台县| 辽宁省| 绥阳县| 怀来县| 东安县| 墨脱县| 镇安县| 理塘县| 沙坪坝区| 罗山县| 黔西| 花莲县| 兰考县| 民丰县| 大渡口区| 乡城县| 廊坊市| 甘泉县| 阳江市| 长海县| 蚌埠市| 陇川县| 余姚市| 成都市| 皋兰县| 青海省| 神池县| 乌审旗| 平潭县| 上高县| 蚌埠市| 西和县| 同江市| 江北区| 恩平市| 康乐县|