




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、智能客戶(hù)端離線處理的分析與實(shí)現(xiàn)摘要本文首先介紹了智能客戶(hù)端的概念及特性,其次闡述實(shí)現(xiàn)離線處理的方法,最后詳細(xì)介紹了微軟fflineappliatinblk的設(shè)計(jì)與實(shí)現(xiàn)。關(guān)鍵詞智能客戶(hù)端;離線應(yīng)用程序塊;離線處理1引言從技術(shù)架構(gòu)上看,應(yīng)用程序分為胖客戶(hù)端和瘦客戶(hù)端。胖客戶(hù)端將所有應(yīng)用程序都存儲(chǔ)在客戶(hù)端計(jì)算機(jī)上,并具有可以顯示復(fù)雜圖形和動(dòng)畫(huà)的用戶(hù)界面。另一方面,瘦客戶(hù)端將所有應(yīng)用程序都存儲(chǔ)在效勞器上。根本上,它只負(fù)責(zé)檢索和顯示數(shù)據(jù)。瘦客戶(hù)端的主要問(wèn)題是:數(shù)據(jù)需要往返很屢次才能傳輸?shù)叫谄?,從而降低了性能。胖客?hù)端的主要問(wèn)題是:分配比擬復(fù)雜并且會(huì)導(dǎo)致端口問(wèn)題。從業(yè)務(wù)需求上看,隨著信息化的推進(jìn),信息系
2、統(tǒng)在行業(yè)中的應(yīng)用日益普及,對(duì)信息系統(tǒng)的離線使用需求也日益增多。許多行業(yè),如煙草專(zhuān)賣(mài)店,保險(xiǎn)推銷(xiāo)人員都需要在不能持續(xù)聯(lián)機(jī)的情況下使用信息系統(tǒng)。這樣的需求,需要有/S形式的桌面應(yīng)用程序,也要求可以象B/S使用那樣便捷,在傳統(tǒng)的B/S或者/S構(gòu)造中都很難直接實(shí)現(xiàn)。在早先SUN公司推出的JavaebStart從某種程度上可以到達(dá)相關(guān)的要求,但是有著大量的程序編寫(xiě)來(lái)應(yīng)對(duì)離線/在線切換以及數(shù)據(jù)緩存等問(wèn)題。近年來(lái),微軟針對(duì)這樣的應(yīng)用,提出的面向效勞的智能客戶(hù)端概念,提出了離線/在線無(wú)縫切換的思想以及數(shù)據(jù)緩存處理的方案,良好的應(yīng)對(duì)了相關(guān)需求。同時(shí)基于ebServies的特性更使得智能客戶(hù)端的整合才能異常強(qiáng)大,
3、被認(rèn)為是將來(lái)企業(yè)應(yīng)用集成最有潛力的架構(gòu)形式。有兩個(gè)方法可以解決離線需求:以數(shù)據(jù)為中心的方法和面向效勞的方法。使用以數(shù)據(jù)為中心的方法,客戶(hù)端可以使用本地?cái)?shù)據(jù)庫(kù)和復(fù)制機(jī)制,以便在脫機(jī)形式下管理對(duì)數(shù)據(jù)的更改。使用面向效勞的方法,客戶(hù)端可以通過(guò)效勞懇求與許多效勞進(jìn)展交互。假如應(yīng)用程序處于脫機(jī)形式,它可以推延效勞懇求,直到重新連接至eb效勞。2.1以數(shù)據(jù)為中心的方法與效勞器上的數(shù)據(jù)相結(jié)合的應(yīng)用程序使用以數(shù)據(jù)為中心的方法。本地?cái)?shù)據(jù)庫(kù)管理對(duì)本地保存的數(shù)據(jù)所作的更改,然后使用合并復(fù)制將這些更改傳回效勞器。架構(gòu)如圖1。圖1以數(shù)據(jù)為中心的方法首先,客戶(hù)端創(chuàng)立對(duì)所需數(shù)據(jù)的訂閱,這樣客戶(hù)端就可以在脫機(jī)之前將該數(shù)據(jù)復(fù)制
4、到本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中。一旦客戶(hù)端脫機(jī),它將通過(guò)對(duì)本地?cái)?shù)據(jù)存儲(chǔ)區(qū)的調(diào)用,對(duì)本地?cái)?shù)據(jù)進(jìn)展更改。然后,當(dāng)客戶(hù)端重新聯(lián)機(jī)時(shí),數(shù)據(jù)存儲(chǔ)區(qū)的合并復(fù)制機(jī)制將對(duì)客戶(hù)端數(shù)據(jù)所作的更改傳回效勞器。對(duì)效勞器數(shù)據(jù)所作的更改也可能會(huì)傳到客戶(hù)端。在合并階段遇到的任何沖突,將根據(jù)效勞器或客戶(hù)端上指定的沖突解決規(guī)那么,或根據(jù)數(shù)據(jù)存儲(chǔ)區(qū)管理員定義的自定義規(guī)那么來(lái)進(jìn)展處理。以數(shù)據(jù)為中心的方法包括以下特點(diǎn):該方法以數(shù)據(jù)庫(kù)的列級(jí)別和行級(jí)別提供可靠的數(shù)據(jù)沖突檢測(cè)。此外,它還提供數(shù)據(jù)驗(yàn)證和約束??蛻?hù)端與數(shù)據(jù)存儲(chǔ)區(qū)相結(jié)合,這意味著對(duì)數(shù)據(jù)存儲(chǔ)區(qū)架構(gòu)所作的更改會(huì)直接影響客戶(hù)端??蛻?hù)端可以為其訂閱的數(shù)據(jù)存儲(chǔ)區(qū)提供脫機(jī)支持。合并復(fù)制是一個(gè)兩層體系構(gòu)
5、造,因此在可管理性和可維護(hù)性方面受到約束。該方法要求在客戶(hù)端上安裝本地?cái)?shù)據(jù)存儲(chǔ)區(qū)例如,SQLServerfrindsE(SQLE)或SDE,以便與效勞器進(jìn)展復(fù)制。這可能不適用于運(yùn)行在小型設(shè)備或要求簡(jiǎn)易部署機(jī)制的設(shè)備上的應(yīng)用程序。所有更改跟蹤代碼都包含在相關(guān)數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBS)的內(nèi)部。您不需要編寫(xiě)其他更改跟蹤代碼或沖突檢測(cè)和解決代碼。2.2面向效勞的方法智能客戶(hù)端是面向效勞解決方案的組成局部,它可以通過(guò)效勞懇求與網(wǎng)絡(luò)上的效勞進(jìn)展交互。這些效勞可能作為eb效勞來(lái)實(shí)現(xiàn),或者通過(guò)某種其他機(jī)制來(lái)實(shí)現(xiàn),但是該方法的根本特征是:客戶(hù)端并沒(méi)有與它使用的效勞嚴(yán)密結(jié)合在一起,客戶(hù)端和效勞是彼此獨(dú)立的。在此方
6、法中,客戶(hù)端可以自由地與所需的任何效勞進(jìn)展交互。此外,客戶(hù)端將重點(diǎn)放在效勞懇求本身上,而不是放在對(duì)本地保存的數(shù)據(jù)進(jìn)展直接更改上。效勞懇求可能會(huì)導(dǎo)致客戶(hù)端或效勞器上的狀態(tài)更改,但這些更改只是效勞懇求的副作用。架構(gòu)如圖2。圖2面向效勞的方法面向效勞的方法包括以下特點(diǎn):脫機(jī)邏輯封裝在客戶(hù)端上。客戶(hù)端數(shù)據(jù)架構(gòu)可以不同于效勞器上的架構(gòu)。自定義的業(yè)務(wù)邏輯可決定沖突檢測(cè)和解決。實(shí)現(xiàn)面向效勞的方法需要更多的設(shè)計(jì)和編碼。要在脫機(jī)工作時(shí)支持智能客戶(hù)端,需要使用一個(gè)允許存儲(chǔ)效勞懇求詳細(xì)信息的根底構(gòu)造,這樣當(dāng)客戶(hù)端重新連接到網(wǎng)絡(luò)時(shí),就可以執(zhí)行這些效勞懇求。這樣的根底構(gòu)造由以下四個(gè)主要元素組成。效勞代理:效勞代理提供效
7、勞的主要訪問(wèn)點(diǎn)。它管理客戶(hù)端與效勞的所有交互,并封裝所有必要的邏輯以允許客戶(hù)端創(chuàng)立效勞懇求。效勞懇求:效勞懇求的所有詳細(xì)信息都封裝在一個(gè)效勞懇求對(duì)象中。然后,效勞懇求保存在效勞懇求隊(duì)列中,直到執(zhí)行程序組件可以對(duì)它們進(jìn)展處理。效勞懇求對(duì)象負(fù)責(zé)發(fā)出實(shí)際的效勞懇求。效勞懇求隊(duì)列:該隊(duì)列為效勞懇求對(duì)象提供持久的存儲(chǔ)區(qū)。執(zhí)行程序:當(dāng)客戶(hù)端重新連接到網(wǎng)絡(luò)時(shí),執(zhí)行程序負(fù)責(zé)從隊(duì)列中提取效勞懇求并執(zhí)行它們。在效勞懇求完成后,執(zhí)行程序會(huì)通知效勞代理,以便它可以通知客戶(hù)端。圖3展示了這四個(gè)元素,并顯示了它們之間的關(guān)系。可以將此圖看作使用面向效勞方法的組件中所必須包括的功能的表示。還可以將它看作此類(lèi)組件所具有的類(lèi)的表
8、示。圖3面向效勞方法的組件除了上述四個(gè)元素外,還需要考慮許多其他問(wèn)題,然后才能將脫機(jī)支持構(gòu)建到智能客戶(hù)端應(yīng)用程序中。例如,必須具有某種形式的通知機(jī)制,以便執(zhí)行程序可以開(kāi)場(chǎng)或掛起隊(duì)列中的效勞懇求。fflineAppliatinBlk重點(diǎn)解決了離線/在線之間的無(wú)縫切換問(wèn)題。在實(shí)現(xiàn)離線/在線的無(wú)縫集成中,主要存在以下問(wèn)題:如何處理效勞懇求,以實(shí)現(xiàn)離線時(shí)同樣工作如何緩存操作數(shù)據(jù),以備離線正常工作如何同步緩存數(shù)據(jù),以免數(shù)據(jù)邏輯沖突如何監(jiān)測(cè)網(wǎng)絡(luò)狀態(tài),自動(dòng)改變工作狀態(tài)fflineAppliatinBlk使用面向效勞的方法,為了應(yīng)對(duì)離線的工作情況,它提供的調(diào)用流程與圖3一樣。其中效勞懇求包裝了詳細(xì)的效勞信息如
9、ebServies地址,名稱(chēng)等等,從而建立效勞代理為客戶(hù)提供了調(diào)用接口。然后,通過(guò)建立效勞懇求隊(duì)列來(lái)緩存效勞懇求隊(duì)列,使效勞懇求信息可以緩存。最后通過(guò)執(zhí)行程序來(lái)調(diào)用實(shí)際的效勞。通過(guò)這種方式,離線的效勞懇求信息可以通過(guò)文件、數(shù)據(jù)庫(kù)或者消息隊(duì)列等進(jìn)展緩存,而專(zhuān)用的執(zhí)行程序也可以與離線/執(zhí)行切換的事件掛鉤,從而實(shí)現(xiàn)離線/在線無(wú)縫切換。fflineAppliatinBlk的效勞處理過(guò)程如圖4所示:圖4fflineAppliatinBlk效勞流程在這樣的流程中,效勞懇求可以被保存,使效勞的懇求信息可以通過(guò)數(shù)據(jù)庫(kù)、文本文件或者消息隊(duì)列的方式存儲(chǔ),并建立離線狀態(tài)下的效勞懇求隊(duì)列。通過(guò)專(zhuān)門(mén)的執(zhí)行程序來(lái)執(zhí)行效勞
10、隊(duì)列懇求,這樣可以直接通過(guò)回調(diào)的方式與程序的在線/離線切換直接掛鉤。因此,對(duì)效勞懇求的協(xié)調(diào)和管理是fflineAppliatinBlk中重點(diǎn)考慮的局部,為了實(shí)現(xiàn)以上的工作流程,fflineAppliatinBlk分成了如圖5所示相應(yīng)子系統(tǒng),它們是松散耦合的組件。圖5fflineAppliatinBlk子系統(tǒng)a)連接狀態(tài)管理:檢測(cè)應(yīng)用程序是處于聯(lián)機(jī)狀態(tài)還是脫機(jī)狀態(tài)。有兩種方法可以判斷連接狀態(tài):手動(dòng)判斷或通過(guò)自動(dòng)過(guò)程判斷。應(yīng)用程序的行為會(huì)根據(jù)連接狀態(tài)而變化。b效勞代理管理:與fflineAppliatinBlk的這些元素“消息數(shù)據(jù)管理、“參考數(shù)據(jù)管理以及效勞器進(jìn)展交互。它會(huì)進(jìn)展協(xié)調(diào),以便將任務(wù)完成
11、通知返回到應(yīng)用程序。)消息數(shù)據(jù)管理:消息數(shù)據(jù)是在工作流過(guò)程中創(chuàng)立的數(shù)據(jù)。當(dāng)應(yīng)用程序處于脫機(jī)狀態(tài)時(shí),該數(shù)據(jù)將存儲(chǔ)在一個(gè)本地隊(duì)列中。當(dāng)應(yīng)用程序聯(lián)機(jī)后,“執(zhí)行程序會(huì)從“隊(duì)列中刪除消息,發(fā)出與效勞器同步數(shù)據(jù)的“效勞懇求,然后數(shù)據(jù)就會(huì)與效勞器進(jìn)展同步。d)參考數(shù)據(jù)管理:“參考數(shù)據(jù)管理與“效勞代理管理和“消息數(shù)據(jù)管理配合工作,以下載存儲(chǔ)在本地計(jì)算機(jī)上的參考數(shù)據(jù)。在大多數(shù)情況下,參考數(shù)據(jù)是用于完成工作流的只讀數(shù)據(jù)?!皡⒖紨?shù)據(jù)管理可使參考數(shù)據(jù)與效勞器上的數(shù)據(jù)保持一致。它將消息存儲(chǔ)在“隊(duì)列中以下載參考數(shù)據(jù)。然后,“執(zhí)行程序?qū)⑹褂孟⑿趹┣笈c效勞fflineappliatinblk中所有的邏輯程序都是通過(guò)相應(yīng)的
12、Builder來(lái)完成。其中fflineBlkBuilder是整個(gè)系統(tǒng)的Builder入口。fflineBlkBuilder中創(chuàng)立了系統(tǒng)運(yùn)行中所需要的所有Builder邏輯,一旦實(shí)例化fflineBlkBuilder,整個(gè)appliatinblk中需要的業(yè)務(wù)邏輯將讀取配置文件信息來(lái)創(chuàng)立完成。一個(gè)完好的效勞大致的調(diào)用邏輯如下:lientusterBuilder配置所有的事件信息usterServieAgent繼承自ServieAgentDataLadanagerQueueanagerExutrnlinePrxyntextServieServieAgentntextlient其中,效勞的轉(zhuǎn)換過(guò)程通過(guò)事件觸發(fā)。在微軟提供的AppliatinBlk中,提供了許多例子來(lái)演示如何使用fflineappliatinblk。詳
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 買(mǎi)賣(mài)合同范本免
- 鹵肉教學(xué)員合同范本
- 上海企業(yè)記賬報(bào)稅合同范本
- 廠區(qū)白蟻防治合同范本
- 吳中區(qū)工程咨詢(xún)合同范本
- 課題立項(xiàng)成果申報(bào)書(shū)
- 廠房消防檢測(cè)服務(wù)合同范本
- 單位轉(zhuǎn)讓出租車(chē)合同范本
- 賣(mài)別墅合同范本
- 廠房拆遷工程合同范例
- GT 42456-2023 工業(yè)自動(dòng)化和控制系統(tǒng)信息安全 IACS組件的安全技術(shù)要求
- 《胎心監(jiān)護(hù)及判讀》
- 2023-2024全國(guó)初中物理競(jìng)賽試題第09講杠桿(原卷版)
- 2023-2024學(xué)年人教版新教材必修第二冊(cè) 第七章第一節(jié) 認(rèn)識(shí)有機(jī)化合物(第1課時(shí)) 教案
- 裝飾裝修工程安全管理培訓(xùn)學(xué)習(xí)
- 非煤露天礦山風(fēng)險(xiǎn)辨識(shí)與評(píng)估及風(fēng)險(xiǎn)控制
- 2022版義務(wù)教育(物理)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- AIB(2022版)統(tǒng)一檢查標(biāo)準(zhǔn)-前提方案與食品安全程序
- 《土地管理法》課件
- 網(wǎng)絡(luò)安全技術(shù)服務(wù)方案
- 地鐵站務(wù)員職業(yè)發(fā)展規(guī)劃
評(píng)論
0/150
提交評(píng)論