在 2003 年 8 月,Apache Software Foundation(負責流行的 Apache HTTP 伺服器開 發的團隊)宣布計劃建立一個開源的、認證的 J2EE 伺服器 —— 於是誕生了 Geronimo。作為 J2EE 相容伺服器,Geronimo 是一個很大的項目,包括了不同的功能集。 在這篇由兩部分組成的系列文章的第 1 部分中,我將從使用者的角度介紹 Geronimo,讓 您對該項目真正涉及的範圍有一個正確的認識。然後我將解釋一些在學習 Geronimo 文檔 或者分析這個項目的原始碼時肯定會遇到的一些術語。最後,從系統設計的角度對 Geronimo 進行概述 —— 其中有幾個重要概念。
閱讀完本文之後,作為該伺服器的使用者,您可以自已對 Geronimo 作進一步的探索 —— 甚至可以參與開發這個開源項目。本系列的第 2 部分將提供一些使用該 伺服器的實際體驗,將更詳細地探討應用程式的配置、開發和管理。
我衷心感謝 Geronimo 團隊的 Geir Magnusson、Jr.、Jeremy Boynes、David Jencks 和 Alan D. Cabrera 對本文初稿提供的寶貴意見。
Geronimo: J2EE 1.4 相容伺服器
作為 J2EE 伺服器,Geronimo 可以部署和運行 Web 應用程式和公司專屬應用程式程式。可以使 用 Java ServerPage(JSP)、servlet、filter 和 Enterprise JavaBean(EJB)來構建 應用程式。這個應用程式可以通過 Java Data Access API(JDBC)連接器訪問外部 RDBMS 、通過 Java Naming and Directory Interface(JNDI)訪問目錄服務、通過 Java Message Service(JMS)訪問異動訊息隊列、通過 JavaMail 訪問電子郵件,等等。
對於 Geronimo 項目而言,進行 J2EE 認證既有好處也有壞處(請參閱 認證的代價) 。為了具備認證資格,Geronimo 必須支援 J2EE 規範中規定的所有強制功能(請參閱 參 考資料)。該規範還引用了其他一組規範,而這些規範都有自已的強制條款。圖 1 給出了 具備認證資格 Geronimo 所必須實現的一些內容。
圖 1. 作為 J2EE 1.4 相容伺服器的 Geronimo
在圖 1 中,框中的粗體字是特定 API 的名稱,而斜體字指出了 Geronimo 目前是如何 實現它們的。您可能認出了一些斜體的項目名。