3.2 SyncML CIient實(shí)現(xiàn)
按照上面的設(shè)計(jì)方案,我們基于通用的智能手機(jī)軟硬件平臺(tái)實(shí)現(xiàn)了SyneML Client軟件。在實(shí)際的智能手機(jī)軟硬件平臺(tái)選擇上,基于成本和實(shí)際系統(tǒng)需求的考慮,選用了以Epson Slc33209為核心的硬件平臺(tái)和以Epson ROS33操作系統(tǒng)為核心的軟件平臺(tái)。開(kāi)發(fā)工具選用了Microsoft Visual C++6和Epson系列編譯、鏈接、下載和調(diào)試工具。在下層通信協(xié)議的選擇上,我們實(shí)現(xiàn)了HTTP和WSP傳輸協(xié)議。
在實(shí)際的SyncMI Client實(shí)現(xiàn)中,本軟件主要是用于個(gè)人信息管(Personal Information Management,PIM)軟件的信息同步。具體地說(shuō)就是同步移動(dòng)終端和遠(yuǎn)端服務(wù)器上的通訊錄和日程安排信息。其中通訊錄信息的編碼格式遵循vCard2.1和vCard 3.O標(biāo)準(zhǔn),日程安排信息的編碼格式遵循vCanlendar 1.O和iCanlendar 2.0標(biāo)準(zhǔn)。
為了保證最大程度上的互操作性,使得SyncML Cli_ent軟件能夠與任何符合SyncML數(shù)據(jù)同步規(guī)范的服務(wù)器進(jìn)行數(shù)據(jù)同步操作,我們嚴(yán)格按照SyncML數(shù)據(jù)同步規(guī)范1.1.1版本的一致性要求進(jìn)行軟件的開(kāi)發(fā)工作。開(kāi)發(fā)出的SyncML Client軟件功能包括:支持雙向同步、慢同步和服務(wù)器端請(qǐng)求同步三種同步類(lèi)型;支持SyncML表示協(xié)議中所要求的所有同步客戶端元素類(lèi)型;支持XML和WBXML兩種格式的同步信息編解碼功能;支持兩種安全認(rèn)證方式,即基本認(rèn)證方式和MD5摘要認(rèn)證方式;支持將大的同步數(shù)據(jù)包拆分成多個(gè)網(wǎng)絡(luò)消息發(fā)送的機(jī)制和Large Objects模式;實(shí)現(xiàn)數(shù)據(jù)庫(kù)級(jí)的同步錨(Strnc Anchors);支持終端同時(shí)和多個(gè)服務(wù)器同步,本地保留多份同步日志信息(最多可同時(shí)保存5份同步日志信息)支持用于電子名片交換的vCard 2.1規(guī)范和vCard3.0規(guī)范;支持用于日歷及行程信息交換的vCalendar l.0規(guī)范和iCalendar 2.0規(guī)范;支持HTTP和WSP傳輸協(xié)議.
軟件開(kāi)發(fā)過(guò)程的一個(gè)主要難點(diǎn)是軟件的后期測(cè)試平臺(tái)的構(gòu)建。當(dāng)前國(guó)內(nèi)開(kāi)通的SyncML服務(wù)器很少,相關(guān)運(yùn)營(yíng)商的SyncML服務(wù)資料十分匱乏,給軟件的測(cè)試帶來(lái)了相當(dāng)?shù)睦щy。在實(shí)際測(cè)試中,我們通過(guò)構(gòu)建自己的SyncML服務(wù)器和測(cè)試環(huán)境克服了這一方面的困難。我們運(yùn)用Nexthaus SyncJe(tm)Personal Servel,Outlook Edi-tion作為遠(yuǎn)端的SyncML同步服務(wù)器,同時(shí)通過(guò)WildPackets EtherPeek NX for Windows分析相應(yīng)的同步消息,從而能夠在實(shí)際的移動(dòng)網(wǎng)絡(luò)中測(cè)試SyncML Cli_ent軟件。
結(jié)語(yǔ)
隨著移動(dòng)計(jì)算的日益普及,人們對(duì)于移動(dòng)數(shù)據(jù)同步的需求正在不斷地增強(qiáng),在一些領(lǐng)先的移動(dòng)終端制造商的產(chǎn)品中已經(jīng)出現(xiàn)SyncMI的蹤影。SyncML參考工具包作為SyncML發(fā)起組提供的官方參考實(shí)現(xiàn),其很大程度上加快了SyncML同步軟件的開(kāi)發(fā)和普及。雖然在一定程度上由于其擁有大量API且不友好的開(kāi)發(fā)文檔,入門(mén)比較困難,但對(duì)于長(zhǎng)期的SyncMl同步軟件開(kāi)發(fā)而言,SyncML參考工具包已成為一個(gè)相當(dāng)好的選擇。





