領先一步
VMware 提供培訓和認證,以加速您的進步。
瞭解更多Java EE 6 上的 Spring - 一個可行的組合?當您擁有 Java EE 6 伺服器可以部署時,您能否輕鬆地繼續使用 Spring? 在今年的 SpringOne 會議 幾個小時前拉開帷幕,我將再次介紹關於 Spring 和 EE 6 的會議:現在專注於 GlassFish 3,作為一個實際可用(並且在這一點上,仍然是唯一可用)的 EE 6 伺服器,用於生產環境。 作為預覽,以下是從簡報中提取的四個關鍵考慮因素...
GlassFish 3 提供了許多開箱即用的中介軟體:Servlet 3.0、JSF 2.0、JPA 2.0 以及傳統的 EE 服務,例如 JTA 和 JMS - 所有這些都非常適合在基於 Spring 的應用程式中使用。 GlassFish 還捆綁了一個 JSR-303 驗證提供程式、JSR-330 API、JSR-250 通用註釋:用於 Spring 3.0 的關鍵 API。 透過這種組合,Spring 作為框架和伺服器作為中介軟體平臺的重疊最小:基本上只是 EJB 和 CDI 元件模型(僅佔 GlassFish 3 程式碼庫的約 5%),Spring 為其提供了一種替代程式設計模型,同時與底層相同的平臺服務整合。
在 GlassFish 3 上,許多開發人員將繼續選擇 Wicket 或 GWT 而不是 JSF,選擇 Hibernate 而不是 EclipseLink,以及選擇 Spring 而不是 EJB/CDI。 這些決定將受到風格考慮以及架構要求的影響,尤其是可移植性問題。 所有這些框架都必須與應用程式一起部署,因為它們不是伺服器的核心部分,但這很難成為一個決定性因素。 FWIW,它們在“權重”方面甚至在同一個範圍內:將 Hibernate 3.6 jar 的大小與 Spring 3.0 jar 的大小進行比較(約 4 MB)。
今天只有 GlassFish 3 可以作為最終版本使用。 JBoss 6 仍處於里程碑 5 階段;WebSphere 8 處於早期 beta 階段。 另一方面,Spring 3 在 Tomcat 5、6 和 7 以及 J2EE 1.4 伺服器(例如 WebSphere 6.1)以及 Java EE 5 伺服器(例如 WebSphere 7)上執行。 如果 EE 6 伺服器碰巧在生產環境中,那麼 Spring 3 就是一個“好公民”,並將儘可能多地使用 EE 6 伺服器功能。 除此之外,基於 Spring 3 的應用程式可以部署到雲平臺,例如 Google App Engine 和 VMforce...
參見雲、參見 NoSQL、參見分散式快取... Java EE 6 規範捕獲了 2009 年初的最新技術 - Spring 3.0 也是如此。 然而,自從 EE 6 釋出以來,替代趨勢已轉移到前排。 Spring 3.1/3.2 將在 2011 年的過程中朝著這個方向發展:全新的程式設計模型功能將可用於在現有部署平臺上立即使用(例如 Tomcat 6 或 WebSphere 7,無需透過伺服器升級)。 憑藉這種內在的敏捷性,Spring 將繼續領先於緩慢的 Java EE 週期多年。