將Flex與Spring集成框架
隨著富Internet應用(RIA)技術的不斷成熟,將類似于Adobe Flex這樣的RIA應用與健壯的服務器端技術進行集成就變得越來越重要了。Java開發者最喜歡的服務器端框架之一Spring將在這個過程中扮演著重要的角色。
RIAvolutionize the Web的Marco Casario解釋到他為何建議BlazeDS成為Flex與Spring結合的企業系統時說道:“Spring是一個開源框架,可以讓開發人員開發起來更加輕松。如果使用標準的JEE方式,你需要編寫大量無用或者冗余的代碼,還可能花費大量時間去實現J2EE的設計模式,而這些模式僅僅是為了應對技術上的限制而不是真正的解決方案。Spring可以通過簡化這些過程而節省大量時間。”
Christophe Coenraets解釋了Flex與Spring集成的基本原理:
Spring的控制反轉(Inversion of Control,即IoC)的主要思想就是讓容器實例化組件(并且注入其依賴)。但是在默認情況下,由Flex客戶端遠程訪問的組件是在服務器端由Flex目的文件實例化的。所以Flex與Spring集成的關鍵在于配置Flex目的文件以使其能夠讓Spring容器來管理實例化的Spring beans。Flex數據服務支持工廠的概念以便可以實例化這類客戶化組件。工廠的作用僅僅在于向Flex目的文件提供準備好的組件實例,而不是讓 Flex目的文件自己去實例化這些組件。
關于Flex與Spring、IBATIS和Cairngorm的集成,Chris Giametta說道:
我相信可以創建一個一致的、模塊化的、可重用的架構。這個架構既可以支持小型應用,也可以支持非常健壯的企業級應用。項目成功的一個關鍵要素在于創建這樣一個架構:新人能迅速投入進去,并且很快就能上手。我覺得將Flex與Spring、iBATIS和 Cairngorm集成可以幫助我迅速構建出一個基于模式的、可重用的架構。
Sébastien Arbogast在不遺余力地發表一系列博文,以闡述如何構建全棧式Flex、BlazeDS和Spring集成解決方案。
Arbogast的這個全棧式集成,從下到上包括如下內容:
◆JBoss作為應用服務器
◆MySQL作為數據存儲
◆Hibernate完成數據訪問
◆Spring用來構建業務層
◆BlazeDS作為遠程服務
◆Flexe-genial用來構建富客戶端。
該系統使用Maven及flex-compiler-mojo插件進行構建。
Arbogast說:“這個項目的建立當然需要一些工作,但是——除去配置文件復制上的一些小問題外(而且這很快會得到改善)——它真的很干凈,而且flex-compiler-mojo也非常棒。”
【編輯推薦】