移動(dòng)執(zhí)法通整體上由兩部分組成,包括運(yùn)行在各個(gè)移動(dòng)執(zhí)法終端上的客戶端和搭建在機(jī)房的后臺(tái)服務(wù)器端。因?yàn)橐苿?dòng)互聯(lián)網(wǎng)的特殊性,客戶端不能實(shí)時(shí)保持與服務(wù)器端的連接,較大數(shù)據(jù)的交互也往往需要做分批次傳輸。利用WebService技術(shù),在實(shí)現(xiàn)與服務(wù)器通信的同時(shí),也方使客戶端在不同操作系統(tǒng)上的擴(kuò)展。服務(wù)器端采用IIS服務(wù)器、Memcached緩存、Sqlserver數(shù)據(jù)庫。
移動(dòng)執(zhí)法終端通過服務(wù)器接口,利用存儲(chǔ)過程訪問底層數(shù)據(jù),并將結(jié)果返回給客戶端,服務(wù)器端除了對(duì)移動(dòng)執(zhí)法終端的請(qǐng)求做出響應(yīng),還要做好數(shù)據(jù)的沖突檢測(cè)和處理,保證服務(wù)器端數(shù)據(jù)的一致完整性。Memcached是一個(gè)高性能的分布式的內(nèi)存對(duì)象緩存系統(tǒng),通過把部分信息保存在內(nèi)存中,可以迅速的進(jìn)行存取,能有效的緩解數(shù)據(jù)庫的壓力。而通過存儲(chǔ)過程訪問數(shù)據(jù),相對(duì)于直接使用$QL語句,具有以下幾點(diǎn)好處:
1.移動(dòng)執(zhí)法終端更快的執(zhí)行速度。類似于程序的預(yù)編譯,存儲(chǔ)過程只在創(chuàng)建的時(shí)候進(jìn)行編譯。而且,存儲(chǔ)過程在首次執(zhí)行時(shí),會(huì)在內(nèi)存中做備份,下次再執(zhí)行時(shí),不用再另外讀取,可以直接從內(nèi)存中調(diào)用,而SQL每次執(zhí)行都需要編譯。
2.移動(dòng)執(zhí)法終端支持重復(fù)使用,接口程序可以重復(fù)調(diào)用執(zhí)行創(chuàng)建好的存儲(chǔ)過程,有效減少了數(shù)據(jù)庫開發(fā)人員的工作量。
3.可維護(hù)性。生產(chǎn)環(huán)境下,少不了要對(duì)數(shù)據(jù)庫架構(gòu)以及業(yè)務(wù)規(guī)則進(jìn)行變更、修改。移動(dòng)執(zhí)法終端利用存儲(chǔ)過程,可以使數(shù)據(jù)庫層面的更改對(duì)于應(yīng)用程序透明化。如可以修改存儲(chǔ)過程以包括新增表的數(shù)據(jù),而不是在應(yīng)用程序代碼中的某個(gè)位置更改此信息,降低了維護(hù)的成本。
4.增強(qiáng)安全性。移動(dòng)執(zhí)法終端通過向用戶授予對(duì)存儲(chǔ)過程的訪問權(quán)限,它們可以提供對(duì)特定數(shù)據(jù)的訪問,保證數(shù)據(jù)的安全。