1. Tomcat
2.WAS CE
WebSphere Application Server Community Edition (简称 WAS CE)是 IBM 的开源轻量级 J2EE 应用服务器。它是一个免费的、构建在 Apache Geronimo 技术之上的,轻量级 Java 2 Platform Enterprise Edition(J2EE)应用服务器。您可以免费使用该产品,该产品通过集成开源社区的最新贡献,为开发部署 Java 应用提供了灵活易用的基础平台。
WebSphere Application Server Community Edition 构建于 Apache Tomcat 和 其他最佳开源软件,如 OpenEJB,Apache Axis,和 IBM Cloudscape (基于 Apache Cloudscape)。
WAS CE 2.0 版本的新功能 包括:
- 支持 EJB 3.0 等新规范: WAS 2.0 支持的新规范包括:EJB 3.0、Servlet 2.5、JSP 2.1、JSP Debug 1.0、JSF 1.2、JSTL 1.2、JPA 1.0、Annotations 1.0 等。
- 增强的 Web 控制台: 为了简化故障诊断工作,Web 控制台中新的 Debug Views Portlet 提供了各种视图,以便显示关于系统模块和用户定义模块的信息。其中包括用于 JMX、LDAP、ClassLoader、JNDI 和依赖关系的特定查看器。
- 配置替换属性: 在 WAS CE V2.0 出现之前,要运行应用服务器的多个实例需要对端口配置进行手工更改,以避免出现端口冲突。现在,运行多个服务器实例只需要执行一个步骤即可。在 WAS CE V2.0 的 config.xml 中可以为各个模块计算端口编号。
- 一台服务器,多个存储库: WAS CE V2.0 支持每个服务器实例使用多个存储库。当需要对数据进行物理分离时,这个特性就会非常方便。
- 多个服务器实例: WAS CE V2.0 允许您运行来自一个安装目录的服务器的多个实例。
- 简化的部署
- Eclipse 插件和 Eclipse 3.3: Eclipse 插件提供了 WAS CE 和 Eclipse Web Tools Project (WTP) 之间的集成。您可以使用插件在 Eclipse 的 WAS CE 中开发、测试和调试应用程序。
开源软件在中国势不可挡,特别是在开发者的圈子里,开源Java应用服务器的流行便是其中最好的一个例子。开发者普遍乐于在开发环境中使用轻量级的 开源应用服务器,例如Tomcat来进行应用的开发,虽然这些应用上线后是运行在像WebSphere或WebLogic这样的商业服务器上。同时,越来 越多的决策者也开始把对安全性和可靠性要求不高的部分企业应用运行在开源服务器上。而互联网公司对于开源软件的青睐更是不在话下,相信他们绝大部分的 Web应用都是跑在开源的平台上面。
那么,如果要使用一款开源的Java应用服务器,除了人尽皆知的Web容器元老——Tomcat和作为第一款符合Jave企业版规范而颇具人气的 JBoss外,我们是否还有其他的选择?当然!答案之一便是WebSphere社区版(WebSphere Application Server Community Edition),简称WAS CE。没听说过?这是IBM推出的一个基于开源Java企业版服务器Apache Geronimo的免费版本。WAS CE自身并不是开源软件,但它却有着跟开源非常类似的特质:
· 免费。 是真的免费,即使是用于商业目的的生产环境。
· 源代码公开。 WAS CE的绝大部分代码都是来自Apache Geronimo,而后者是以Apache许可证发布的,源代码触手可及。
· 捆绑发布。 IBM非常欢迎各种形式的合作,包括OEM(你可以联系我^_^)。
为什么要使用WAS CE?我给你三个理由。
第一,WAS CE好比Tomcat++。 WAS CE采开源之精华来完成Java企业版的完整实现,其采用的Web容器正是Tomcat。同时,它还整合了Axis2、OpenEJB、OpenJPA、 ActiveMQ等耳熟能详的开源杰作,Java企业版框架内的功能一应俱全。而WAS CE的微内核构架不仅将这些组件无缝集成,更是提供了极其灵活的系统伸缩性。通过一些简单的操作,你就可以将WAS CE定制生成一个量身定做的运行包,去掉暂时不需要的功能,例如EJB、Web Service等。日后,当你的应用不断演进而需要这些功能时,你还可以再逐一包含进来。现成的整合,灵活的定制,不愧为Tomcat++吧?
你还担心什么?——性能?诚然,在个别方面例如启动时间,Tomcat凭借小巧玲珑的身段确实有些优势,但是在大部分的场景里,WAS CE并不逊色多少,在有些方面甚至更加出彩,例如数据库访问。
第二,WAS CE一点也不比JBoss差 , 在几个重要的方面还更胜一筹。其实二者在很多方面旗鼓相当,但由于JBoss是第一款全面实现Java企业版的开源服务器,占尽了先入为主的便宜。WAS CE有哪些优势?挑重要的讲。首先,WAS CE对Java企业版5(Java EE 5)的实现更加成熟稳定。我只说一个事实:WAS CE早在2007年9月就实现了该规范,而JBoss是在2008年12月才实现该规范,而其相应的有技术支持服务的商业版至今仍未发行。
其次,WAS CE的管理面板提供大量丰富的管理功能和工具,大大方便了开发者和管理员,特别是初学者。JBoss直到最近的5.1测试版里才开始提供一个免费的、功能 初级的管理面板,其原来的、基于JMX的管理界面对于大多数用户来说确实比较难用,而好用的Operations Network是要银子的。
最后,性能,这是一个很困难的话题。但是,我们自己所做的一些性能比较测试确实显示在同样使用缺省配置的情况下WAS CE几乎在所有方面都更快,包括启动时间、Servlet、EJB、数据库访问等。性能是一个很微妙的东西,所以建议你可以用自己的应用做一下比较。
第三,WAS CE有IBM做坚强后盾。 IBM 积极参与到Apache Geronimo及相关的社区开发中,为核心技术的开发提供了有力保障。同时,IBM为WAS CE所做的产品化工作更是其质量的保证,包括多平台的测试和支持、多语言的文档等。更重要的是,IBM为WAS CE提供三个级别的付费支持服务。我知道广大的中国用户还不习惯为使用开源软件付费,但在严肃的应用场景(大规模部署、关键应用等)中,购买支持服务可以 有效规避法律和质量风险,这对于自身技术能力有限的用户尤为重要。
举个简单的例子,如果你正在使用的某个开源软件版本隐含着一个缺陷,使得你的应用出现严重的问题,这时候即使你得到该软件开发社区的帮助并获得一个补丁, 但是该补丁通常是针对最新的源代码版本开发,这意味着你要么自己将该补丁经过一定修改后应用到所使用版本的源代码中,然后重新编译生成可执行代码;要么使 用最新的包含该补丁但还不稳定的开发版。而支持服务可以帮你做前一个选择所要做的那些技术活。
除了提供技术支持服务外,IBM还为WAS CE提供了免费的增值选件,例如Web 2.0特性选件。最后,WAS CE作为WebSphere大家族的一员,为你提供了一条无忧的成长之路。随着应用的演进或者企业的成长,你可能希望将应用迁移到更加高级的应用服务器 上,而WAS CE已经为你铺好通向强大的WebSphere之路。如果你依然希望使用WAS CE,那么使用WebSphere Virtual Enterprise来创建WAS CE的动态集群也可以实现高伸缩性。
说了这么多,难免王婆卖瓜、自卖自夸。不过,我想WAS CE至少为大家增加了一种可靠的选择。可惜大量中国的开发人员并不知道它的存在。很多事情仁者见仁、智者见智。开源软件为软件世界提供了精彩的多样性,并 有力地推动着创新,我期盼着中国能够在这波大潮里迎头赶上。
3. jboss
4.weblogic
Enterprise architects and other IT decision makers are often faced with important decisions to make regarding the best application server / web server platform for IT. The market leaders are Websphere, Weblogic and JBoss. Here is a brief overview and comparison of each.
JBoss
JBoss is Red Hat's application server platform and comes in both open source and paid subscription versions. JBoss is the only option of the three if open source is an important consideration. The free version of JBoss called JBoss Community benefits from the open source community and has strong support in the ISV community with related technology like RichFaces. The paid license version called JBoss Enterprise supports mission critical functionality and has certified platforms. If your team is considering certain java frameworks from RedHat such as Seam, jBPM or RichFaces, JBoss should be your choice. JBoss also has strong support for Hibernate.
Weblogic
Weblogic is Oracle's application server acquired in the BEA acquisition. Weblogic has a long history very strong support for high end architecture features such as clustering and scalability. Weblogic has formed the delivered underlying application server architecture to many Oracle applications such as PeopleSoft although this is now changing with Oracle Fusion Middleware. Oracle has begun to rebrand Weblogic more of as a basis for application grids, a testament to its strong scalability and clustering functionality whereas Fusion Middleware is Oracle's plug and play architecture. Weblogic has the best integration with other Oracle products such as Fusion Middleware, Oracle database and Oracle applications.
Websphere
Websphere is IBM's application server. IBM offers a free WebSphere Application Server Community Edition along with an paid license Enterprise Edition. In many ways Websphere is a family of products ranging from SOA embedded server appliances to E-Commerce editions. IBM treats Websphere as a product platform supporting many product lines. Therefore Websphere is a nice choice if your needs fit a product line such as you are building an custom eCommerce website. Websphere also supports very high end architecture features such as clustering and high scalability.
Pricing Considerations
In general the choices above are listed in order of licensing cost from the lowest with JBoss to Websphere at the high end. To be fair, Websphere has more features than JBoss for the higher price. If your specific implementation need these additional features and you would have to build them, the higher end products are a good choice. Whereas if you just need a basic application server the lowest cost option can do the trick.