Geronimo renegade: OpenEJB和Apache Geronimo的EJB实现

Enterprise JavaBeans (EJBs) 到底有什么了不起的,为什么对 Java 2 Platform, Enterprise Edition (J2EE) 开发来说如此重要?在这一期的 Geronimo 叛逆者 专栏中,OpenEJB 的共同创始人 David Blevins 将介绍 EJB 可以为您做什么,并解释 OpenEJB 如何被选择作为 Apache Geronimo 的 EJB 实现。

简介

说实在的,在我 看来,EJB 并不好用。它们需要开发人员在应用程序中投入比他们想像的还要多的精力;它 们引以为基础的接口强制您实现许多您甚至根本不需要的功能;而且因为您需要在容器中运 行它们,所以使用 JUnit 将它们与应用程序的其他部分一起测试是十分棘手的。

但 是,它们也许恰恰正是 J2EE 开发的基石。

所以当 The Powers That Be 邀请我在这 一期 Geronimo renegade 中选择 OpenEJB 作为 Apache Geronimo 的 EJB 实现时,我的兴 趣被激发了。也许我能最终弄清楚它到底有什么了不起的。

OpenEJB 如何成为 Apache Geronimo 的一部分

我曾打电话给 David Blevins,他与 Richard Monson- Haefel 在六年前共同创建了 OpenEJB,他还创建了 Geronimo。我想知道 OpenEJB 为 Geronimo 提供了什么,以及 EJB 本身为开发人员提供了什么。

我首先问他 OpenEJB 是如何在 Geronimo 等比较大的项目中兴起的。David 解释说,他在 Geronimo 尚未正式发 布、只是一个传闻的时候就已经支持 Geronimo 项目了。“所以我绝对是所谓的 Geronimo 阴谋的一部分” ,他开玩笑地说。

哈,又是阴谋。我问他为什么总 是这样形容 Geronimo 呢。“哦,Geronimo 真的非常 FUD(恐惧,不确定,怀疑), 对于如此标榜我们的那些人来说。” 他解释说,Geronimo 创始人的目标首先是将将合 适的人聚集起来,然后才考虑合适的组件。“参与创建 Geronimo 的个人基本上都将自 我和自己的代码抛在一边,而决定首先将自己投入项目中” ,David 告诉我。基本上 ,他们是从一张白板开始尝试创建项目的。

那么 OpenEJB 是如何成为这张白板的一部分呢?“哦,我猜原因就是您所知道的那 些”,David 说。但他并不十分严肃。事实上,一开始是最初的 Geronimo 创始人之一 的 Dain Sundstrom 邀请他加入该项目的。Dain 实际上在一年前就曾试图聘请 David 参与 一个类似的开放源码项目:“有一段时间,他参加了 Twin Cities Java Users Group (TCJUG) 的每一次社交聚会,并不断就此事纠缠我。”

当他们确实走到一起时 ,真的是命中注定一样。虽然他们两个都来自 Minnesota,但组建 Geronimo 项目的时候, David 正在 San Francisco 任教。“我说,‘这样吧,我现在在 San Francisco ,所以您必须等到我返回 Minnesota。’ 当然他说,‘太好了,我也在 San Francisco’ ,他刚从一个会议返回来。所以那天我们正好在 San Francisco 聚到一 起讨论,他本来以为会继续得到我一直给他的 no。但当重心从另一个项目转到 Apache J2EE 实现时,答案立即变成 yes。”。

而且,作为 OpenEJB 的领导人(因为 Monson-Haefel 在几年前已经离开),David 决心围绕 Geronimo 的工作重振该社区。 “我们只知道这是应该做的事情”,他说。

不仅如此,OpenEJB 和 Geronimo 这两个团体建立了大型项目中罕见的协作。OpenEJB 的 Alan Cabrera 编写了 Geronimo 的安全系统。Aaron Mulder,一本有关 Geronimo 的可自由下载的书籍的作者,也 郑重其事地检查了这个由 IBM 捐献的控制台。Geronimo 的 Dain Sundstrom 和 David Jencks 为 OpenEJB 做了不计其数的工作,以使其遵循 EJB 2.1(Open EJB 原来只遵循 EJB 1.1)。Gianny D'Amour,Geronimo 的早期附加物,全力促进 David 称为 “我所 见过的最大的 Geronimo 或 OpenEJB 补丁,基本上完成了我们的 CMP(container-managed persistence,容器管理持久性)实现” 。Jacek Laskowski,一位 OpenEJB 的长期贡 献者,第一个开始了 Geronimo-Tomcat 集成工作,该工作由 Geronimo 的 Jeff Genender 驱动完成,Jeff Genender 最终也成为 OpenEJB 的贡献者。

时间: 2024-10-31 13:34:20

Geronimo renegade: OpenEJB和Apache Geronimo的EJB实现的相关文章

权衡Apache Geronimo EJB事务选项,第2部分: Bean管理事务

既然您已经在 第 1 部分 学习了有关 Enterprise JavaBeans (EJB) 容器管理的事务的所有细节,那么您可能对 EJB bean 管理的事务以及如何在 Apache Geronimo 应用服务器中实现它感到好奇.在由三部分组成的 系列文章 的这一期文章(第 2 部分)中,您可以获得所有细节. 简介 本系列分为三部分,将探索 Geronimo 和 OpenEJB 可以为您提供什么帮助,以及在 EJB 2.1 中现在可以实现的 EJB 事务概念(让您顺利进入 EJB 3.0).

