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