简介: 即使 Apache Geronimo 的功能集中缺少预先集成的门户服务器支持, 您仍可以使用 Geronimo 作为门户应用程序的测试和部署环境。本文将引导您逐步完成在 Geronimo 部署 Apache Pluto 驱动器和 容器的过程,为您的门户应用程序提供百分之百的开放源码环境。然后了解如何 在 Pluto 和 Geronimo 中开发、部署和测试样例门户应用程序。
Apache Pluto 和 Apache Geronimo:快速入门
Apache Pluto 是 Java Portlet Specification (JSR 168) 的参考实 现。Pluto 将提供 JSR 168 中指定的基本轻量级容器接口实现和带有用于开发标准 portlet 的其他实用 程序的门户驱动器。 Pluto 用作一个基本的 portlet 容器,用于实现 portlet API 并为开发人员提 供一个可以托管 portlet 的工作示例平台。Pluto 的简单门户组件只是基于 portlet 容器和 JSR 168 的 要求构建的。
Apache Geronimo 1.1 是 Java 2 Platform, Enterprise Edition (J2EE) 1.4 认证的开源应用 服务器。不同于其他 J2EE 应用服务器,Geronimo 预先集成了外部资源组件,例 如数据库、消息传递服 务器和目录服务器。Geronimo 是基于具有高定制性且模块化的架构构建的。它用 作支持现有组件的框架 来构成包含 30 多个最优供给(best-of-breed)开源项目的完整 J2EE 应用服务 器包。Geronimo 预先集 成了 Apache Tomcat 或 Apache Jetty;本文使用的是配有 Tomcat 的 Geronimo 版本。
虽然 Apache Pluto 本身就是基于 J2EE 标准构建的 Web 应用程序,但是它 不能按原样直接部署。此 外,开发的所有 Pluto 门户应用程序都不能被直接安装到 Pluto 门户容器中。 开发人员通常把 Pluto 部署到 Apache Tomcat Web 容器中,但这并不是您的惟一选择。Geronimo 也可 以托管 Pluto 应用程序 。本文将展示如何把 Pluto 门户服务器与 Geronimo 结合使用,为后台配有功能 丰富的常用应用服务器 的门户应用程序提供一个完整的开源测试和部署环境。
门户、portlet 和 API
门户是用作在 Internet 或内部网上获得信息和应用程序的起点的 Web 站点 。它们通常提供个性化、 单点登录、来自多个资源的内容聚合以及托管信息系统的表示层。为了适应聚合 并显示各种内容,门户服 务器提供了一种把不同的门户组件划分为 portlet 的框架。
portlet 是门户中的一个窗口,用于提供一项特定的服务或信息。portlet 负 责从它自己的资源访问 内容(例如,Web 站点、数据库或电子邮件服务器)并对内容进行转换,以便呈 现给客户机。JSR 168 是 用于创建 portlet 的标准 API。它将在应用程序与门户之间提供集成组件,该集 成组件将允许通过门户 交付应用程序。如果没有这项标准,每个应用程序都可能需要自己的 portlet API。
在 Geronimo 中部署和执行 Web 应用程序的过程与在 Tomcat 中部署和执行 Web 应用程序的过程不 同。本文的其余部分将向您展示如何通过以下步骤在托管在 Geronimo 上的 Pluto 中部署和执行样例门 户应用程序:
通过 sharedlib 模块共享 Pluto 库和属性。
为 Pluto 容器和驱动器创建 Geronimo 部署计划。
在 Geronimo 中部署 Pluto。
开发样例门户应用程序。
为样例门户应用程序创建必需的部署计划。
在 Geronimo 上部署和测试样例门户应用程序。
开始时,需要先下载、安装并解压缩 Geronimo 和 Pluto。我将把 Geronimo 的安装目录引用为 GERONIMO_HOME。您可以下载源代码版本或二进制版本的 Pluto。根据 Pluto 安 装指南中的说明:“安装 源代码版本要求完成更多工作,并且仅建议那些有兴趣修改容器的个人安装”, 我将已下载的二进制版本 的位置引用为 PLUTO_HOME 并将源代码版本位置引用为 PLUTO_SRC(当我向您指 出 PLUTO_HOME 中的文件 位置时,如果您已经构建了源文件版本,则可以定位相同的文件)。