sishui198
作者sishui198·2012-04-24 11:33
软件开发工程师·Esri中国(北京)有限公司

Web服务器与应用服务器

字数 6929阅读 2873评论 1赞 0

没看到Weblogic的,不知谁能共享下信息!

http://www.cnblogs.com/JCSU/articles/2391979.html

平时在项目开发中我们经常听说服务器,web服务器(Web Server)、应用服务器(The Application Server),这些对我来说开始感觉很迷糊,到底两者之间有什么区别,今天通过网上资料的学习简单的了解了一下,所以这里进行一次归纳。

 

概念:

       应用服务器:就是提供应用的服务器,这里的应用很多,如果java应用、C#应用、ruby应用,如果tomcat。

       Web服务器:提供web功能的服务器,主要就是http服务器,包括图片的下载等一系列和文本相关的。(当然,应用服务器也提供http服务,例如tomcat为了提供方便。)

 

UNIXLINUX平台下使用最广泛的免费web服务器是W3CNCSAAPACHE服务器,而Windows平台使用IISWeb服务器比较多。

常见的应用服务器:IBM WebSphereBEA WebLogicIPlanetOracle IASTOMCAT

 

那么我们来看看为什么会有Web服务器。经常上网的人应该知道当我们浏览一个网页的时候如果这个网页里的图片、Flash等信息越多的话,页面显示的也就越慢。所以说静态资源会严重的影响页面的打开速度。这时候我们就需要有Web服务器,Web服务器其中一个优点就是处理静态信息上,例如一些静态的html,图片等静态资源比较快;

 

应用服务器主要就是做如何解释一个jsp,如果处理java文件等等,而Web服务器就是如果快速向浏览器传递信息,如果快速让浏览器下载图片等;

 

Web服务器可以解析(handlehttp协议,当web服务器接收到一个http请求(request),会返回一个http响应(response),例如送回一个html页面。为了处理一个请求(request),web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的的产生委托(delegate)给一些其它的程序例如cgi脚本,jsp(javaserver pages)脚本,servletsasp(active server pages)脚本,服务器端(server-side)javascript,或者一些其它的服务器端(server-side)技术。无论它们的目的如何,这些服务器端(server-side)的程序通常产生一个html的响应(response)来让浏览器可以浏览。要知道,web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求 (request)的程序。web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响 应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。虽然web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clusteringfeatures)经常被误认为仅仅是应用程序服务器专有的特征。

 

应用程序服务器(the application server)根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括http,把商业逻辑暴露给客户端应用程序。web服务器主要是处理向浏览器发送html以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序x使用。应用程序使用此商业逻辑就象你调用对象的一个方法 (或过程语言中的一个函数)一样。

 

应用程序服务器的客户端(包含有图形用户界面(gui))可能会运行在一台pc、一个web服务器或者甚至是其它的应用程序服务器上。在应用程序 服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态html,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。

在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(api)把商业逻辑暴露(expose)(给客户端应用程序) 的,例如基于j2ee(java 2 platform enterprise edition)应用程序服务器的ejb(enterprise javabean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息(messaging)。就象web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。

 

 

最后总结一下

 

Web服务器:主要是处理web的数据元素的应用软件就叫Web服务器,如果IISapacheWeb服务器与客户端大交道,它要处理的主要信息有:sessionrequestresponseHTMLJSCS等;

应用服务器:应用服务器如JSP,处理的是非常规性Web页面(JSP文件),他动态生成Web页面,生成的Web页面再发送给客户端(实际上当应用服务器处理完一个JSP请求并完成JSP生成HTML后它的任务就结束了,其余的就是WEB处理的过程了)。

 

两者之间的关系

WEB服务器一般是通用的,而应用服务器一般是专用的,如Tomcat只处理JAVA应用程序而不能处理ASPXPHP。而Apache是一个WEB服 务器fHTTP服务器),后来连接Tomcat应用服务器来支持java

 

来自http://xdwangiflytek.iteye.com/blog/1339874

 

 

 

Apache & Tomcat & JBoss & Weblogic

 

概述:

 

Apache:全球应用最广泛的http服务器

Tomcat:应用也算非常广泛的web服务器,支持部分j2ee

JBoss:开源的应用服务器

Weblogic:应该说算是业界第一的应用服务器,全部支持j2ee1.4

 

Jboss也支持j2ee

JBoss和WebLogic都含有Jsp和Servlet容器,也就可以做web容器,
JBoss和WebLogic也包含EJB容器,是完整的J2EE应用服务器

Tomcat 只能做jsp和servlet的container

 

Jboss内嵌Tomcat,处理静态页面Jboss的速度要比较快。

Jboss作为应用服务器,而Tomcat做web服务器。

 

 

一、Tomcat

 

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apache 软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat 5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat部分是Apach服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP 页面和Servlet另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

Tomcat 最新版本是4.0x.4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。

说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet。而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。

基于Tomcat的开发其实主要是Jsp和Servlet的开发。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make。你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。

Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。

 

 

二、Jboss

 

JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。JBoss支持EJB 1.1和EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。类似于Sun's J2SDK Enterprise Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅是提供EJB服务器。JBoss不包括serverlers/JSP page 的WEB容器,当然可以和Tomcat或Jetty绑定使用。

JBoss还具有如下六大优点:

1、JBoss是免费且开放源代码J2EE的实现,它通过LGPL许可证进行发布。

2、JBoss需要的内存和硬盘空间比较小。

3、安装非常简单。先解压缩JBoss打包文件再配置一些环境变量就可以了。

4、JBoss能够"热部署",部署BEAN只是简单拷贝BEAN的JAR文件到部署路径下就可以了。如果没有加载就加载它;如果已经加载了就卸载掉,然后LOAD这个新的。

5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。

6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。

 

 

三、Weblogic

 

WebLogic是美国bea公司出品的一个application server,确切的说是一个基于j2ee架构的中间件,webserver是用来构建网站的必要软件用来解析发布网页等功能,它是用纯java开发的。目前weblogic在世界application server市场上占有最大的份额,其他还有象IBMwebsphere,免费的tomcatresin等中间件。

BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。

与BEA WebLogic Commerce ServerTM配合使用, BEA WebLogic Server可为部署适应性个性化电子商务应用系统提供完善的解决方案。

BEA WebLogic Server具有开发和部署关键任务电子商务Web应用系统所需的多种特色和优势,包括:

1)领先的标准

对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。

2)无限的可扩展性

BEA WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。

3)快速开发

凭借对EJB和JSP的支持,以及BEA WebLogic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统。

4)部署更趋灵活

BEA WebLogic Server的特点是与领先数据库、操作系统和Web服务器紧密集成。

5)关键任务可靠性

其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。

6)体系结构

BEA WebLogic Server是专门为企业电子商务应用系统开发的。企业电子商务应用系统需要快速开发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需的扩展、性能、和高可用性。BEA WebLogic Server简化了可移植及可扩展的应用系统的开发,并为其它应用 系统和系统提供了丰富的互操作性。

凭借其出色的群集技术,BEA WebLogic Server拥有最高水平的可扩展性和可用性。BEA WebLogic Server既实现了网页群集,也实现了EJB组件群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车;组件群集则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。

无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论1 条评论

tonychencanadatonychencanada软件开发工程师shenzhen kimocomputer CO.,LTD
2016-10-13 20:13
thanks
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广