FlexBuilder教程中數據服務器訪問的幾種方式
本文和大家重點學習一下FlexBuilder教程中數據服務器訪問的概念,提供數據訪問的MXML組件被稱之為數據服務器組件(dataservicecomponents)。MXML包含了四種類型的數據服務器組件,請看本文詳細介紹。
一、數據服務器訪問概述
Flex被設計為可以與許多類型的服務器打交道,從而提供對本地和遠端邏輯的訪問。提供數據訪問的MXML組件被稱之為數據服務器組件(dataservicecomponents)。FlexBuilder教程中MXML包含了如下幾種類型的數據服務器組件:
1.HTTPService提供對返回數據的HTTPURLs的訪問。
通過Httpget/post來傳遞純文字資料。好處是非常普及于所有的后臺,但缺點則是復雜的數據類型要經過復雜的序列化與解序列化程序才能在client/server間交換。
2.WebService提供對使用SOAP的web服務器的訪問。
WebService也是很常見的選擇,好處是規則共通,方便不同技術平臺交換資料,缺點則同樣是某些復雜數據結構無法輕易的交換,在編碼與譯碼的過程中往往會出現意外,例如Date的表現方式。以.NET來說,使用webservice應該是再方便不過的選擇,只要把asmx檔案準備好再從flexclient呼叫即可。
3.RemoteObject(FlashRemoting)技術:
官方支持的平臺有三種,分別是JavaColdfusion(但實際上Coldfusion應該只算是java的subset,它是一種scriptingtaglibrary)與.NET。FlexDataServices或MacromediaColdFusionMX7.0.2通過使用AMF協議提供對Java對象(JavaBeans、EJBs、POJOs)的訪問。
4,FlexBuilder教程中其它非官方RemoteObject技術:
由于AMF格式已被非官方反編譯,所以有許多開源的remoting替代方案:
A,AMFPHP:這是php版的remoting
B,OPENAMF:java版的remoting
C,Flap:Perl與Python版的remoting
S,FlashORB:商業版的remoting替代方案,目前支持java與.net
二、HTTPService
使用plainetextformat的傳輸方式,通過xml,loadVars,loadVariables等方式
外部XML讀取Actionscript3.0的賣點之一,就是加強XML讀取的方便性,讀取外部XML是常用的前後端整合手段,而XML節點的操作,比之前AS2用DOM更直觀,可以直接運用標籤與屬性名稱訪問節點。
主要參考章節:ReadingexternalXMLdocumentsTraversingXMLstructures
Lesson6:RETRIEVINGXMLDATA(37min)
1.SettingUpanXMLDataProject&SettingHTTPService
2.SettingUpaDataGridtoDisplayXMLData
3.AddingaLabelControltoaDataGrid
4.UsinganArrayCollection
5.ExaminingaDataStructureinDebuggingMode
6.UtilizingDataReturnedinanEventObject
7.UsingtheHTTPServiceClasstoCatchFaults
8.CreatingaCrossDomainSecurityFile
Lesson13:MANIPULATINGXML(34min)
1.ManipulatingClientSideDataUsingE4XSyntax
2.CreatingaTreeControltoDisplaytheXMLData
3.AddingaChangeEventtoDisplayDatafromtheTree
4.PopulatingtheShoppingCartwithRawXMLContent
5.WorkingwithanXMLListCollection
6.UsingConditionalLogictoCompare&UpdateValues
三、WebService
Lesson14:USINGWEBSERVICES(25min)1.AccessingWebServices
2.InvokingWebServicesMethods&Results
3.UsingaFaultHandler
4.CallMultipleMethodsfromOneWebServiceObject
5.PassingParameterstoWebServices
四、FlexDataServices
FDS(DataService,Messaging)
FlexBuilder教程中FlexDataService是Flex2里新出現的技術,主要目地是希望提供更自動的方法來讓client與server交換資料,它的核心實際上仍然是AMF與RTMP(對,就是FlashMediaServer用的那種),部份功能也與FMS重疊,但它著重在DataSharing與Exchange這部份。
目前FDS只有Java的版本,也就是server端要用java寫,但Adobe宣稱將來會有FDSfor.NET版。不過好消息是,有一家叫theMidnightCoders的公司搶先推出了FDS兼容版本,不但同時支持AMF0與AMF3,更支持部份FDS的功能(主要是資料同步的部份,與server端的沖突處理與資料儲存)。
以.NET來說,付費的選擇中weborb算是目前最優的選擇,價錢只有官方版的一半,但功能更完整;而免錢的選擇則當非Fluorine莫屬。
功能描述:如果你有FlexDataservices,你可以發布一組MXML和AS文件,FlexDataServices可以在收到Http請求前,把你的MXML和AS文件編譯成Swf文件。
◆Flex執行以下步驟:
1.編譯MXML并產生一個SWF文件
2.貯藏已編譯的MXML文件
3.向安戶端返回SWF文件
FlexBuilder教程中發布你的程序方法
◆方法一:發布一個SWF文件
訪問方法:http://hostname/path/filename.swf
方法二:發布MXML和AS文件
訪問方法:http://hostname/path/filename.mxml
◆FDS在你的Java服務器上或者Java容器內運行。以保證在以下幾個特征領域的廣泛性
1>多個客戶端的數據共享
1.支持C2C的數據通訊
2.服務器端數據增加
3.安戶端訪問服務器資源的證明
4.數據服務日志
2>提高RPC的廣泛性
【編輯推薦】
- 解析Flexbuilder4十大新特性
- 從Flex Builder更名看Flash平臺戰略
- FlexBuilder教程教你如何使用特效豐富用戶體驗
- FlexBuilder3.0與Eclipse3.4的完美結合
- 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件