[转载]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 将在不远的未来完成。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


大 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
连接 Geronimo 1.1 服务器的 JConsole

注意,由于安全原因,JMX 连接将只允许来自 Geronimo 服务器运行其上的同一机器的连接。可以在 JConsole 中调用方法、修改配置值和设置通知。

将应用程序部署到 Geronimo 也变得很容易了。部署可以从管理控制台或命令行中进行。您将可以通过将压缩 JAR 拖到可配置目录中来热部署应用程序。也可以对解压的 .ear、.war 和 .jar 文件进行适当部署。通过将服务器指向一个包含应用程序的所有代码产品的目录,该功能使得开发 Java EE 应用程序更加容易。例如,可以修改 JavaServer Pages (JSPs),并在测试期间立即看到更改。Eclipse 工具将能够使用该功能来加速开发、部署和测试。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


密切关注 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 安装。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


更好、更巧、更快

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值