天天看點

web伺服器、容器和中間件

中間件

  提供系統軟體和應用軟體之間連接配接的軟體,以便于軟體各部件之間的溝通。中間件處在作業系統和更高一級應用程式之間。他充當的功能是:将應用程式運作環境與作業系統隔離,進而實作應用程式開發者不必為更多系統問題憂慮,而直接關注該應用程式在解決問題上的能力。我們後面說到的容器的概念就是中間件的一種。

J2EE提出的背景:

1、企業級應用架構的需求:在許多企業級應用中,例如資料庫連接配接、郵件服務、事務處理等都是一些通用企業需求子產品,這些子產品如果每次再開發中都由開發人員來完成的話,将會造成開發周期長和代碼可靠性差等問題。于是許多大公司開發了自己的通用子產品服務。這些服務性的軟體系列統稱為中間件。

2、 為了通用必須要提出規範,不然無法達到通用:在上面的需求基礎之上,許多公司都開發了自己的中間件,但其與使用者的溝通都各有不同,進而導緻使用者無法将各個公司不同的中間件組裝在一塊為自己服務。進而産生瓶頸。于是提出标準的概念。其實J2EE就是基于JAVA技術的一系列标準。

目前常見的中間件角色:

  Apache的Tomcat、IBM公司的WebSphere、BEA公司的WebLogic、Kingdee公司的Apusic都屬于中間件。并且中間件技術已經不局限于應用伺服器、資料庫伺服器。圍繞中間件,在商業中間件及資訊化市場主要存在微軟陣營、Java陣營、開源陣營。

容器

  充當中間件的角色

WEB容器:給處于其中的應用程式元件(JSP,SERVLET)提供一個環境,JSP容器和SERVLET容器。使JSP,SERVLET直接跟容器中的環境變量接口互動,不必關注其它系統問題。主要由WEB伺服器來實作。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴格遵守J2EE規範中的WEB APPLICATION 标準。我們把遵守以上标準的WEB伺服器就叫做J2EE中的WEB容器。

EJB容器:Enterprise java bean 容器。更具有行業領域特色。他提供給運作在其中的元件EJB各種管理功能。隻要滿足J2EE規範的EJB放入該容器,馬上就會被容器進行高效率的管理。并且可以通過現成的接口來獲得系統級别的服務。例如郵件服務、事務管理。

WEB容器和EJB容器在原理上是大體相同的,更多的差別是被隔離的外界環境。WEB容器更多的是跟基于HTTP的請求打交道。而EJB容器不是。它是更多的跟資料庫、其它服務打交道。但他們都是把與外界的互動實作進而減輕應用程式的負擔。例如SERVLET不用關心HTTP的細節,直接引用環境變量session,request,response就行、EJB不用關心資料庫連接配接速度、各種事務控制,直接由容器來完成。

web伺服器(程式/軟體)

  即:www伺服器或http伺服器。提供Web資訊浏覽服務。它隻需支援HTTP協定、HTML文檔格式及URL。向浏覽器提供服務的程式。

目前常見web伺服器:

  大型:Microsoft IIS、IBM WebSphere、BEA WebLogic、Apache、Tomcat

  小型:nginx、 micro_httpd、mini_httpd、thttpd、 lighttpd、Shttpd

原文位址:http://blog.sina.com.cn/s/blog_643634b80101dapn.html

本文轉自飛奔的小GUI部落格51CTO部落格,原文連結http://blog.51cto.com/9237101/1895070如需轉載請自行聯系原作者

ziwenzhou