小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SyncML技術(shù)筆記

 pestd 2006-08-03

最近公司要做手機(jī),郵件客戶端與網(wǎng)站聯(lián)系人卡片的同步功能
用SyncML來實(shí)現(xiàn)

這里先給出一些參考資料
后面會(huì)寫出自己的實(shí)現(xiàn)的步驟

相關(guān)方面的知識(shí):
1.XML
2.WBXML: Wireless Binary XML(WBXML,無線二進(jìn)制 XML)
3.熟悉SyncML 1.1 規(guī)范

實(shí)現(xiàn)方法:
1.SyncML Reference Toolkit, RTK
/projects/syncml-ctoolkit/
RTK 是一個(gè)比較成熟的產(chǎn)品,可以在 Windows 平臺(tái)和 Linux 平臺(tái)上編譯。但是,Linux 用戶必須作一些更改,因?yàn)樵摴ぞ呦洳⑽磸氐紫恍┬″e(cuò)誤,例如期望不區(qū)分大小寫的文件名。該工具箱包含一個(gè)綜合 C 庫,用于創(chuàng)建、發(fā)送、接收和解析 SyncML 消息。它支持 XML 和 WBXML 編碼,還支持 HTTP(用于 Web 上的同步)、WSP(在 WAP 上使用)和 OBEX(在 IrDA 或藍(lán)牙上使用)傳輸。

小結(jié)
優(yōu)點(diǎn):C 是優(yōu)秀的共同特性;權(quán)威性來源;成熟的產(chǎn)品;活躍的支持郵件列表。
缺點(diǎn):擁有大量 API;文檔不友好;入門困難。

2.Sync4J
/project/showfiles.php?group_id=30236
sync4j./main.jsp?main=theproject
Sync4J 需要 J2EE 環(huán)境,以在其中使用 Java 1.4 來運(yùn)行。對(duì)于象我這樣不經(jīng)常接觸 J2EE 領(lǐng)域的人來說,Sync4J 提供了 JBoss 安裝,從而使我們可以輕松地獲得 J2EE 環(huán)境。如果您當(dāng)前的基礎(chǔ)結(jié)構(gòu)位于 J2EE 環(huán)境,那么該環(huán)境的優(yōu)點(diǎn)一目了然。如果不是位于 J2EE 環(huán)境,那么您可能會(huì)發(fā)現(xiàn)令人有點(diǎn)討厭的相關(guān)資源開銷。但是,因?yàn)榉?wù)器可以使用文件系統(tǒng)作為其同步存儲(chǔ),所以您不必對(duì)項(xiàng)目的每一部分都使用 Java 代碼。

小結(jié)
優(yōu)點(diǎn):專業(yè)實(shí)現(xiàn);是大型系統(tǒng)的良好基礎(chǔ);Java;很可能有很長(zhǎng)的壽命。
缺點(diǎn):龐大的資源開銷;需要 J2EE 應(yīng)用程序服務(wù)器。

3.補(bǔ)充
服務(wù)器端:libwbxmlwbxml2 cvs build + WBXML PHP extension 0.1

其他不成熟的參考:
1.SyncML 服務(wù)器的 PHP 實(shí)現(xiàn)
nicolas./syncml/
對(duì) SyncML 的最直接使用可能是用它備份您手機(jī)上的數(shù)據(jù)。這是 Nicolas Bougues 已經(jīng)用他的 SyncML 服務(wù)器實(shí)現(xiàn)完成的應(yīng)用程序。Nicolas 的代碼是用流行的 Web 腳本編制語言 PHP 編寫的,并使用了 MySQL 數(shù)據(jù)庫作為后端存儲(chǔ)器。它只支持 SyncML 進(jìn)行 XML 編碼,而不支持 WBXML 編碼,并且它是針對(duì) Sony Ericsson P800 手機(jī)而開發(fā)的。P800 只執(zhí)行 HTTP 連接上的同步,這是通過使用 GPRS/GSM 連接,或當(dāng)通過其底座連接至計(jì)算機(jī)時(shí)實(shí)現(xiàn)的。

小結(jié)
優(yōu)點(diǎn):是開始試驗(yàn) MySQL 的有趣且有用的方法。
缺點(diǎn):不成熟,僅限于服務(wù)器的實(shí)現(xiàn);PHP 不適合客戶機(jī)端的開發(fā);無 WBXML 支持。
2.LibSyncML
libsyncml./
因?yàn)榭赡苣J(rèn)為我還沒有討論所有主要的編程語言 - 所以這里就給出用 C++ 編寫的 SyncML 庫。盡管這個(gè)項(xiàng)目的開發(fā)有點(diǎn)停滯(自 2002 年 4 月以來就沒有變化)是事實(shí),但是 LibSyncML 還是給我留下了深刻的印象。它是一個(gè)組裝得很好的項(xiàng)目,在分發(fā)版的構(gòu)造中,具有與您期望從 GNU 工具所獲得的一樣的仔細(xì)周到。

