2009年1月18日

Flash Remoting和AMF-RPC for NET基礎入門

Flash Remoting和AMF-RPC for NET基礎入門

在前面的章節,我們介紹了Flash如何通過中間件ASP.NET網頁與服務器之間實現數據交換,瞭解了Flash影片應用程序如何融入到網絡應用環境的最一般原理,有了基本的創建具有網絡交互功能Flash影片應用程序的基本知識。

這一章,我們將開始使用Flash的一個最重要的服務器組件AMF-RPC來實現與Flash影片應用程序的交互,用戶可以感受到更加強烈的Flash網絡應用程序「感覺」,從而可以更輕鬆的創建功能更強大的Flash網絡應用程序——這就是「富媒體應用程序」。

使用Flash作為開發工具,我們現在可以開始學習怎樣使用AMF-RPC創建更為強大而且易用的富媒體應用程序了。

6.1 Flash Remoting基礎和AMF-RPC基礎

隨著互聯網不斷介入應用程序開發的各個領域,協調運算便不斷成為應用程序開發所追求的方向。應用開發也隨之形成了一種習慣:即將應用程序構建成一組組件,分佈於計算機網絡之間,並作為整個程序的一部分一起運行,這便是分佈式應用程序。

為了實現這一目標,人們創建了各種各樣的技術。例 如,Microsoft的DCOM(分佈式組件對象模型)、Object Management Group的CORBA (公共對象請求代理程序體系結構)、Sun的RMI (遠程方法調用)。這些技術提供了可靠的、可升級的體系結構,以滿足對應用程序日益增長的需要。

但是,目前要實現它們的話,存在著不少的問題。DCOM在跨防火牆工作時會有問題,因為它是建立在私有協議上的;而CORBA存在有多種不同接口的問題;RMI的應用有些麻煩,因為你不得不去搜尋一個對象,然後才能調用方法。

並且,隨著計算機客戶端軟件不斷的異化,必須保證各種各樣的軟件終端都可以連接到遠程的服務組件,並能夠實現互操作。於是基於XML的遠程過程調用(RPC)便應運而生,比較知名的RPC包括XML-RPC和WEB服務,這些技術都是Remoting技術。

Remoting技術的實現必須包含兩個方面:

1Remoting Channel:這是指客戶端和服務端的通信協議,例如我們可以使用TCP、HTTP協議。

2Serializer:這是指在傳輸時採用何種格式來傳輸數據,例如我們可以採用Binary,也可以採用SOAP來傳輸XML格式的數據。

客戶端的數據經過序列化通過HTTP被傳遞到遠程服務端,在服務端,一般會有一個代理(網關)接收並將數據逆序列化,從而執行位於服務端的方法,並返回給客戶端。

隨著Flash不斷介入應用程序開發的各個領域,作 為一個流行的應用程序終端,用於Flash的Remoting實現也日漸多了起來,從最早應用於Flash 5的SQL Component Kit,到現在日漸流行的XML-RPC、WDDX、Flash Remoting MX(AMF-RPC)等。

AMF-RPC是目前最重要的Flash Remoting技術。



Flash Remoting: The Definitive Guide