现场问题及解答20081008
Wikipedia,自由的百科全书
2008年10月8日 第一次Sun Tech User Group问题
- Glassfish 和其它竞争技术(比如Tomcat)的优劣比较,Glassfish有什么特别之处
- 和Tomcat比较:最简单的说,Glassfish是实现了JavaEE标准的应用服务器,而Tomcat是Web服务器。可以从这个根本区别上衍生出的很多区别,以及各自的优劣比较。而Tomcat的最显著优势:简单,启动快,部署简单,在跟Glassfish V3的比较中,就不是那么明显了。如果您习惯使用Tomcat作为开发用的服务器,那么在生产环境中,采用具备产品级别的应用服务器,可能更有助于给您的客户提供稳定和高性能的服务。此外,GlassFish相比Tomcat所拥有的众多优势包括:Grizzly(高性能的纯Java实现的Http服务器,使应用服务器不再依附于Apache);完整的Java EE 5规范实现(JAX-WS, EJB3, JPA) ;管理工具(基于JSF技术实现的管理控制台, JMX和用于监控的CallFlow) ;完整详尽的文档;集群支持 ;性能 ;Sun公司的支持;集成开发工具的支持(与NetBeans的良好集成)等等。具体请参看Alexis MP的文章:Tomcat Today, GlassFish Tomorrow?
- 和Websphere和Weblogic比较:Glassfish是开源的。对于软件开发商而言,采用Glassfish能够降低他们的解决方案的成本,高性价比是竞争力的一个重要因素。对于开发者来说,Glassfish的免费开源的策略,能够使他们更容易获得,学习和使用Glassfish,并且参与到社区的建设中。
- 和其它开源的应用服务器JBoss:Glassfish走在J2EE技术发展的前沿,而且性能卓越。根据Specjappserver2004的基准测试结果,它是最快的开源应用服务器
- Glassfish的劣势:Glassfish社区在发展之中,尽管关注度在不断提高,但相对于一些已有的应用服务器产品来说,仍然显得不为人所知。Glassfish需要更多开发者的参与,需要更多企业应用的部署,从而构建一个良性的生态环境。
- Glassfish应用有什么成功案例
- Glassfish在国外有很多成功案例,比如,Dell,at&t, TIME, xerox, Novell等,如果大家有兴趣,请参看GlassFish成功案例的Blog:http://blogs.sun.com/stories 。在国内,Glassfish的认知度不如国外,但也有不少企业采用Glassfish代替它们已有的应用服务器,比如铁道部的列车调度系统,爱立信中国等等。
- 从别的web或者应用服务器往Glassfish上移植的手册
- GlassFish严格遵循Java企业平台的JSR规范。GlassFish提供有迁移工具和相应的文档。具体请参看GlassFish FAQ中关于移植的说明。
- Glassfish能否在Clouding Computing云计算解决方案中运用?
- 当然可以。Clouding Computing解决方案中Web Service是核心技术之一,而Glassfish可以作为运行Web Service的container使用。Sun的下一代云计算平台Network.com中就采用GlassFish作为应用服务器。
- 如何得知GlassFish中的资源,比如连接池的使用状况?
- GlassFish的是基于JMX技术的进行管理的。所有GlassFish的资源都可以通过标准的JMX的方式来管理。可以通过Glassfish的管理控制台或者其命令行工具asadmin,监控各种资源(包括数据库链接池)的使用状况。请参看5种方法访问GlassFish资源
- 希望了解更多Glassfish高可用性方面的相关知识
- Glassfish的高可用性是通过服务器集群实现的,如果对系统的高可用性有非常严格的要求,比如99.999%的高可用性,那么可以用Cluster + HADB来实现。但是高可用性和性能之间是有tradeoff的,要根据实际的应用需求去选择集群的架构。相关的知识,可以通过http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishUserFAQZh 的“集群和高可用性”这一章节了解。
- Glassfish的性能分析和调优
- 2007年关于GlassFish V2的测试表明,GlassFish具有卓越的性能,是最快的开源应用服务器。在相同的硬件配置下,GlassFish比 BEA WebLogic 9.2 结果高 10%。请看具体测试结果报告。
- GlassFish的性能调优,请参看GlassFish FAQ中的“性能”一节:http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishUserFAQZh
- Glassfish的cluster的更深入了解,glassfish在集群上的新特性以及优势
- Tomcat和GlassFish在clustering上的支持有什么不同?
- Glassfish的集群特点我们在Glassfish用户大会介绍过,这里就不多说了,下面来谈谈Tomcat的集群。Tomcat的内存复制技术可以有多种选择。既可以用共享的文件系统保存Session数据,也能使用共享的数据库来保存Session数据。除此以外,Tomcat也支持内存复制。不过Tomcat缺身的内存复制的机制是通过“DeltaManager”来将Session数据复制到所有的节点,就算那个节点没有部署应用也不例外。这就带来了扩展性问题,较少的节点还可以,太多的节点就会使得节点间的通讯消耗对性能造成显著的影响。另外Tomcat可以使用“BackupManager”来进行内存成对复制。不过“BackupManager”没有经过严格的测试,还在试用阶段。
- Restful Web Service在GlassFish V3中的支持如何?
- Jersey是GlassFish社区的开源项目专门支持Restful Web service。
- 新近发布的Jersey 1.0具备了Spring的集成、REST客户端的特性。目前关于Jersey在GlassFish V3 prelude上的开发人员指南正在征求社区意见。具体请看:http://wiki.glassfish.java.net/Wiki.jsp?page=RESTfulWebServicesDevelopersGuide
- Metro在V3中有何新的特性?
- Metro 是个Web服务栈(Web Service Stack),包括了Java EE平台关于web service的最新规范JAX-WS的参考实现,还包括了Tango项目。Tango项目主要提供与微软的.NET 3.0 的互操作性,它提供或扩展了各类Web Service规范的可靠性、安全性和事务处理等特性。Metro并没有缺省地放在GlassFish V3上,而是要通过Update Center来下载安装。具体请看相关的水族馆新闻.
