Java程序员需知:企业开发中Web服务器与应用服务器的区别联系

栏目: Java · 发布时间: 6年前

内容简介:在企业实际开发中,可以处理用户请求的服务器分为几种基本种类,不同的服务器处理解决不同的问题。这种灵活性为开发人员在应用程序创建和部署方面提供了很大的选择权,但也导致了对各种类型服务器使用场景产生了困惑。从基本层面上看,用户通常通过Web浏览器向系统提交请求。(为了清楚起见,我们暂时忽略所有其他类型的客户端(RMI,CORBA,COM / DCOM,定制等)Web请求必须由Web服务器接收 (也称为 HTTP服务器)。该Web服务器必须处理标准的HTTP请求和响应,然后将HTML返回给请求用户。在服务器环境

在企业实际开发中,可以处理用户请求的服务器分为几种基本种类,不同的服务器处理解决不同的问题。这种灵活性为开发人员在应用程序创建和部署方面提供了很大的选择权,但也导致了对各种类型服务器使用场景产生了困惑。

Web服务器

从基本层面上看,用户通常通过Web浏览器向系统提交请求。(为了清楚起见,我们暂时忽略所有其他类型的客户端(RMI,CORBA,COM / DCOM,定制等)Web请求必须由Web服务器接收 (也称为 HTTP服务器)。该Web服务器必须处理标准的HTTP请求和响应,然后将HTML返回给请求用户。在服务器环境中执行的代码可能是CGI驱动的,Servlet,ASP或其他服务器端编程语言,但最终的结果是Web服务器将HTML传递给用户。

Java程序员需知:企业开发中Web服务器与应用服务器的区别联系

Web服务器可能需要执行一个应用程序来响应用户请求,它可能会生成新闻项目列表,或者处理用户填写的表单内容提交到留言评论区。如果服务器应用程序被编写为Java Servlet,则需要一个地方来执行,而这个地方通常被称为 Servlet引擎。根据Web服务器的不同,此引擎可能是内部的,外部的或者其他完全不同的组件。与传统的CGI环境不同,CGI脚本是在每次向服务器发送请求时启动的。这个持久性提供了一个servlet连接,以及一个维护每个HTTP请求之间状态的简单方法。JSP页面通常与servlet引擎绑定在一起,并且会在与servlet相同的空间/应用程序内执行。

有许多产品以不同的方式处理Web服务和Servlet引擎。Netscape / iPlanet Enterprise Server将Servlet引擎直接构建到Web服务器中并在相同的进程空间内运行。Apache要求servlet引擎在外部进程中运行,并通过TCP / IP套接字与引擎通信。其他服务器(如MS IIS)并未正式支持servlet,并且需要附加产品才能添加该功能。

应用服务器

当你需要使用Enterprise JavaBeans(以及其他J2EE组件,如JMS和CORBA)时,应用服务器就该上场了。一个 应用服务器 是提供企业计算相关的附加功能的全面的应用级服务器,例如,负载均衡,数据库访问类,事务处理和消息传递服务等等。

EJB应用服务器提供了一个EJB容器,它是bean将执行的环境,并且该容器将根据需要管理事务,线程池和其他问题。这些应用服务器通常是独立产品,开发人员通过远程对象访问API将他们的servlet / JSP页面绑定到EJB组件中。根据应用程序服务器的不同,程序员可以使用CORBA或RMI与其bean进行通信,但基准标准是使用JNDI根据需要来定位以及创建对EJB引用。

目前,最容易混淆是,许多应用程序服务器提供商在其产品中包含部分或全部这些组件。如果你使用过或者了解过WebLogic(http://www.beasys.com/),你会发现WebLogic包含Web服务器,servlet引擎,JSP处理器,JMS工具以及EJB容器。理论上,像这样的产品足以应对处理网站开发的各个方面。

在大部分的实践中,你很可能会使用此类产品来管理/提供EJB实例,而专用Web服务器则处理特定的HTTP请求。

总结

现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。


以上所述就是小编给大家介绍的《Java程序员需知:企业开发中Web服务器与应用服务器的区别联系》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网运营实战手册

互联网运营实战手册

李春雷 / 人民邮电出版社 / 2017-4 / 49.80元

为什么网络推广做不起来?微信文章也是套路?标题党的背后是什么?把服务器搞瘫痪的活动是怎么玩出来的?社群究竟要如何运营?数据又该如何运营?你会任务分解吗? 《互联网运营实战手册》详细剖析了网站(产品)的运营技巧与实战,涵盖实用的互联网运营方法,是作者从多年的实战中提炼出的运营心得和精华,涉及运营技巧、运营工具和运营思维方法。详细讲解了用户运营、内容运营、新媒体运营、社群运营、活动运营和数据运营......一起来看看 《互联网运营实战手册》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器