關注JBoss SEAM 1.0,重新定義的web應用架構

gudesheng發表於2008-01-03

JBoss Seam是一個強大的用來構建下一代Web 2.0應用程式的應用程式框架,它統一和整合流行的面向服務(SOA)技術,例如AJAX,JSF,EJB3,Java Portlets和BPM,工作流。

Seam自底向上設計,消除了架構和API的複雜性。它允許開發人員通過使用annotation的POJO,元件化的UIwidget和非常少的XML來組裝複雜的web應用。由於Seam 1.0的簡單,使得它未來易於和JBoss ESB和JBI整合。

為何選擇Seam

  • 基於EJB的發開:EJB3.0改變了EJB是粗粒度,重量級物件的名聲,把它變成了有著細粒度annotation的輕量級POJO。在JBoss Seam中,所有的東西都是EJB。JBoss Seam採納Web 2.0的概念即Web就是平臺,此外,JBoss Seam消除了表現層元件和業務邏輯元件的差異。即使是session bean,也可以作為JSF動作的監聽者。
  • 基於AJAX的遠端層:JBoss Seam 遠端允許EJB 3.0 session bean在web瀏覽器中通過Ajax呼叫。Session beans對於JavaScript開發者來說就像是JavaScript物件,隱藏了XML序列化和XMLHttpRequest API的複雜性。Web客戶端還可以通過非同步通知訂閱JMS主題和接受該主題的訊息。
  • 富狀態應用程式:在JBoss Seam之前,HTTP session是唯一管理Web應用程式狀態的方法。JBossSeam提供了多種富狀態的不同粒度上下文,從對話範圍到業務過程,將開發者中HTTP session中解放出來。例如,開發者可以編寫多個工作空間的web應用程式,就如同多視窗的富客戶端一樣。
  • 過程驅動應用程式:JBoss Seam通過JBoss jBPM透明整合了業務過程管理,實現複雜的工作流和頁面流將變得非常簡單。未來的JBoss Seam版本將可以用同樣的方法定義表現層會話。
  • 可測試性作為核心特性:Seam元件,就是POJO,故而天生易於單元測試。但對於複雜應用程式,僅僅單元測試還不夠。因此,Seam將Seam應用程式的易於測試作為框架的核心特性。你可以寫JUnit或者TestNG測試來模擬和使用者的互動,檢查所有系統元件,測試都在IDE中執行。


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=795931


相關文章