由于 LibSyncML 還不成熟,所以文檔很少。但是,它的示例卻相當(dāng)多。通過通讀源代碼,我對(duì)該庫所提供的干凈封裝的 API 印象深刻,它與 上面提到的 SyncML 參考工具箱形成了強(qiáng)烈的反差。如果您想要自己實(shí)現(xiàn) SyncML,并樂意進(jìn)行 C++ 編程,那么我可以這樣說,它是最值得您關(guān)注的項(xiàng)目。作者的確已經(jīng)朝著這個(gè)正確的方向出發(fā)了。

小結(jié)
優(yōu)點(diǎn):基于簡(jiǎn)單自動(dòng)工具的編譯;API 比 RTK 的干凈得多。
缺點(diǎn):處于早期階段;維護(hù)人員沒有時(shí)間繼續(xù)開發(fā)它;C++ 不通用。

SyncML 服務(wù)器的基本需求:
服務(wù)器至少要能夠理解基本 SyncML 詞匯表。此外,如果它要實(shí)現(xiàn)通訊簿、日歷、任務(wù)安排以及電子郵件,則必須分別支持 vCard、vCalendar、vTodo、以及 RFC2822/RFC2045規(guī)范。(有關(guān)這些規(guī)范的鏈接,請(qǐng)參閱 www./what/technical.htm)

然而,服務(wù)器并不必實(shí)現(xiàn) SyncML 協(xié)議的全部功能。SyncML Representation Protocol 規(guī)范的第七部分定義了所有必須滿足的要求及其細(xì)節(jié)信息(有關(guān) SyncML 規(guī)范的鏈接,請(qǐng)參閱 參考資料)。表 1 中描述了基本 SyncML 操作的語義,并對(duì)基本功能進(jìn)行了總結(jié)。

表 1: SyncML 對(duì)服務(wù)器命令的最小需求描述

命令名稱 在 SyncML 服務(wù)器環(huán)境中的功能描述

Add 用于指示服務(wù)器在客戶機(jī)的數(shù)據(jù)中建立了新的內(nèi)容(比如說在電話本中新
建一項(xiàng))

Alert 用于通知服務(wù)器。所謂通知就是一些同步請(qǐng)求,其中攜帶了表示客戶機(jī)數(shù)
據(jù)庫狀態(tài)的數(shù)據(jù)。請(qǐng)參考 example.xml 中 CmdID2 和 3 的 Alert 命令,
它們請(qǐng)求的是同步日歷與電話本。 Data 元素所關(guān)聯(lián)的代碼指明了請(qǐng)求的
類型,在這個(gè)例子中類型為 201 ,意思是“慢同步”(Slow
Synchrionization)。在“SyncML Sync Representation 勘誤信息”規(guī)范中可
以找到這些代碼的完整列表(請(qǐng)參閱 參考資料)。

Copy 請(qǐng)求在接收者數(shù)據(jù)庫中的其他位置創(chuàng)建某個(gè)項(xiàng)的拷貝。

Delete 請(qǐng)求從服務(wù)器的數(shù)據(jù)庫中永久刪除某項(xiàng)。

Get 顯式地請(qǐng)求根據(jù)所請(qǐng)求的 URI 從服務(wù)器數(shù)據(jù)庫中獲取數(shù)據(jù)項(xiàng)。

Map 用于維護(hù)將本地資源標(biāo)識(shí)與遠(yuǎn)程資源對(duì)應(yīng)的映射表。比如說,移動(dòng)電話上
的某項(xiàng)資源可能具有一個(gè)2字節(jié)的標(biāo)識(shí),而在服務(wù)器上,同一項(xiàng)資源的 ID
則用一個(gè)16個(gè)字符的字符串表示。

Put 用于將數(shù)據(jù)項(xiàng)上傳到服務(wù)器指定的 URI 處。比如說 example.xml 中處理
CmdID 1 的 Put 命令。這一命令請(qǐng)求服務(wù)器將電話的容量(已經(jīng) SyncML
Device Information DTD 編碼)存儲(chǔ)到相對(duì) URI /devinf10 處。 Put 命令
在設(shè)備同步之外使用。

Replace 請(qǐng)求將指定的對(duì)象替換成同步信息中的一部分。

Results 用于攜帶 Get 等請(qǐng)求返回的結(jié)果對(duì)象。

