在 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 目前是如何 实现它们的。您可能认出了一些斜体的项目名。