`
江南白衣
  • 浏览: 550799 次
  • 来自: 广州
社区版块
存档分类
最新评论

学Geronimo玩票式的用开源软件组装AppServer

阅读更多

作者:江南白衣 

昨天看J2EE 5规范的时候,八卦看了下如果自己要组装一个Application Server需符合的规范:
EJB容器:
Enterprise JavaBeans (EJB) 3.0 (JSR-220)
Java Message Service (JMS) 1.1
Java Transaction API (JTA) 1.1
Java Authorization Service Provider Contract for Containers (JACC) 1.1
Java Platform, Enterprise Edition Management API 1.1  (JSR-77)
Java Platform, Enterprise Edition Deployment API 1.2
Java EE Connector Architecture 1.5

Web:
JavaServer Faces 1.2 (JSR-252)
Servlet 2.5
JavaServer Pages (JSP) 2.1
Standard Tag Library for JavaServer Page  (JSTL) 1.2 (JSR-52)

Web Services:
JavaAPI for XML Web Services (JAX-WS) 2.0
JavaArchitecture for XML Binding (JAXB) 2.0 (JSR-222)
Web Services Metadata for the Java Platform 1.1 (JSR-181)
Web Services for Java EE 1.2 (JSR-109)
Java API for XML-based RPC (JAX-RPC) 1.1
SOAP with Attachments API for Java (SAAJ) 1.3
Java API for XML Registries (JAXR) 1.0

Other:
JavaMail 1.4
JavaBeans Activation Framework 1.1
Streaming API for XML (StAX) 1.0  (JSR-173)
Common Annotations for the Java Platform 1.0 (JSR-250)
Debugging Support for Other Languages (JSR-45) 

再看Geronimo的做法,不由觉得好好笑,它居然玩票式的组了一队开源软件来应付这些规范(不过止应付到J2EE1.4):

1.Tomcat/Jetty ,应付了Web方面的Servlet 2.5 、JSP、JSTL。

2.Axis包了WebService方面的所有东西,Apache scout包JAXR。

3.OpenEJB 应付  EJB2.1,这是整个链条里最勉强的部分。另外它也准备EJB3的开发了。

4. ActiveMQ管JMS,MX4J管JMX,JOTM管事务,HOWL作事务日志。

5.WADI - a clustering, load-balancing and fail-over solution
具体请看 《Geronimo!第 2 部分: 驯服 J2EE 1.4 这匹野马

除了上述规范,Geronimo还整合了Spring和支持JBI的ServiceMix,一共用到了50多个开源项目,几乎把ApacheCodeHaus上的项目一网打尽,伯乐过而北群空了。这样拉大旗建AppServer的方式,的确打破了某种市场状态,模糊了Application Server的界限,好好玩。

Geronimo这种疯狂整合靠的是它的GBean架构,具体看《将第三方组件集成到 Geronimo 中》,而GBean之间的引用和交互,则靠cglib生成的动态代理。有时间要具体学习一下这种全包容的架构,不知是先进还是落后。

PS . TSS 最近两天的三条消息
1.Terracotta announces Clustered Spring Runtime --Terracotta 为Spring加入了集群能力。
2.JBoss adds Arjuna transaction engine -- Jboss整合了原来HP旗下BlueStone AppServer的事务技术,支持WebService事务。
3.jManage 1.0, JMX client, released-- 一个有Web版(这点比Mx4J好啊)和Console版的JMX client。

传统Applicaton Server供应商的日子越来越不好过了。



分享到:
评论

相关推荐

    Apache Geronimo Documentation 3.0

    Apache Geronimo是一款开源的应用服务器,由Apache软件基金会开发,旨在提供一个用于部署和管理Java企业应用的平台。Geronimo 3.0是该软件的一个重要版本,它集成了许多改进和新特性,旨在提高性能、可扩展性和易用...

    Geronimo的Eclipse插件

    Geronimo的Eclipse插件是为开发者提供的一种集成开发环境(IDE)扩展,旨在简化在Eclipse中使用Apache Geronimo服务器进行Java应用开发的过程。这个插件允许用户直接在Eclipse内管理、部署和调试基于J2EE的应用程序...

    开源软件之道.part2of2

    第5章 正确使用开源软件 32 5.1 管理体制 32 5.2 法律风险 33 5.2.1 法律因素之著作权 34 5.2.2 法律因素之许可证 35 5.2.3 法律因素之专利 36 5.2.4 问题解析 37 5.2.5 验证著作权,正本清源 38 5.2.6 调查专利,...

    Geronimo服务器下部署Seam程序

    Apache Geronimo是一个开源的应用服务器,它支持Java EE规范,而JBoss Seam是一个用于Java EE平台的轻量级框架,主要用于简化企业级Web应用的开发。 描述中提到的“博文链接:https://aooboo.iteye.com/blog/428906...

    Apache Geronimo配置文件geronimo-web.xml各个标签的讲解

    Apache Geronimo是一款开源的应用服务器,它遵循Java EE规范,提供了部署Web应用程序的框架。`geronimo-web.xml`是Geronimo针对Web应用的特定部署计划文件,它与标准的`web.xml`文件一起使用,用于在Geronimo服务器...

    Apache Geronimo 中部署 Web 服務

    6. **测试 Web 服务**:使用简单的 JavaServer Pages (JSP) 文件或其他客户端程序来测试已部署的 Web 服务。 #### 三、Apache Axis在Geronimo中的作用 Apache Axis 在 Geronimo 中扮演着至关重要的角色。它不仅...

    geronimo的service化工具

    标题中的"geronimo的service化工具"指的是Apache Geronimo服务器的一种特殊配置或功能,它允许Geronimo作为Windows操作系统服务来运行。这确保了即使在没有用户交互的情况下,如系统启动时,Geronimo也能自动启动并...

    开源软件可以用于实现部分功能

    例如,Apache在Web服务器中的主导地位,PostgreSQL和Berkeley DB在数据库领域的使用,以及Java包、Geronimo和Zend等在应用软件中的应用。开源技术的普及也促使商业软件提供商在价格和服务上进行竞争,进一步推动了IT...

    Geronimo 和 Spring

    - **使用JavaServer Pages (JSP)、Velocity、Tile和PDF导出功能**:这些是Spring MVC提供的多种Web视图技术,可以根据项目的需要灵活选择。 #### 六、总结 Apache Geronimo与Spring框架的结合为Java开发者提供了一...

    与开源共舞 -企业开源之道

    为了有效地使用开源软件,企业应制定开源战略,设立引入复核和批准流程,评估质量和法律风险。日常管理中需要有集中的开源软件列表或仓库,并提供必要的培训。在防范质量风险时,企业应采取与商业软件相同的评估标准...

    geronimo-j2ee-management_1.1_spec-1.0.1-API文档-中文版.zip

    赠送jar包:geronimo-j2ee-management_1.1_spec-1.0.1.jar; 赠送原API文档:geronimo-j2ee-management_1.1_spec-1.0.1-javadoc.jar; 赠送源代码:geronimo-j2ee-management_1.1_spec-1.0.1-sources.jar; 包含...

    geronimo-jms-1.1-spec-1.1.1-API文档-中英对照版.zip

    赠送jar包:geronimo-jms_1.1_spec-1.1.1.jar; 赠送原API文档:geronimo-jms_1.1_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-jms_1.1_spec-1.1.1-sources.jar; 包含翻译后的API文档:geronimo-jms_1.1_...

    geronimo-web.xml

    服务器geronimo连接数据库的连接池要用的xml文件

    Mirror of Apache Geronimo.zip

    Apache Geronimo是一款开源的应用服务器,它由Apache软件基金会开发并维护,主要支持Java和Java Enterprise Edition (JavaEE) 应用程序。这个压缩包"Mirror of Apache Geronimo.zip"很可能包含了完整的Geronimo...

    geronimo-annotation_1.0_spec-1.1.1-API文档-中文版.zip

    赠送jar包:geronimo-annotation_1.0_spec-1.1.1.jar; 赠送原API文档:geronimo-annotation_1.0_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-annotation_1.0_spec-1.1.1-sources.jar; 赠送Maven依赖信息文件:...

    geronimo-jcache_1.0_spec-1.0-alpha-1-API文档-中文版.zip

    赠送jar包:geronimo-jcache_1.0_spec-1.0-alpha-1.jar; 赠送原API文档:geronimo-jcache_1.0_spec-1.0-alpha-1-javadoc.jar; 赠送源代码:geronimo-jcache_1.0_spec-1.0-alpha-1-sources.jar; 赠送Maven依赖信息...

    开发JAR包- geronimo

    开发JAR包- geronimo 解压文件得到如下jar包 geronimo-activation_1.1_spec-1.0.2.jar geronimo-annotation_1.0_spec-1.1.1.jar geronimo-javamail_1.4_spec-1.6.jar geronimo-servlet_2.5_spec-1.2.jar geronimo-...

    Apache Geronimo Config.zip

    Apache Geronimo是一款开源的应用服务器,它由Apache软件基金会开发并维护,主要支持Java和Java Enterprise Edition (JavaEE) 应用程序。这个压缩包"Apache Geronimo Config.zip"很可能包含了与配置Apache Geronimo...

    geronimo-jaxws-3.0.0

    geronimo-jaxws-3.0.0

    geronimo-javamail_1.4_spec-1.7.1.jar

    geronimo-javamail_1.4_spec-1.7.1.jar

Global site tag (gtag.js) - Google Analytics