01.Seam Framework 3

Seam 3 是一個在 Java EE 平台基礎上的模組化與開發者工具的集合. 其模組化是可以彈性擴展, 使用 CDI 整合及其它技術來延展核心的 Java EE unctionality. 並且 Seam 擁有許多特性  (security, internationalization, JSF, rules, business process management) . 在 IDE 的支持方面以 JBoss Tools Eclipse plugins 來協助您完成開發.

Project Site, http://seamframework.org/Seam3


Storys


我們習慣了把幾種技術組合到一個框架中,對於一套完整的應用程序集成框架卻感到陌生。這種解體式的組合在持久層最令人苦不堪言。Seam 還處在開發階段的時候,我正被一個利用 Spring 和 JSF 構建的專案搞得焦頭爛額。有一年多的時間,我一直在一成不變地努力管理應用程序的狀態,和一些無關緊要的決策較勁,例如,要把商業物件命名為 Manager 還是 Service,該合理使用幾個層,以及哪個層應該負責某項指定的任務。所有這些使人分心的事情阻礙了專案的進展,也阻礙了我的成長。我決心要找到一條出路。

Seam 有影響力,是因為它遵循一致的方法,而不強加任意的限制。它利用註譯型別、攔截器、基於 XHTML 的模板以及 JSF 組件,儘量提高你的開發效率。當你需要物件時,或者在你需要物件的地方,Seam 都提供了存取物件的權限,並替你管理物件。它還幫助你建立從一個頁面請求到下一個頁面請求的連續性。Seam 給了你極大的自由,你可以根據自己的需要組織應用程序,選擇構建應用程序的工具,比如用 Java 還是用 Groovy,用 XML 還是用註譯型別,用JavaScript 還是用多功能的小部件,用內建組件還是用定製組件,等等。

Seam 值得你去學習,是因為它幾乎觸及了 Java EE 的每一個方面。要學習的東西固然很多,但是有了 Seam,Java 平台的每個層面都變得非常容易使用,並讓你能夠在項目開發早期就處理應用程序的高級部分。你不必再擔心用戶提出天馬行空般的瘋狂需求了,反而覺得自己有能力編寫應用程序,甚至會列出期待的特性清單。 

現在Seam提供了動態雙向注入(bijection),它與流行的依賴注入框架所提供的靜態注入截然不同。我們要告訴你:當主流的技術迫使所有應用程序都進入多層次的無狀態架構中,而不管該架構是否適合正在開發的應用程序時,其實還有更適合的有狀態組件可用。
- Norman Richards Red Hat高級工程師, Seam in Action 作者


Prerequisites


  • JDK 5 or above
  • Maven 2.2 or above (to build the source code or run the examples)
  • Java EE 6-compliant application server (or a servlet container supported by the Weld servlet extension)


Seam 2 到 Seam 3架構的改變









Seam 3 設計





Maven


JBoss Tools Eclipse plugins





動態雙向注入(bijection)






Google Trends - Spring, Seam
http://www.google.com/trends?q=Spring+java,+seam+jboss&ctab=0&geo=all&date=all&sort=0
  • JBoss, Seam Framework 3
  • SpringSource, Spring Framework, 3
    • Grails Framework, Groovy


主題:發現JBoss Seam很棒呀!有用Seam做過項目的嗎?
主題:選擇Seam的十大理由
主題:seam再見了
主題:取捨於得失之間:權衡Java EE 5.0 & Seam & Spring & Yourself
主題:我理想中的Seam Web應用