应用服务器(App Server)的选型

阅读更多
App Server是运行Java企业组件的平台,构成了应用软件的主要运行环境 。对应应用服务器(App Server)的选择,很多开发人员可能了解的不是很清晰,
在项目的开发中很多情况都是由于系统基础框架搭建完成后已经选择了相应的应用服务器,或由于系统是某个大的系统的一个小子系统,为了统一而直接使用了
某个应用服务器,下面按本人的理解简单的总结一下 应用服务器的选型。
1.主要应用服务器。
        当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss,Tomcat
Tomcat
     Tomcat严格意义上并不是一个真正的App Server,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些App Server的功能,如JNDI,
数据库连接池,用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中
Resin
Resin 也是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为
他们的Java  Web应用服务器,譬如163、ku6等
GlassFish
GlassFish  sun公司开发的实现了开源 Java EE 5 应用服务器。GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新
分发。
JRun
也仅仅是一个Servlet容器  要钱的暂时不提了。
BEA Weblogic
     Weblogic可以到BEA的网站上免费注册之后下载到最新的Weblogic8.1企业版,License可以免费使用1年时间,其实这已经完全足够了。
IBM Webshpere
     Websphere同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料,,Websphere的下
载连接:http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html。
Jboss
     Jboss是免费开源的App ServerJ 实现了EJB容器,再集成了Tomcat,可以免费的从Jboss网站下载:http://www.jboss.org/index.html,然而Jboss的文档
是不免费,需要花钱购买,所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss配置文档,可以用来参考:http://www.jdon.com/idea.html
作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。

选型标准
对于不同级别的用户或开发商来说,选择应用服务器需要考虑与自己开发的应用规模、类型相匹配。比如对于简单的应用来说,可以使用基本应用服务器进行开
发。这类应用服务器支持有限的企业服务质量特性,但覆盖面小、部署与管理简单、费用低,并且编程技术简单明了。基本J2EE应用服务器支持JSP和Servlet应
用,但不支持EJB编程模型。这类应用服务器适用于使用期限较短和用户基础较小(1000个并发用户)的应用。
推荐使用tomcat或resin
Tomcat由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最
新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行
的Web应用服务器。
Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,
Apache Tomcat 6.x在汲取 Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持。
Apache Tomcat 7.x是目前的开发焦点,仍基于Apache Software License v2.0标准,同时也是自2006年以来的首个主要发布版本。它在汲取了Tomcat 6.0.x优点
的基础上,实现了对于Servlet 3.0、JSP 2.2和Expression Language(EL)2.2等特性的支持。除此以外的改进列表如下:
  • Web应用内存溢出侦测和预防
  •增强了管理程序和服务器管理程序的安全性
  •一般CSRF保护  •支持web应用中的外部内容的直接引用
  •重构(connectors, lifecycle)及很多核心代码的全面梳理
Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态
内容,但是它显示静态内容的能力也非常强,速度直逼APACHESERVER。许多站点都是使用该WEB服务器构建的。
Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 3.0标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin
来进行JSP编程是件很容易的事情。
Resin支持负载平衡(Load balancing),可以增加WEB站点的可靠性。方法是增加服务器的数量。比如一台SERVER的错误率是1%的话,那么支持负载平衡的两个
Resin服务器就可以使错误率降到0.01%。

Resin也是全免费的,从站点下载的就是完整版本。相对于tomcat,后者更象是一个正在研究的项目。目前resin可以支持sun的j2ee,而tomcat不能直接支持,而
j2ee是基于java服务器端大系统的基础。Resin3 之后已经不在是一个简单的jsp容器,并且支持ejb,jta等企业功能。目前resin4 (2010年后已经比较稳定)性能
更是优秀。并且已经支持servlet 3.0标准.pro版本是收费版本,支持负载均衡和文件缓存。普通版本独立作为web服务器性能就要差一些,可以使用apache
+resin的方案借助apache的缓存功能提高性能,但负载均衡就是普通版不能比的。CAUCHO公司还为resin添加了php解析执行功能,能够运行php程序。但相对 php
的原生版本还是有一定差距。
Tomcat和Sun Java结合的最好,和其他应用服务器配合使用可支持完整的j2ee标准,应用也很广泛。但是从Java 普遍存在的编码问题来看,还是Resin 解决的最
好。还有从使用的角度讲,Resin比Tomcat方便,而且Resin也可以结合Jbuilder6等ide使用。Resin强调使用Xml技术。
  
高端平台应用服务器适合于大规模分布式计算,提供了事务处理管理、容错、系统管理、线性可伸缩性、群集和应用集成功能。它们支持高级设备模式(例如
,消息、事件管理、上下文管理、业务过程处理)。它们在部署和维护上比基本应用服务器更复杂,费用也更高。

