Data Service:Flex在J2EE企業(yè)級開發(fā)中的王道
過去的半年,因為對于Flex的認識較淺,全部采用的HttpService的方式構建的我們程序的通信,這里面java對象與as對象的映射與解析是一份工作量不小的工作,不是沒考慮用DataSerive的RPC,因為考慮到收費就放棄了,前不久從InfoQ上一篇新聞得知,有開源的DataService:GraniteDS,而Adobe自己也在去年12月14日開源了一個:BlazeDS。這下清除了我們成本和許可的障礙。前天下載了BlazeDS,稍微研究了一下,部署了一個應用。
結果非常的成功,一切都變得那么簡單了,我們可以輕松的調用后臺的Java方法。就好像調用flex本地的方法一樣。而且不用寫Java類和as類的映射(還是要寫兩行代碼的,在映射的類上寫這些:[Bindable] [RemoteClass(alias="Java全類名,自己替換")]),我昨天試了,非常好用。傳參和返回值都是跟直接調flex的函數一樣(除了是異步的。這里我們看得出Flex對Java是非常友好的),還沒試異常。而且配置也是非常簡單的,在WEB-INF/flex/remoting-config.xml 下配置一個類似這樣的標簽就可以了:
<properties>
<source>flex.samples.product.ProductService</source>
</properties>
</destination>
前后臺的對象保持一致的辦法也只是有一個什么樣的Java對象就寫一個什么樣的as對象。
部署也非常簡單,將BlazeDS下載到之后,解壓完畢我們可以看到三個war包,三個文件夾,和一個license,其他的不看,三個文件夾分別是:
- docs
- resources
- tomcat
另外,即便是對HttpService和WebService的應用方面他都有一個很好的框架,他還有一個message框架,目前我還不清楚是干什么用的,猜測也許像JMS。
在對J2EE的支持方面,GraniteDS號稱已經支持EJB3.0,Spring,Guice,Seam,BlazeDS我還不知道,不過GraniteDS的作者對BlazeDS是持一個開放的態(tài)度的,且兩者的開源協議是同一個,可以互相拷貝代碼,所以我相信將來兩者都會更強大。
簡單的配置,清晰的結構,強大的功能。在試用之后,我堅信Flex中J2EE開發(fā)的王道一定是各種Data Service。
=========================
BlazeDS的網址:
http://labs.adobe.com/technologies/blazeds/
題外話,推薦一個Flex for Java的網址,希望對Java程序員有幫助:
http://flex.org/java/
posted on 2008-01-27 11:56 咖啡屋的鼠標 閱讀(3501) 評論(6) 編輯 收藏 所屬分類: Flex