本文和大家重点学习一下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的控件