作者:江南白衣
昨天看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多个开源项目,几乎把Apache,CodeHaus上的项目一网打尽,伯乐过而北群空了。这样拉大旗建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供应商的日子越来越不好过了。
分享到:
相关推荐
第1篇 了解开源软件 第1章 开源软件概述 1.1 开源软件的理解 1.2 开源软件的定义 1.3 开源软件定义的意义 1.4 开源软件和其他类型软件的比较 第2章 开源软件的历史与未来 2.1 开源软件的历史 2.2 开源运动背后的...
第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 调查专利,...
Apache Geronimo配置文件geronimo-web.xml各个标签的讲解 Apache Geronimo配置文件geronimo-web.xml各个标签的讲解 Apache Geronimo配置文件geronimo-web.xml各个标签的讲解
geronimo的service化工具 方便Geronimo启动
Apache Geronimo Documentation 3.0
用该插件,可以使Eclipse直接使用Geronimo的J2EE服务期和Tomcat服务器(Geronimo服务器版本需要在Apache网站上下载)
赠送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连接数据库的连接池要用的xml文件
赠送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依赖信息文件:...
赠送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-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_...
在 Apache Geronimo 中部署 Web 服務.pdf
geronimo-jaxws-3.0.0
赠送jar包:geronimo-jta_1.1_spec-1.1.1.jar; 赠送原API文档:geronimo-jta_1.1_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-jta_1.1_spec-1.1.1-sources.jar; 赠送Maven依赖信息文件:geronimo-jta_1.1_spec...
geronimo-jms_1.1_spec-1.0.jar
geronimo-jaxws-ejb-builder
赠送jar包:geronimo-jaspic_1.0_spec-1.0.jar; 赠送原API文档:geronimo-jaspic_1.0_spec-1.0-javadoc.jar; 赠送源代码:geronimo-jaspic_1.0_spec-1.0-sources.jar; 赠送Maven依赖信息文件:geronimo-jaspic_...
geronimo-j2ee
geronimo-javamail_1.4_spec-1.7.1.jar
geronimo-jaxws_2.2_spec-1.1.jar