翻譯: 雙魚瓶 來源: JBoss
摘要: 本文從多角度、較全面地總結了Seam的優勢。
一、增加AJAX特征的最快捷方式
在功能上,Ajax改變了Web的交互模型。傳統Web客戶端所使用的同步、粗粒度的請求,引發了很多服務器端應用吃掉少量的緩存,并且沒有帶來緩存級別的并發操作。
許多情況下,”無狀態”的架構只是基本的解決方案,卻遠遠不夠!Ajax客戶端通過很多異步、并行、細粒度的請求和服務器連接,使開發人員可以輕易地連接和獲取遠端”數據庫”信息。
可是如果狀態在交互時被保存到內存,并行相關的bugs將會非常危險,因為Java EE平臺并不處理會話級別的并發。
最初設計的時候,Seam被構想成在Ajax基礎上,整合并行模型和狀態管理模型。
Seam1.1整合了許多基于JSF的開源Ajax解決方案,像ICEfaces和Ajax4JSF,同時加入了Seam的狀態和并行管理引擎。開
發人員可以輕松地在程序中應用Ajax,甚至不需要學習JavaScript;并且將遠離單獨使用Ajax時潛在的bugs和性能問題。
二、開始使用EJB 3.0的最簡單方式
EJB 3.0是成熟的事務組件模型,也是最新JPA(Java持久層API)關注的技術,但支持EJB 3.0的Java Web應用框架卻很少。這樣,你需要去寫自己的整合代碼。但在大多數情況下,開發人員整合的方式并不能充分利用EJB 3.0的優勢。
EJB 3.0是Seam使用的核心技術,你可以無處不在地使用整合的EJB 3.0組件模型。因為在Seam應用中,每個類都是一個EJB組件。你甚至不用寫任何整合代碼,即可”美化”你的框架。
當然,你也可以選擇不使用EJB 3.0,JBoss Seam使你”魚與熊掌可兼得”。
三、充分挖掘JSF特性的最佳方式
JSF已經有許多組件庫和插件以供使用,也當之無愧地成為Java界最有吸引力的Web開發框架。但是JSF過度地依賴于XML配置,并且創建豐富網頁界面的特性并不多。
Seam將使用注解的方式代替繁瑣的XML配置,減少代碼量的同時也提高了開發效率。
Seam在很多方面擴展了JSF的功能:包括多窗口操作、工作空間管理、基于模型的驗證、基于jBPM的頁面流、國際化和頁面分段緩存等等。
Seam甚至還加入了控制標簽化頁面的機制。
JSF沒有涉及訪問事務資源,Seam考慮到了這一點,將JTA、JPA和EJB 3.0與JSF無縫地整合起來。
四、實現業務流程管理(BPM)的最簡單方式
jBPM是用于解決存在復雜人員協作或者復雜用戶交互的Web應用程序的解決方案。
BPM技術不僅方便開發人員和分析人員建模、應用以及優化業務過程,而且可以在整個操作和管理過程中評估業務流程的效率和發掘業務流程中會出現的問題。
Seam深度整合了jBPM,使用jBPM進行任務管理和頁面流管理將變得異常簡單。
Seam和jBPM的結合將使一些項目的開發時間減少一個月左右。
五、使得CRUD同樣簡單
Seam也同樣處理復雜企業應用中的棘手問題:增刪改查。但這并不意味著解決的方式會很難上手。
在創建數據驅動的應用中,Seam將整合現有易用的數據層框架,包括JPA、Hibernate等,使開發人員可以通過一些數據庫反向工程工具和命令行工具高效地開發數據庫應用。
六、持久層工作將是”小菜一碟”
Seam來源于Hibernate社區,由Hibernate創始者Gavin King設計和開發。
Seam會話模型解決了傳統無狀態的Web應用架構導致的持久層相關問題。無論你是使用Hibernate還是JPA,Seam使用擴展的持久化上下文都將使開發變成簡單,同時也可以使開發人員避免在集成環境下使用持久化上下文時不必要的狀態重復。
七、注釋功能
Seam是第一個從始至終、從持久層到表示層,都使用Java 5注釋功能的程序模型。
你將不會再因為繁瑣的XML配置而感到迷失方向。同時在Seam中,開發人員也可以使用XML,Seam提供成熟的基于XML的組件配置機制,使開發人員不會再在XML配置里迷失。
八、為自動化集成測試而喝彩
任何項目都需要自動單元測試,但是僅僅依靠單元測試是十分危險的。許多的bugs出現在組件之間或者組件和容器的交互過程中。單元測試無法捕捉容器的行為,也無法捕捉組件間的交互。
Seam引入了一種新方式:”自動化集成測試”。你可以模擬每個請求或者會話的全部業務流,來測試應用中從持久層到表示層的所有Java代碼。
九、開放性標準與開源的結合
Seam建立在實現開放標準的、像JSF和 EJB 3.0這樣的開源項目基礎上,并且整合了其他優秀的開源項目,如Hibernate、jBPM、Facelets、Drools等等。
Seam的締造者們都是EJB、JPA、Bean驗證和JSF等領域的專家組成員,并且領導過制定Web Beans規范(JSR-299)的專家組–用于將Seam里的一些想法帶入Java EE標準中。
Seam項目是完全建立在”致力于Java平臺的創新和提高”的開源項目理念上的開源框架。
十、快速上手
只要你試用它,就會愛上它!
審校:駱駝
原創文章如轉載,請注明:轉載自JBoss Seam中文站
[ http://www.jbossseam.com/ ]
本文鏈接地址:http://www.jbossseam.com/2007/11/10/ten-good-reasons-to-use-seam/