Flex連接Java EE的技術選擇
Flex連接JavaEE后臺的可用技術:
◆HTTPService(xml 方式)
◆Webservice (soap)
◆Blazeds
◆LiveCycle Data Services
◆Graniteds
◆Flamingo
◆Fiji
◆Fxstruts
◆其他開源項目
分別介紹一下:
HTTPService:
此方式主要是以xml文件格式的內(nèi)容進行客戶端與服務器端的交互,不需要什么擴展,由于此方式比較易用且適用于數(shù)據(jù)量不是很大的情況,因此一般較簡單的flex連接應用都采用這種交互方式。以Java EE為例只要后臺提供的數(shù)據(jù)是xml文檔格式的,無論jap頁面或者servlet都可以進行信息的傳遞。
缺點是效率不是很高,在數(shù)據(jù)量較大時表現(xiàn)比較明顯,
WebService:
Webservice的交互就不用多說了,只要提供接口就可以了,在Flex鏈接Java EE過程中很輕松。
缺點也是效率較低,且對服務器的要求較高。
Blazeds:
這是Adobe在2008年初推出的一個Flex連接JaveEE后臺的一個產(chǎn)品而且是開源的免費的,他是LiveCycle Data Services的一個子集,使用Blazeds可以很方便的連接java后臺,
BlazeDS是一個基于服務器的 Java 遠程控制 (remoting) 和 Web 消息傳遞 (messaging) 技術,它能夠使得后端的 Java 應用程序和運行在瀏覽器上的 Adobe Flex 應用程序相互通信。
同時他也提供HTTPService、Webservice方式,不過這里的HTTPService、Webservice 使用方式不同于上邊的那兩個,Blazeds中是在配置文件中對其進行配置的,這樣很大程度上提高了應用的靈活性。
在這里最重要的還是RemotingObject技術,他可以直接遠程遠程調(diào)用java后臺提供的公共接口,使其效率大大提升,一般是采用HTTPService方式的10倍左右。
LiveCycle Data Services:
其與Blazeds有很多相同的部分,畢竟Blazeds是從他發(fā)展來的,LiveCycle Data Services對于單CPU用戶是免費的,并可用于商業(yè)用途。他提供了一些更強大的功能,比如數(shù)據(jù)同步,對離線功能的支持,等很多針對大型企業(yè)級開發(fā)的功能。
Graniteds:
Gianiteds曾經(jīng)是as與java交互***的選擇,因為他在早期的開源產(chǎn)品中做的是比較好的,Gianiteds目前相對于Blazeds的優(yōu)勢是對java框架(hibernate、spring、ejb等)的支持。
Flamingo:
Flamingo是Exadel的一個開源項目,他的目標設計一個使用Java構(gòu)建RIA應用的工具。在中間層,該工具對Seam和Spring都提供了支持。在 展現(xiàn)層,F(xiàn)lamingo既支持Flex也支持JavaFX,并提供了使用Flex或JavaFX與Seam或Spring相結(jié)合的無縫開發(fā)過程。
Fiji:
Fiji也是Exadel的一個開源項目,F(xiàn)iji為jsf框架引入了flex支持。 并為Flex和JSF間的互操作消除了大量的手工編碼。
Fxstruts:
Fxstruts是一個國外的牛人開發(fā)的,從名字也可以看出是將flex應用于struts的,而且只需要對struts的action進行簡單配置就可以了,目前只支持struts1.x版本,因為struts2.x做了根本的改變,會在后續(xù)版本中加入支持。
【編輯推薦】