Jboss、weblogic、websphere
WebLogic和WebSphere是商业软件,功能齐全强大,主要应用于大型企业的大型项目。
JBOSS 主要应用于EJB服务的中小型公司。
WebLogic和WebSphere
WebSphere 产品家族和解决方案
业务整合整合服务器提供了一套用于应用程序整合和业务流程自动化的中央基础设施。
应用服务器应用服务器提供了运行互操作应用程序的平台。
IBM Support for Apache Geronimo
从 Apache Software Foundation 提供一个开源 J2EE 应用服务器
WebSphere Application Server   WebSphere Application Server
为基础消息传递流和应用程序提供一个经济有效的整合基础平台
WebSphere Application Server - Express
为动态的随需应变应用程序提供 J2EE 和 Web 服务
WebSphere Application Server Community Edition
WebSphere Application Server Community Edition V1.1 是 IBM 支持的基于开源的应用服务器。
WebSphere Extended Deployment   WebSphere Extended Deployment
WebSphere Extended Deployment V6.0 创建了随需应变的基础设施,此基础设施跨事务和长期运行两种工作负载。
WebSphere Real Time   WebSphere Real Time
提供可预测的响应时间
WebSphere Remote Server   WebSphere Remote Server
IBM WebSphere Remote Server V6.0 是领先的面向服务的架构(SOA)平台,可用于专门为存储级设备和应用程序提供集成和支持的远程托管分布式环境,无论
过去、现在还是未来。
WebSphere Remote Server for Retail
为远程环境提供完整的集成应用服务器、数据库和消息传递平台
数据和信息管理信息和数据管理软件提供了对任何环境中数据的存储、访问和分析。
移动技术、语音技术和企业访问无线、普及和语音软件支持无线设备和移动设备之间的数据交换和语音交互。
组织生产力门户与协作生产力软件提供即时消息传递、网上会议、协作门户和基于角色的环境。
网络网络软件在用户和应用程序之间提供了集成的目录、连通性和安全性。
软件开发软件开发工具用于设计和构建应用程序,支持开发和部署过程。
门户 – 商务 – 个性化门户、商务和个性化软件支持业务开发、员工和客户环境。

Weblogic:
这是bea公司
BEA WebLogic平台包括BEA WebLogic Server®、BEA WebLogic Portal™、BEA WebLogic Integration™、BEA WebLogic Workshop™、BEA JRockit™,是开发人员用
服务来支持其应用程序的一流的应用程序平台套件。
BEA WebLogic Server
BEA WebLogic Server 是具有可伸缩性的企业级 Java Platform Enterprise Edition (Java EE) 应用程序服务器。WebLogic Server 基础结构支持多种类型的
分布式应用程序的部署,也是生成基于 Service Oriented Architectures (SOA) 的应用程序的理想的基础。SOA 是一种设计方法论,其目标是最大限度地重复
使用应用程序服务。
WebLogic Server 完全实现了 Sun Microsystems Java EE 5.0 规范,提供了一组标准的 API 以用于创建分布式的 Java 应用程序,这些应用程序可访问多种服
务,如数据库、消息传递服务和与外部企业系统的连接。最终用户客户端可使用 Web 浏览器客户端或 Java 客户端访问这些应用程序。请参阅编程模型。
除了实现 Java EE 之外,WebLogic Server 可使企业在一个可靠、安全、具有高可用性和可伸缩性的环境中部署关键任务应用程序。当出现硬件故障或其他故障
时,企业可通过这些功能配置 WebLogic Server 实例群集以分配负载并提供额外的容量。新的诊断工具允许系统管理员监视和调整已部署的应用程序的性能和
WebLogic Server 环境自身。还可以将 WebLogic Server 配置为自动监视和调整应用程序吞吐量而无需人工干预。广泛的安全功能会保护对服务的访问、保持企
业数据安全和防止恶意攻击。
BEA WebLogic Portal
BEA WebLogic Portal 8.1简化了自定义门户的生产和管理,使用户能够利用共享的服务环境以最低的复杂性和最少的工作推广变更。
BEA WebLogic Integration
BEA WebLogic Integration 8.1提供了将其他情况下的两个完全不同的活动(应用程序集成和应用程序开发)融合为一个统一的业务整合解决方案。
BEA JRockit 5.0 JDK
使用BEA JRockit 5.0 Java Development Kit (JDK),Java开发人员能够将应用程序更快、更高效地部署到生产中,并以最少的配置获得最佳的性能。BEA
WebLogic Express® 10.0
BEA WebLogic Express 10.0 是一款功能强大、经济实惠的 Servlet 引擎,能够在最短时间内启动,并在 WebLogic™ 产品系列上运行。使用 WebLogic Express
可以快速地开发和启动动态网站和基本 Web 应用程序,从而为您提供市场上最可靠的生产就绪部署
在安全性均衡负载上websphere强于weblogic
但websphere贵 也比weblogic重,资源非常厉害,websphere默认采用IBM的JDK,在标准上和weblogic还是有些区别。特别是在weblogic 环境下开发的webservice程序
移植至websphere灰常困难,

  JBoss开放源代码Java EE实现,成本低,好控制。
  JBoss需要的内存和硬盘空间比较小,但是只适合做小项目。
WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,适合企业级开发大项目 
  安装非常简单。先解压缩JBoss打包文件再配置一些环境变量就可以了。
  JBoss能够“热部署”,部署Bean只是简单拷贝Bean的Jar文件到部署路径下就可以了。如果没有加载就加载它,如果已经加载就自动更新。
  JBoss与Web服务器可在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
  用户可以直接实施Java EE-Ear,非常方便。
  JBoss支持集群,一个JBoss服务器实例可同时创建多个集群,但这样会增加管理复杂性。
   WebLogic能新建多个域,在同一个域可建多个集群,集群对开发人员和用户是完全透明的,不需要关闭网站,可在集群中动态的任意添加服务器,可扩展性和利用度只受用户硬件预算的限制,既实现了网页集群也实现了EJB组件集群。
WebLogic和JBoss都采用smart stub形式进行EJB集群。即采用轮循、随机、权重等当时访问stub中指定的EJB JNDI,WebLogic的集群更易于管理。
都支持热部署,但JBoss的热部署启动太快,拖开发效率,WebLogic相对稳定些。

你可能感兴趣的:(应用服务器,weblogic,websphere,tomcat,jboss)