領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多恭喜 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 session 或 message bean 也是一個 Spring bean。 BEA 做出這個選擇的動機是為了實現快速上市,並盡可能地將新規範功能的實現基於經過驗證的程式碼。 事實證明,Spring 已經做了很多他們需要的事情,這有助於他們實現積極的時間表。 這也有助於確保安全的升級路徑。 許多新功能由 Pitchfork 在經過驗證的 Spring 程式碼之上提供; 絕大多數經過驗證的現有 WebLogic EJB 程式碼庫保持不變。 當然,採用這種方法也突顯了 BEA 對 Spring 品質的信任。
從長遠來看,Spring 在底層的使用應該會讓執行 WebLogic 的 Spring 使用者受益,允許伺服器在深層次管理 Spring 元件(伺服器實際上已經「原生」地理解了它們),並允許使用 Spring 元件模型來補充 Java EE。 EJB 負責人 Patrick Linskey 最近暗示了其中的一些功能
這種架構也為我們提供了一些機會,以便在未來以更整合的層次向 WebLogic Server 開發人員公開 Spring artifacts... [例如]...在 WebLogic Server 叢集中部署 Spring beans; Spring session 複製(基於 WebLogic HTTP session 複製); WebLogic 安全性與 Spring beans 整合; 基於 WebLogic 的 Spring beans 叢集遠端處理; 以及在 WebLogic Server 管理控制台中管理 Spring beans。 此外,我們在內部為一些引人注目的面向外部的 Spring 整合功能奠定了基礎,但我們尚未在 WebLogic Server 10 中公開這些功能。在之前的預覽版本中,可以獲取伺服器內部的 Spring 功能,並實際使用它進行程式設計。 Spring IDE 團隊充滿活力的 Christian Dupuis 在第一個預覽版本發布時 發布了部落格,展示了每個 EJB 3.0 session 或 message 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 License 開源。 很高興看到繼續強調 QOS 功能,而不僅僅是 API 追逐:例如,自動 JMS 容錯移轉。 特別是大型企業客戶通常更關心操作和正常執行時間,而不是規範層級。
過濾類別載入器聽起來特別受歡迎(如果有點過時的話)。 複雜應用程式中的 J2EE 類別載入歷來都是人間地獄——痛苦且是移植應用程式的真正障礙,即使它們按照標準進行程式設計並使用可移植的框架。 隨著伺服器(包括 WebLogic 和 WebSphere)越來越多地在內部使用開源,衝突變得越來越普遍,需要進行 hack 才能修復。 (例如 ANTRL 與 Hibernate 3 和 WebLogic 8.1 的衝突,可以透過使 WAR 中的函式庫優先於伺服器中的函式庫來解決。) 看來 WebLogic 10 將在這裡提供一個可靠的解決方案,使特定的應用程式能夠以更靈活的方式過濾掉伺服器依賴的類別。