`
hereson
  • 浏览: 1451261 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Flex與後台 (Application server) 交換資料的方式

    博客分类:
  • flex
阅读更多

基本上 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嵌入jsp所需的完整包4个

    Flex是Adobe公司开发的一种富互联网应用程序(Rich Internet Application,RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用。而JSP(JavaServer Pages)是Java平台上的动态网页技术,用于开发服务器端的...

    Flex与ASP.NET通过remoting交互实例

    通过本文的介绍,我们了解到如何使用Remoting方式实现Flex与ASP.NET之间的数据交换,特别是Fluorine在其中的关键作用。利用Fluorine,不仅大大简化了数据类型转换的工作,还提高了交互效率。对于希望构建跨平台应用...

    Flex 和 java 整合 教程

    通过以上介绍,我们可以看到Flex与Java整合在构建企业级应用,如Simple OA自动化办公系统时,能够充分发挥各自的优势,提供优秀的用户体验和强大的后台支持。理解并掌握这种整合方式,对于提升软件开发效率和质量...

    创建flex的web工程的方法.pdf

    在创建Flex项目时,选择“新建Flex程序”,并确保在“Application Server Type”中选择J2EE。接着,指定目标运行时为你已经安装的服务器,例如Tomcat,并提供BlazDS的war文件路径。此外,为编译后的SWF和HTML文件...

    [Flex.on.Java(第1版)].(Flex.on.Java).Bernerd.Allmon&Jeremy;.Anderson.文字版

    3. **数据绑定和事件处理**:解释了Flex中的数据绑定机制,使得UI元素与后台数据模型能够实时同步,以及如何处理用户交互事件。 4. **与Java的集成**:详细阐述了使用AMF(Action Message Format)进行二进制数据...

    net下的FLEX开发.pdf

    - 在Flex Builder中,创建一个新的Flex Project,选择Web application并配置CodeFusion Flash Remoting,确保选择正确的服务器类型(这里是Deployed J2EE Server,对于.NET环境)。 6. **功能定义**: - 示例代码...

    跟我一步步搭建 PureMVC+Flex+BlazeDS+Spring+Hibernate

    7. **创建Flex界面**:使用Flex Builder设计用户界面,与后台服务进行交互,显示和处理数据。 8. **测试和调试**:最后,进行功能测试和性能优化,确保所有组件协同工作,无误运行。 通过以上步骤,你将成功构建一...

    基于Flex的ArcIMS地图发布研究

    这种方案通过服务器端调用ArcIMS应用服务器连接器或通过客户端JavaScript组装ArcXML与ArcIMS应用服务器直接通信的方式接收用户请求。结果通常以HTML形式在浏览器中呈现。虽然这种方案技术较为成熟且开发模式固定,但...

    BlazeDS.war

    BlazeDS提供了Flex Remoting和LiveCycle Data Services(LCDS)等功能,使得Flex客户端可以与Java后台进行AMF(Action Message Format)数据交换,实现低延迟的双向通信。 3. **AMF通信**:AMF是一种高效的二进制...

    Ajax文档

    它通过在后台与服务器进行少量数据交换来实现这一点,使得网页应用能够快速地响应用户请求,并提供更加流畅的用户体验。 ### 关键技术组成 #### 1. 异步通信 (Asynchronous Communication) - **特性**:异步通信...

    一些前端面试题.pdf

    WebSocket协议提供了一个全双工通信通道,允许客户端和服务端持续地交换数据。与HTTP相比,它更适合实时应用,如聊天应用、在线游戏等。 ### RESTful API的原则 RESTful API是一种基于HTTP协议的架构风格,遵循...

Global site tag (gtag.js) - Google Analytics