Status 用于返回與請(qǐng)求相關(guān)的狀態(tài)代碼。

Sync 用于將一組命令(如 Add、Replace 、及 Delete )封裝成一次同步。

對(duì) SyncML 客戶機(jī)的基本需求與服務(wù)器的相似。隨著將來在 XML 觀察專欄對(duì)協(xié)議實(shí)現(xiàn)的深入討論,我將進(jìn)一步介紹這些內(nèi)容。

SyncML 用 URI 的語義來指示位于本地和遠(yuǎn)程數(shù)據(jù)庫中的數(shù)據(jù)項(xiàng)。這意味著文件系統(tǒng)作為同步數(shù)據(jù)庫的底層支持是合情合理的。有了這樣的認(rèn)識(shí),下一篇專欄文章將著眼于構(gòu)造一臺(tái)基本的服務(wù)器,它即可以使用 WBXML 編碼的 SyncML,也可以使用 XML 編碼。

相關(guān)鏈接:

www-128.ibm.com/developerworks/cn/xml/x-watch/index.html

XML 觀察:準(zhǔn)備好數(shù)據(jù)去旅行
本文介紹 SyncML 的研究與部署。
www-128.ibm.com/developerworks/cn/xml/x-synchml/index.html

XML 觀察: SyncML 工具箱
本文介紹 Wireless Binary XML(無線二進(jìn)制 XML,WBXML),并探討 SyncML 服務(wù)器的最小功能需求。
www-128.ibm.com/developerworks/cn/xml/x-syncml3/

XML 觀察: WBXML 與 SyncML 服務(wù)器的基本需求
本文探究各種 SyncML 工具箱和產(chǎn)品,著重介紹了開放源碼產(chǎn)品。
www-128.ibm.com/developerworks/cn/xml/x-syncml2/index.html

備注:

針對(duì)于foxmail server的參考:
同步原理
Foxmail地址簿的同步功能遵循SyncML協(xié)議。SyncML是為了實(shí)現(xiàn)任何網(wǎng)絡(luò)下的傳輸設(shè)備和應(yīng)用設(shè)備之間實(shí)現(xiàn)信息共享而開發(fā)出來的一個(gè)數(shù)據(jù)傳輸協(xié)議。SyncML標(biāo)準(zhǔn)以其獨(dú)具的開放性,兼容目前業(yè)界采用的各種通信協(xié)議標(biāo)準(zhǔn),并支持不同應(yīng)用軟件之間和跨操作平臺(tái)的資料共享。目前,SyncML協(xié)議正被迅速推廣應(yīng)用于PC、PDA、手機(jī)等設(shè)備。

SyncML定義了多種數(shù)據(jù)同步模式。Foxmail地址簿使用“雙向同步”和“慢同步”兩種同步模式實(shí)現(xiàn)數(shù)據(jù)同步。

雙向同步(Two-way sync):表示客戶端與服務(wù)器端雙方把自從上一次同步以來更新過的數(shù)據(jù)發(fā)送給對(duì)方,實(shí)現(xiàn)雙方數(shù)據(jù)一致的同步方式。

慢同步(Slow sync):是Two-way sync的一種,但是客戶端與服務(wù)器端會(huì)把自己的所有數(shù)據(jù)都發(fā)送給對(duì)方,進(jìn)行一對(duì)一的比較同步,需時(shí)較長(zhǎng),所以叫Slow sync。

在客戶端與服務(wù)器端對(duì)數(shù)據(jù)進(jìn)行增加、修改和刪除操作,都會(huì)被記錄下來。使用雙向同步模式同步數(shù)據(jù)時(shí),服務(wù)器端與客戶端先后獲取對(duì)方自從上次同步以來的操作記錄,并以之更新自身的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)同步。如果是第一次進(jìn)行同步,或者服務(wù)器要求進(jìn)行慢同步,F(xiàn)oxmail將自動(dòng)從雙向同步模式切換到慢同步模式。

使用慢同步模式同步數(shù)據(jù),F(xiàn)oxmail將把所有同步文件夾的卡片信息發(fā)送給服務(wù)器,服務(wù)器把收到的信息與服務(wù)器上現(xiàn)有的聯(lián)系人信息進(jìn)行比較,更新服務(wù)器的信息,接著,服務(wù)器把Foxmail同步文件夾中沒有的數(shù)據(jù)發(fā)送回來,F(xiàn)oxmail把收到的數(shù)據(jù)添加到地址簿的第一個(gè)同步文件夾中,實(shí)現(xiàn)雙方數(shù)據(jù)的同步。

WBXML格式:

WBXML

 
--
 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多