Web应用服务器现在很多人都在用,可是到底什么是Web应用服务器呢,它与Web服务器有什么关系,它与应用服务器又是什么关系,它是他们两种中的其中一种,还是简单的两种服务器的组合呢?
要搞明白这个问题,我们得先知道什么是Web服务器以及什么是应用服务器,现在我们就来看下这两个服务器.
Web服务器(WebServer)可以解析(handles)HTTP协议.当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),比如送回一个HTML页面。我们在进一步的来说明这个过程,当一个请求(request)被送到Web服务器里来时,它只单纯的把这个请求(request)传递给可以处理这个请求的名为服务器端(server-side)程序的东东.所以Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。
刚才提到的那个服务器端(server-side)程序的东东通常具有事务处理(transactionprocessing),数据库连接(database connectivity)和消息(messaging)等功能。这些功能不是Web服务器所拥有的,但是Web服务器可以通过配置来实现这些功能,还可以通过配置来实现容错性(faulttolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)等等.
Web服务器专门处理HTTP请求(request),然后传送(serves)页面使浏览器可以浏览.总结一下就是web服务器主要是让客户可以通过浏览器进行访问,WEB服务器与浏览器打交道,它要处理的主要信息有:session、request、response、HTML、JS、CS等。常见的Web服务器有IIS、 Apache.
应用程序服务器(TheApplication Server)提供的是客户端应用程序可以调用(call)的方法(methods)以供客户端应用程序使用.那些可以被调用的方法也可以成为是商业(业务)逻辑,应用程序服务器就是用来处理这些业务逻辑的.
进一步来说在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记,如静态HTML, 来回传递的信息包括了(takes)数据和方法调用(calls).
而应用程序服务器是通过很多协议来为应用程序或者客户端提供(serves)商业(业务)逻辑(businesslogic)。比如应用服务器JSP,处理的是非常规性WEB页面(JSP文件),他动态生成WEB页面,生成的WEB页面再发送给客户端(实际上当应用服务器处理完一个JSP请求并完成JSP生成HTML后它的任务就结束了,其余的就是WEB服务器处理的过程了)。
在 B/S体系结构中,Web服务器是应用服务器的前提和基础。Web服务器接受来自Browse(http)的request。为了扩展Web的应用(如与后台DataBase打交道)早期可以用一些DLL可以来完成,后来各家公司用应用服务器丰富了这方面的性能,即将Web服务器与应用程序服务器一前一后,
到现在大多数应用程序服务器也都包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。而我们就将包含了Web服务器的应用服务器称为Web应用服务器.
通过上面内容我们已经知道Web应用服务器的组成了,下面我们就介绍一些常见的Web应用服务器.
Apache是世界使用排名第一的Web服务器。它源于NCSAhttpd服务器,当NCSAWWW服务器项目停止后,那些使用NCSA WWW服务器的人们开始交换用于此服务器的补丁,这也是Apache名称的由来(pache补丁)。它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面.
Tomcat是运行Servlet和JSPWeb应用软件的基于Java的Web应用软件容器,但不包含Ejb容器.Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftware Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat中得到体现,Tomcat支持最新的Servlet和JSP规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Websphere是IBM公司的产品,基于J2EE的,对Jsp,Servlet,ejb的支持非常好!WebSphere是随需应变的电子商务时代的最主要的软件平台。它可以开发、部署和整合新一代的电子商务应用,如B2B电子商务,并支持从简单的网页内容发布到企业级事务处理的商业应用,含有Jsp和Servlet容器,也就可以做web容器,也包含EJB容器,是完整的Web应用服务器
JBoss含有Jsp和Servlet容器,也就可以做web容器,也包含EJB容器,是完整的Web应用服务器。JBoss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web操作系统(operatingsystemfor web),它体现了J2EE规范中最新的技术,含有Jsp和Servlet容器,也就可以做web容器,也包含EJB容器,是完整的J2EE应用服务器.
Weblogic是BEA公司的产品,是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Web应用服务器.Weblogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Web应用服务器。将Java的动态功能和JavaEnterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
由于刚开始接触这些知识,对于Web服务器、应用服务器以及Web应用服务器的了解,可能也有很多的不足,请大家多多指正,共同进步。