[转载]Geronimo 叛逆者,第 8 部分: 未来的 Apache Geronimo
Geronimo 叛逆者,第 8 部分: 未來的 Apache Geronimo
想知道 Apache Geronimo 的未來是什么樣嗎?本系列 的這篇文章正適合您。在本期中,叛逆者將探索 Geronimo 的格言卡里有什么,其中包括 Geronimo 開發人員在哪里進行項目、重要的新特性以及改進。然后,將為您展示下一版本的 Apache Geronimo。
簡介
試圖預測開放源碼軟件的未來就像控制地球上的天氣一樣困難。如何才能從混沌世界中理出頭緒來呢?
那些能夠記起演繹 ABC 網絡的 “The Six Million Dollar Man” 系列(或者甚至是其女性版本 “The Bionic Woman” ,那也行)的主題曲的人們,請立即啟動您的大腦放映機開始放映。想起舊電視節目上展開每段情節的可怕事件了嗎?使用大量技術,在明亮的燈光下爭分奪秒工作 的醫生無法喚醒病人 Steve Austin,而 Steve Austin 發現他身體的許多部件被控制論替換:仿生部件實際上比他原來的設備更好!我想像這正是 Apache Geronimo 大約在明年要經歷的事情。它將被來自世界各地的人們組成的貢獻團隊幾乎徹底地重寫。他們將使用每次迭代得到的日益高級的部件,一次一次地重新構建它。
本文展示了 Apache Geronimo 項目成員為他們的 1.1 發行版實現了什么,并透露了 Geronimo 2.0 將在不遠的未來完成。
|
大 1.1
本文不可能在 Apache Geronimo 的 1.1 發行版上市之前將其正式公布。我將發表聲明以防我犯錯,聲明在您閱讀本文時事件將可能發生。在該發行版中有太多令人興奮的東西,所以我將認真對待它。
首先,在其核心,Geronimo 有一個新的可分離心臟。如果不需要全部的 Java? Enterprise Edition (Java EE) 層,而只需要訪問 Web 層,您將可以使用 Little-G(輕量級 Geronimo)而非完整的 Geronimo 安裝。Little-G 只有 19MB,但包括創建 Web 應用程序所需的一切。您可以選擇 Apache Tomcat 或 Jetty。Little-G 將可以通過添加插件來定制,但沒有為該操作提供管理控制臺,而提供了命令行接口。即使如此,我還是聽說,有一個具有 5,000 臺服務器的大客戶計劃使用 Little-G。這當然會有許多 Little-G!
如果不使用 Common Object Request Broker Architecture (CORBA),您還將發現 Geronimo 1.1 現在支持 JDK 1.5。這是一個非常重要的進階,將會在未來的 Geronimo 版本中扮演重要的角色,稍后將詳細討論。如果使用 CORBA,您將仍需要使用 JDK 1.4 與 Geronimo 1.1。大多數人已經側重于使用新 JDK 1.5 功能來進行應用程序開發,許多人還在使用 Eclipse 平臺進行開發。IBM? 一直在努力為針對 Geronimo 服務器的 Eclipse IDE 生產開發輔助模塊。您將能夠使用 Web Tools Platform 1.0.2(參見 參考資料)將應用程序構建并部署到運行在 JDK 1.4 或 1.5 上的 Geronimo 服務器中。這將可能為開發 Geronimo 應用程序移除一個巨大的壁壘。
由于在服務器中對配置處理方式添加了一些更改,Geronimo 服務器的操作和管理可能會更加容易。叫做版本能力配置文件(version-capable configuration files ) 的功能將確保服務器配置在 Geronimo 版本之間保留。您將能夠把配置導出為 XML,將會有一個獨立的升級工具來簡化配置升級。以前版本的 Geronimo 通常將插件功能稱為配置;該術語已經更改為模塊。模塊可以通過管理控制臺或命令行區域來動態下載。
管理控制臺已經升級;最顯著的是,有一些新 portlet 可供使用。首先,有一個 portlet 用于對 mod_jk 進行 Apache 2 HTTP 服務器配置。這允許 Apache Web 服務器將 Web 請求直接轉發給 Geronimo 服務器的 Apache Jserv Protocol (AJP) 端口,使得 Web 應用程序與運行在 Internet 上的 Apache HTTP 服務器似乎是無縫集成的一樣。其次,設計了一個用于管理 Web 應用程序的 portlet,該 portlet 顯示已注冊的 URL 以及 Web 應用程序的當前狀態,從而允許管理員很容易停止和卸載 Web 應用程序。許多 portlet 也具有更新。System Info portlet 具有一個非常酷的新服務器內存使用圖,該圖使用 Asynchronous JavaScript + XML (Ajax) 進行實時更新。Database Pool portlet 在更新后提供了一個向導,使數據庫驅動程序的安裝和配置變得簡單。它還允許從其他服務器(比如 JBoss 4 和 WebLogic 8.1)中導入配置。
在 Geronimo 中使用舊 Java Management Extensions (JMX) Debug 應用程序來解決應用程序的一些對象名稱的人們現在將能夠使用 JConsole,JConsole 構建在 JDK 1.5 中,允許監控任何兼容 JMX 的系統。Little-G 包含 MX4J(更多信息請參閱 參考資料)和遠程 MX4J 來進行該操作。連接 Geronimo 1.1 只需執行下列命令行即可:
$ jconsole service:jmx:rmi:///jndi/rmi://localhost:1099/JMXConnector將該 URL 以及系統管理員用戶名和密碼輸入到連接對話框之后,將看到 圖 1 所示內容。
圖 1. 連接 Geronimo 1.1 服務器的 JConsole
注意,由于安全原因,JMX 連接將只允許來自 Geronimo 服務器運行其上的同一機器的連接。可以在 JConsole 中調用方法、修改配置值和設置通知。
將應用程序部署到 Geronimo 也變得很容易了。部署可以從管理控制臺或命令行中進行。您將可以通過將壓縮 JAR 拖到可配置目錄中來熱部署應用程序。也可以對解壓的 .ear、.war 和 .jar 文件進行適當部署。通過將服務器指向一個包含應用程序的所有代碼產品的目錄,該功能使得開發 Java EE 應用程序更加容易。例如,可以修改 JavaServer Pages (JSPs),并在測試期間立即看到更改。Eclipse 工具將能夠使用該功能來加速開發、部署和測試。
|
密切關注 Geronimo 的未來發展
在 Geronimo 的 1.1 發行版和 2.0 發行版之間,有一個非常混亂的區域,需要代碼主人編寫許多新的身體零件、仿生移植和彈性連接組織。其中許多工作將由 Geronimo 2.0 獲得 Java EE 1.5 認證這個最終目標來驅動,并將包括 OpenJPA 集成、ServiceMix 集成、增強的集群支持、改進的管理能力、性能增強、Java 5.0 兼容性和一個基于 Maven 2.0 的新構建系統。
您可能知道 BEA 及其叫做 WebLogic 的旗艦 Java EE 應用服務器。我認為許多人都不知道 BEA 還有意于促進開放源碼開發。BEA 最近收購了一家叫做 SolarMetric 的非常成功的公司,該公司提出了 Kodo 技術,該技術是功能完全的 JSR220 實現(參見 參考資料)。 這是 Enterprise JavaBeans (EJB) 3.0 持久性背后的標準,最近已經成為頭號新聞,是一種開發人員用于從其應用程序中執行數據庫操作的更簡單的技術。BEA 及其新收購的 SolarMetric 決定創建一個叫做 OpenJPA(參見 參考資料) 的新開放源碼項目,并努力尋找一位開放源碼項目主人,Apache 組織被選中了。這意味著,很可能在未來的幾個月里,OpenJPA 將與 Geronimo 集成,最終取代目前的集成數據庫映射技術 Tranql。在 Geronimo 中放置 EJB 3.0 持久性引擎是邁向獲得 Java EE 1.5 規范的 Geronimo 2.0 目標的最大步伐之一。這與執行顯微外科手術來移植一個新仿生大腦非常相似 —— 都是一項偉大的成就。
由于 ServiceMix 的移植,Geronimo 將獲得新業務流程集成組件的注入。許多標準功能都伴隨著它自己的 SR208 指定。這是 Java Business Integration 1.0 標準(參見 參考資料)。 簡單地說,它是用于以無縫方式集成來自多個供應商的業務組件的標準架構和框架。它使用面向服務架構 (SOA) 以及 Web 技術,比如 Web Services Description Language (WSDL) 和服務終點,來將組件編織到一起。在其核心,該技術將允許許多新數據源的集成,以及將來自許多不同供應商的數據處理引擎插入到 Apache Geronimo 中的能力。
許多人很想知道,Geronimo 什么時候將獲得與 Java 5 的兼容性。最近,這個問題被發布在郵件列表上,很清楚,只要不使用 CORBA 功能,Geronimo 1.1 將允許應用服務器運行在 Java 5 上。如果需要 CORBA,則仍然必須使用 1.4.2。Geronimo 2.0 將被認證為兼容 Java EE 1.5 的服務器,將需要與 Java 5 完全兼容。所以將來會實現這一點。
要從源碼開始構建 Apache Geronimo 服務器,需要 Apache Maven 1.0.2 或之后版本。開發人員已經在致力于為 Geronimo 組合一個構建框架,該框架可使用 Maven 2.0 來構建。
最后,在 Geronimo 1.1 和 2.0 之間一段時間,GUI 安裝程序將完成,它將使得安裝 Geronimo 服務器更加容易。它將是模塊化的,允許安裝一組特定的組件,允許開發人員隨意定制服務器。您將可以從完整的 Big-G 安裝中進行選擇或僅僅選擇 Little-G 安裝。
|
更好、更巧、更快
Geronimo 2.0 估計在明年完成,它將包含目前為止對項目的最大增強。它將是完全認證的 Java EE 1.5 服務器,這意味著它將與 EJB 3.0 規范 (JSR 220) 和 Servlet 2.5 規范兼容,并將支持 Java 5.0 功能,比如注解。
Inversion of Control (IoC) 框架目前很流行。最流行的一個框架是 Spring,它屬于 Geronimo 有相當長的時間了。據說 Geronimo 2.0 中將內置 Spring 支持。這可能意味著您將能夠以更直接的方式使用 Spring,以使用 Geronimo 組件組成應用程序,從而使您的開發人員生活更加輕松。
在 1.1 中偷偷出現并將在 2.0 中進行提煉和增強的功能是在 Geronimo 管理控制臺中為 Geronimo 下載插件的能力。這意味著管理員將能夠從許多可選組件中挑選一些組件來為 Geronimo 提供增強和功能。已經可以下載 Apache Directory Lightweight Directory Access Protocol (LDAP) 服務器作為插件,我敢打賭,這在未來將成為應用服務器軟件更新的一種重要機制。
Ajax 就失控的戰火一樣風靡,因此,最近很難找到沒有 經過 Ajax 功能增強的 Web 應用程序。Geronimo 2.0 將包括許多功能來增強 Ajax 開發體驗。其中一個功能叫做 延續(continuations), 它被構建到 Jetty 6 Web 容器中,可能會在 Geronimo 2.0 空間(如果不在 2.0 發行之前)中扮演一個大角色。這是一種異步服務 Web 請求的可擴展方式,無需在服務器上輸入所有連接和線程資源。隨著 Ajax 越來越流行,這種改進將允許 Geronimo 在未來的世界里變得更加可擴展。
最后,Geronimo 將獲得一個新的心臟或者說是一個新的靈魂(如果您喜歡這種說法),具有重新實現的核心內核架構。您過去可能讀過有關 Geronimo 有效的 GBean 架構的文章。新 Geronimo 將運行一個超輕量級內核,并使用 eXtensible Beans (XBeans) 框架,我認為該框架其實是下一代的 GBean 框架 —— 即 Geronimo 核心進化的下一步。
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/374079/viewspace-130291/,如需轉載,請注明出處,否則將追究法律責任。
轉載于:http://blog.itpub.net/374079/viewspace-130291/
總結
以上是生活随笔為你收集整理的[转载]Geronimo 叛逆者,第 8 部分: 未来的 Apache Geronimo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【python 去除文件名后缀或提取后缀
- 下一篇: ADO的七个对象详情解读