五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > Spring與BlazeDS的整合之AMF協(xié)議介紹(1)

Spring與BlazeDS的整合之AMF協(xié)議介紹(1)

文章來源:365jz.com     點(diǎn)擊數(shù):339    更新時(shí)間:2009-09-12 16:51   參與評(píng)論

 來自于:http://www.riameeting.com

     在日常的RIA開發(fā)中,F(xiàn)lex或者基于純Actionscript3的RIA應(yīng)用非常普遍。 在客戶端與服務(wù)端的交互中,大家用的比較多的幾種方式是:純文本內(nèi)容,XML,JSON等。 不過,隨著Adobe將AMF協(xié)議開源,越來越多的人開始使用基于AMF協(xié)議的實(shí)現(xiàn)來與服務(wù)器交互數(shù)據(jù)。 而BlazeDS是Adobe發(fā)布的一個(gè)開源AMF協(xié)議服務(wù)器端Java實(shí)現(xiàn). 通過BlazeDS,你可以開發(fā)基于Flex,Actionscript3的客戶端應(yīng)用程序,并且使用AMF(Advanced Message Format)與服務(wù)器交互數(shù)據(jù)。本文是這個(gè)系列教程中的第一篇,目的是介紹AMF協(xié)議。

AMF協(xié)議是Adobe開發(fā)的一種消息交換協(xié)議,其優(yōu)點(diǎn)包括

  1. 更小的數(shù)據(jù)傳輸量
    由于AMF協(xié)議采用了二進(jìn)制的編碼方式,省去了很多控制符。比如在XML中,我們傳輸一段數(shù)據(jù),需要把許多XML標(biāo)簽都傳輸過去,類似于<item></item>此類的控制符沒有太大的實(shí)際意義,但是很大程度上增加了數(shù)據(jù)傳輸量。
    AMF協(xié)議則省去了大部分的可見控制符,采用二進(jìn)制編排方式,效率極高。另外,由于同時(shí)也對(duì)數(shù)據(jù)進(jìn)行了壓縮,因此同樣的數(shù)據(jù),可以極大節(jié)省帶寬。如果你的服務(wù)器每天的流量在1百萬以上的訪問,這些節(jié)省的流量則是想等客觀的
  2. 更安全的數(shù)據(jù)傳輸
    在基于二進(jìn)制編碼的前提下,數(shù)據(jù)被編碼傳輸。雖然不能滿足加密數(shù)據(jù)的需要,但是,可以避免其他人直接查看數(shù)據(jù)內(nèi)容。
  3. 對(duì)程序員更友好的數(shù)據(jù)接口
    AMF本質(zhì)上也是一種遠(yuǎn)程方法調(diào)用的支持協(xié)議,其可以將服務(wù)器端或者客戶端的對(duì)象序列化,當(dāng)數(shù)據(jù)被傳輸?shù)侥康亩藭r(shí),重新反序列化成目的端的內(nèi)存中的對(duì)象。
    大家在進(jìn)行XML操作的時(shí)候,會(huì)花費(fèi)很多精力處理XML的編碼與讀取。比如在服務(wù)器,大家需要將數(shù)據(jù)從數(shù)據(jù)庫(kù)或者內(nèi)存中的某處取出,對(duì)其進(jìn)行一定的數(shù)據(jù)編碼,生產(chǎn)一個(gè)XML文檔。發(fā)送到客戶端,在客戶端,則需要將XML解析,將其中的數(shù)據(jù)還原到內(nèi)存中。 這個(gè)過程在使用AMF協(xié)議的時(shí)候,就被省略了。AMF協(xié)議可以很好的支持J2ee開發(fā)中的VO模式。
  4. 數(shù)據(jù)的傳輸穩(wěn)健性更高
    這也許不是AMF協(xié)議自身的功能,而是要?dú)w功于Flash Player.由于我們使用AMF協(xié)議的時(shí)候,一般都是使用基于Flash客戶端。我們?cè)陂_發(fā)過程中測(cè)試傳送100萬條數(shù)據(jù)。如果使用瀏覽器的Javascript引擎接受,不管使用任何編碼協(xié)議,I.E瀏覽器幾乎是要崩潰的,Firefox則是運(yùn)行極為緩慢。而在使用AMF協(xié)議傳輸?shù)紽lash播放器中傳輸這些數(shù)據(jù),對(duì)于客戶端的影響則是要小很多的。最起碼程序還能正常響應(yīng)。

在開發(fā)Flex應(yīng)用程序的時(shí)候,根據(jù)后端服務(wù)器使用的不同情況,目前可以支持AMF的編程語(yǔ)言有

.Net,Java,PHP,Ruby on Rail,python,curl, ColdFusion 等

AMF服務(wù)端支持

.Net Java PHP Ruby on Rail Python Curl ColdFusion
BlazeDS.net BlazeDS AMFPHP   PyAMF Curl CodeFusion
fluorine Granite data services Zend RubyAMF      
WEBORB WebORB WebORB
WEBORB     WEBORB

 對(duì)于.net的Adobe官方實(shí)現(xiàn),目前我們暫時(shí)叫他BlazeDS.net,這個(gè)產(chǎn)品是我們從內(nèi)線獲得的消息,目前在研發(fā),但是不知道什么時(shí)候放出來,應(yīng)該不遠(yuǎn)了。

在下一篇教程中,我將向大家介紹BlazeDS中的一些基本概念,這有助于大家理解并且正確是用BlazeDS.

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (339人查看,0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)