隨著富Internet應用(RIA)技術的不斷成熟,將類似於Adobe Flex這樣的RIA應用與健壯的伺服器端技術進行整合就變得越來越重要了。Java開發人員最喜歡的伺服器端架構之一Spring將在這個過程中扮演著重要的角色。
RIAvolutionize the Web的Marco Casario解釋到他為何建議BlazeDS成為Spring與Flex結合的企業系統時說道:“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也非常棒。”
查看英文原文:Integrate Flex with Spring Framework
註:以上內容來自網路,本人不承擔任何連帶責任
文章轉自:http://www.infoq.com/cn/news/2008/05/integrate-flex-spring