WebLogic 10 技術預覽版釋出 - 基於 Spring Framework 構建

工程 | Rod Johnson | 2007年2月11日 | ...

恭喜 WebLogic 團隊釋出了 WebLogic 10 的預覽版,該版本通過了 Java EE 5 CTS。很高興看到 BEA 在經歷 J2EE 1.4 的偏差後,重新回到了他們快速啟動的傳統。

對於 Spring 社群來說,這是一個有趣的訊息,因為 WebLogic 10 在內部使用了 Pitchfork。Pitchfork 專案是一個由 Interface21 領導並與 BEA 合作開發的開源專案,它在 Spring 之上實現了 EJB 3.0 攔截和 JSR-250 注入。它被用於 WebLogic 10 EJB 容器以及伺服器的其他部分,以滿足新的規範要求,但並不與 WebLogic 繫結。Pitchfork 可以獨立使用(儘管這不是其主要目標),也可以被其他應用伺服器採用。

順便說一句,Pitchfork 專案不應與 Project Pitchfork(一個德國樂隊)混淆。緊急訊息:我剛發現他們有一首名為 It's Spring 的歌曲。不過,我不能說我是它的粉絲……

使用 Pitchfork 意味著在 WebLogic 10 的執行時環境中,每個 EJB 3.0 會話或訊息 bean 也都是一個 Spring bean。BEA 做出此選擇的動機是為了實現快速的市場上市,並儘可能基於經過驗證的程式碼來實現新規範功能的實現。Spring 已經完成了他們所需的大部分工作,這有助於他們實現激進的時間表。這也應該有助於確保安全的升級路徑。許多新功能由 Pitchfork 在經過驗證的 Spring 程式碼之上提供;經過驗證的現有 WebLogic EJB 程式碼庫的絕大部分保持不變。當然,採用這種方法也凸顯了 BEA 對 Spring 質量的信任。

從長遠來看,Spring 在底層的使用應該會使執行 WebLogic 的 Spring 使用者受益,允許伺服器在深層級別管理 Spring 元件(伺服器已經有效地“原生”理解它們),並使 Spring 元件模型能夠用於補充 Java EE。EJB 負責人 Patrick Linskey 最近暗示了其中一些功能。

該架構也為我們提供了在將來以更整合的方式向 WebLogic Server 開發人員公開 Spring 構件的機會……[例如]……在 WebLogic Server 叢集中部署 Spring bean;Spring 會話複製(利用 WebLogic HTTP 會話複製);WebLogic 安全與 Spring bean 整合;基於 WebLogic 的 Spring bean 叢集遠端呼叫;以及在 WebLogic Server 管理控制檯中管理 Spring bean。此外,我們已經在內部為一些引人注目的新面向外部的 Spring 整合功能奠定了基礎,但我們尚未在 WebLogic Server 10 中公開這些功能。
在之前的預覽版本中,可以訪問伺服器內部的 Spring 功能並實際進行程式設計。Spring IDE 團隊充滿活力的 Christian Dupuis 在第一個預覽版本釋出時 發表了博文,展示了每個 EJB 3.0 會話或訊息 bean 如何也成為一個 Spring bean,並且可以透過提供與 EJB 同名的 Spring bean 定義來將更強大的 Spring 注入和真正的 AOP 應用於這些元件——這是一種簡單而優雅的方法。我不確定該機制在當前預覽版本中是否有效,並且還沒有時間進行檢查;我知道 BEA 的目標是首先發布符合規範的伺服器,然後研究如何最好地打包和記錄增值擴充套件。

與 WebLogic EJB 團隊一起在 Pitchfork 及其在 WebLogic 中的使用方面進行合作很有趣——特別是 Michael Chen 和 Patrick Linskey。不可避免地,與 Patrick 一起工作有時是在啤酒的陪伴下進行的。

很明顯,我特別看好 Spring 的角度(尤其是因為我和 Costin Leau 在其中付出了努力),但 WebLogic 10 中當然還有許多其他重要的內容:特別是,將 Kodo/OpenJPA 作為 JPA 持久化提供程式。該產品的核心是 Apache 許可證開源。很高興看到持續強調 QOS 功能,而不僅僅是 API 的追逐:例如,自動 JMS 故障轉移。特別是大型企業客戶通常比規範級別更關心操作和正常執行時間。

過濾類載入器聽起來特別受歡迎(儘管已經推遲了)。傳統上,複雜應用程式中的 J2EE 類載入是地獄般的存在——痛苦不堪,即使應用程式遵循標準並使用可移植框架,也是移植應用程式的真正障礙。隨著伺服器(包括 WebLogic 和 WebSphere)在內部越來越多地使用開源,衝突變得越來越普遍,需要透過 hack 來解決。(例如,與 Hibernate 3 和 WebLogic 8.1 的 ANTRL 衝突,可以透過使 WAR 中的庫優先於伺服器中的庫來解決。)看來 WebLogic 10 將在此處提供一個穩健的解決方案,它能夠更靈活地使特定應用程式過濾掉伺服器依賴的類。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有