基本上 Flex與後台 (Application server)交換資料的方式有下列四種:
(節錄自 d.CAT Blog)
-HttpService
-Web Service
-Remote Object
-FDS (Data Service, Messaging)
分別介紹如下:
1、HttpService
這是最簡單也最常見的資料交換方式,就是透過 Http get/post 來傳純文字資料,大部份 web application 都是這樣運作的。
這個方式的好處是非常普及,所有的後台系統一定都可以吃的下這種資料,但缺點則是 complex data type 要經過複雜的序列化與解序列化程序才能在 client/server間交換。
以 .NET 來說,任何一個 asp.net 的頁面都可以透過 get/post 與 flex client 交換資料。
2、WebService
WebService 也是很常見的選擇,好處是規則共通方便不同技術平台交換資料,缺點則同樣是某些複雜資料結構無法輕易的交換,在編碼與解碼的過程中往往會出現意外,例如 Date 的表現方式。
以 .NET 來說,使用 web service 應該是再方便不過的選擇,只要把 asmx 檔案準備好再從 flex client 呼叫即可。
3、Remote Object
這就是傳統的 Flash Remoting, 透過 AMF 以 binary 的方式來回交換資料,主要優點是體積小且支援 flash native object,例如 Array, Value Object 等都可直接傳送,在 server 端也會自動對應到正確的 type。
但由於 Flex 2 (或者應該說是 Flash Player 9 / AS3)使用的是新式的 AMF3 格式,而目前 Adobe 官方販售的 flash remoting for .net (與 open source 的 fluorine只支援舊版的 AMF0,因此沒辦法直接裝了就用。
edit: Fluorine 現在已支援 AMF3。
變通方法則是直接操作 flash.net.NetConnection 並指定使用 AMF0 與 server連線即可;Renaun 寫了一個小工具方便大家操作,可以下載直接使用。
附帶一提,這個小工具也同時適用於 AMFPHP/OpenAMF等各種 AMF0-only 的remoting gateway,所以如果你寫 Flex 2 又想透過 remoting 連接既有的各種 server remoting gateway, 抓這個就沒錯了。
4、FDS (Data Service, Messaging)
Flex Data Service 是 Flex 2 裡新出現的技術,主要目地是希望提供更自動的方法來讓 client 與 server 交換資料,它的核心實際上仍然是 AMF 與 RTMP (對,就是 Flash Media Server 用的那種),部份功能也與 FMS 重疊,但它著重在 Data Sharing 與 Exchange 這部份。
目前 FDS 只有 Java 的版本,也就是 server 端要用 java 寫,但 Adobe 宣稱將來會有 FDS for .NET 版。
不過好消息是,有一家叫 theMidnightCoders 的公司搶先推出了 FDS 相容版本,不但同時支援 AMF0 與 AMF3,更支援部份 FDS 的功能(主要是資料同步的部份,與server端的衝突處理與資料儲存)。
以 .NET 來說,付費的選擇中 weborb 算是目前最優的選擇,價錢只有官方版的一半,但功能更完整;而免錢的選擇則當非 Fluorine 莫屬。
分享到:
相关推荐
Flex是Adobe公司开发的一种富互联网应用程序(Rich Internet Application,RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用。而JSP(JavaServer Pages)是Java平台上的动态网页技术,用于开发服务器端的...
通过本文的介绍,我们了解到如何使用Remoting方式实现Flex与ASP.NET之间的数据交换,特别是Fluorine在其中的关键作用。利用Fluorine,不仅大大简化了数据类型转换的工作,还提高了交互效率。对于希望构建跨平台应用...
通过以上介绍,我们可以看到Flex与Java整合在构建企业级应用,如Simple OA自动化办公系统时,能够充分发挥各自的优势,提供优秀的用户体验和强大的后台支持。理解并掌握这种整合方式,对于提升软件开发效率和质量...
在创建Flex项目时,选择“新建Flex程序”,并确保在“Application Server Type”中选择J2EE。接着,指定目标运行时为你已经安装的服务器,例如Tomcat,并提供BlazDS的war文件路径。此外,为编译后的SWF和HTML文件...
3. **数据绑定和事件处理**:解释了Flex中的数据绑定机制,使得UI元素与后台数据模型能够实时同步,以及如何处理用户交互事件。 4. **与Java的集成**:详细阐述了使用AMF(Action Message Format)进行二进制数据...
- 在Flex Builder中,创建一个新的Flex Project,选择Web application并配置CodeFusion Flash Remoting,确保选择正确的服务器类型(这里是Deployed J2EE Server,对于.NET环境)。 6. **功能定义**: - 示例代码...
7. **创建Flex界面**:使用Flex Builder设计用户界面,与后台服务进行交互,显示和处理数据。 8. **测试和调试**:最后,进行功能测试和性能优化,确保所有组件协同工作,无误运行。 通过以上步骤,你将成功构建一...
这种方案通过服务器端调用ArcIMS应用服务器连接器或通过客户端JavaScript组装ArcXML与ArcIMS应用服务器直接通信的方式接收用户请求。结果通常以HTML形式在浏览器中呈现。虽然这种方案技术较为成熟且开发模式固定,但...
BlazeDS提供了Flex Remoting和LiveCycle Data Services(LCDS)等功能,使得Flex客户端可以与Java后台进行AMF(Action Message Format)数据交换,实现低延迟的双向通信。 3. **AMF通信**:AMF是一种高效的二进制...
它通过在后台与服务器进行少量数据交换来实现这一点,使得网页应用能够快速地响应用户请求,并提供更加流畅的用户体验。 ### 关键技术组成 #### 1. 异步通信 (Asynchronous Communication) - **特性**:异步通信...
WebSocket协议提供了一个全双工通信通道,允许客户端和服务端持续地交换数据。与HTTP相比,它更适合实时应用,如聊天应用、在线游戏等。 ### RESTful API的原则 RESTful API是一种基于HTTP协议的架构风格,遵循...