权衡Apache Geronimo EJB事务选项,第1部分: 容器管理事务

本系列分为三部分,将探索 Apache Geronimo 中的 Enterprise JavaBeans (EJB) 容器管理事务和 bean 管理事务.在第 1 部分中,将找出两种事务之间的差异,其中包括了解容器管理事务如何帮助您避免事务逻辑和管理的复杂性,从而使您可以专注于企业 bean 的业务逻辑.您还将学会如何在 Geronimo 应用服务器中实现容器管理事务,以及如何使用 Geronimo.OpenEJB 和 XDoclet 将自己从繁重的 EJB 编码工作中解放出来. 简介 Open

权衡Apache Geronimo EJB事务选项,第3部分: 综合所有事务

Jonathan Sagorin 在 由三部分组成的系列文章 的最后一部分中对 Enterprise JavaBeans(EJB)事务进行了全面的揭示.探索 Apache Geronimo 应用服务器上与容器管理事务和 bean 管理事务都相关的难题和附加实现与配置选项. 简介 在本系列的 第 1 部分 和 第 2 部分 中,您简单了解了 bean 管理的和容器管理的 EJB 事务以及如何在 Geronimo 应用服务器上实现它们.那么接下来呢?在使用 EJB 事务时,您应考虑哪些其他事务设置是

Apache Geronimo上全局目录树实现以及自定义资源开发与使用

服务器端全局目录树 什么是全局目录树 JNDI(Java Naming and Directory Interface)是一组应用程序访问命名和目录服务的 API, 通过它客户程序可以以统一的方式访问多种目录服务.Java EE 应用服务器通常都会集成一个 目录树的实现 , 以维护一个服务器端全局共享目录树. 以此 , 服务器可以将一些资源绑定到目录树上 , 比如说数据库连接池,JMS 资源等 , 而客户端应用程序则可以通过标准的 JNDI 接口等方式来获取这些资源引用.所谓全局 , 是相对 j

集成DB2与Apache Geronimo

简介:Apache Geronimo 是部署 Java 2 Platform, Enterprise Edition (J2EE) 应用程序的 一个新的很受欢迎的替代方案.IBM DB2 是一个成熟的关系数据库产品,非常适用于 J2EE 环境. IBM 软件工程师 Emilio Zegarra 将详细介绍如何将这两个产品集成到 J2EE 应用程序中. 概述:Apache Geronimo Apache Geronimo 项目成功构建了一个开源的.J2EE 兼容的应用服务 器.该应用服务器非常强大

在Apache Geronimo应用程序中实现和部署Web服务

现在,无论您的企业应用程序是部署在小型家庭商店中,还是跨多个领域的企 业基础设施的一部分,无论应用程序是否与他人协作,它都必须支持 Web 服务. 途径 现代企业往往是非常复杂的系统,每天要面对许多机会和挑 战.许多机会涉及到与其他系统和企业进行集成或协作.因此,明智的企业应用 程序开发人员要确保别的应用程序可以轻松地访问自己的应用程序.Web 服务就 是提供这种可访问性的好方式. Apache Geronimo 应用服务器支持 Web 服务以及最新 Java 2 Platform, Enter

用Apache Pluto编写portlet并将其部署到Apache Geronimo中

Geronimo 和 Pluto 的简要介绍 Apache Geronimo 是 Java Platform, Enterprise Edition (Java EE) 服务器系列的新成员(版本 1.0 是在 2006 年 1 月发布的).它是若干个其他项目的强大组合,包括 OpenEJB.Axis.Jetty.Tomcat.ActiveMQ 和 ServiceMix.Geronimo 最近受到广泛宣扬,因为它是另一种 Java 2 Platform, Enterprise Edition (J

Apache Geronimo JNDI命名和Java 源连接池,第2部分

使用Java Message Service 使用 Geronimo 控制台创建和访问 JMS 资源组 简介 JMS 是允许软件组件创建.发送.接收和读取消息的 API.这些消息不需要消耗人力.当然,它们是各种软件应用程序之间通信的方式.通过消息进行交互的应用程序具有松散耦合的优点,因为只要双方使用相同的消息格式,那么一个系统中的更改就不会对另一个系统产生影响.JMS API 是通过第三方实现的,并且实现提供了异步通信和可靠的消息传送等优点.通信是异步的,因为组件或客户机可以发送或接收消息而无需

在Apache Geronimo上部署J2EE应用程序

学习如何在 Apache Geronimo 上部署 Java 服务器页面(JSP).servlet 和不 同的企业 JavaBean(EJB).这篇文章包含 Apache Geronimo 需要的部署步骤,这与其他 Java 2 平台企业版(J2EE)容器不太一样. 学习在运行 Apache Geronimo 的计算机 上部署简单 J2EE 应用程序的步骤,了解这些步骤与其他符合 J2EE 规范的应用服务器的相 似之处.虽然这篇文章主要侧重于如何在 Apache Geronimo 上部署 EJB