Web服務(wù)器、應(yīng)用服務(wù)器和apache、tomcat

應(yīng)用服務(wù)器和WEB服務(wù)器的區(qū)別

通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點,你可以說:Web服務(wù)器專門處理HTTP請求(request),但是應(yīng)用程序服務(wù)器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯(business logic)。

下面讓我們來細細道來:

Web型

Web服務(wù)器(Web Server)可以解析(handles)HTTP協(xié)議。當Web服務(wù)器接收到一個HTTP請求(request),會返回一個HTTP響應(yīng) (response),例如送回一個HTML頁面。為了處理一個請求(request),Web服務(wù)器可以響應(yīng)(response)一個靜態(tài)頁面或圖片, 進行頁面跳轉(zhuǎn)(redirect),或者把動態(tài)響應(yīng)(dynamic response)的產(chǎn)生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,服務(wù)器端(server-side)JavaScript,或者一些其它的服務(wù)器端(server-side)技術(shù)。無論它們(譯者 注:腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個HTML的響應(yīng)(response)來讓瀏覽器可以瀏覽。

企業(yè)WEB服務(wù)器是面向企業(yè)網(wǎng)絡(luò)用戶的信息交流平臺,WEB在企業(yè)生產(chǎn)管理過程中的應(yīng)用越來越多,是信息化應(yīng)用的入口,一些應(yīng)用系統(tǒng)都集成在WEB服務(wù)器上。要知道,Web服務(wù)器的代理模型(delegation model)非常簡單。當一個請求(request)被送到Web服務(wù)器里來時,它只單純的把請求(request)傳遞給可以很好的處理請求 (request)的程序(譯者注:服務(wù)器端腳本)。Web服務(wù)器僅僅提供一個可以執(zhí)行服務(wù)器端(server-side)程序和返回(程序所產(chǎn)生的)響 應(yīng)(response)的環(huán)境,而不會超出職能范圍。服務(wù)器端(server-side)程序通常具有事務(wù)處理(transaction processing),數(shù)據(jù)庫連接(database connectivity)和消息(messaging)等功能。[2]

雖然Web 服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫連接池,但它可以配置(employ)各種策略(strategies)來實現(xiàn)容錯性(fault tolerance)和可擴展性(scalability),例如負載平衡(load balancing),緩沖(caching)。集群特征(clustering-features)經(jīng)常被誤認為僅僅是應(yīng)用程序服務(wù)器專有的特征。[3]

應(yīng)用程序型

應(yīng)用程序服務(wù)器(The Application Server)

根據(jù)定義,作為應(yīng)用程序服務(wù)器,它通過各種協(xié)議,可以包括HTTP,把商業(yè)邏輯暴露給(expose)客戶端應(yīng)用程序。Web服務(wù)器主要是處理向 瀏覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問商業(yè)邏輯的途徑以供客戶端應(yīng)用程序使用。應(yīng)用程序使用此商業(yè)邏輯就像你調(diào)用對象的一個方法(或過程 語言中的一個函數(shù))一樣。

應(yīng)用程序服務(wù)器的客戶端(包含有圖形用戶界面(GUI)的)可能會運行在一臺PC、一個Web服務(wù)器或者甚至 是其它的應(yīng)用程序服務(wù)器上。在應(yīng)用程序服務(wù)器與其客戶端之間來回穿梭(traveling)的信息不僅僅局限于簡單的顯示標記。相反,這種信息就是程序邏 輯(program logic)。 正是由于這種邏輯取得了(takes)數(shù)據(jù)和方法調(diào)用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業(yè)邏輯。

在大多數(shù)情形下,應(yīng)用程序服務(wù)器是通過組件(component)的應(yīng)用程序接口(API)把商業(yè)邏輯暴露(expose)(給客戶端應(yīng)用程序)的,例 如基于J2EE(Java 2 Platform, Enterprise Edition)應(yīng)用程序服務(wù)器的EJB(Enterprise JavaBean)組件模型。此外,應(yīng)用程序服務(wù)器可以管理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務(wù)處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴展(scalability)和容錯(fault tolerance)技術(shù)。

Apache:在Web服務(wù)器中,Apache是純粹的Web服務(wù)器,經(jīng)常與Tomcat配對使用。它對HTML頁面具有強大的解釋能力,但是不能解釋嵌入頁面內(nèi)的服務(wù)器端腳本代碼(JSP/Servlet)。

Tomcat:早期的Tomcat是一個嵌入Apache內(nèi)的JSP/Servlet解釋引擎Apache+Tomcat就相當于IIS+ASP。后來的Tomcat已不再嵌入Apache內(nèi),Tomcat進程獨立于Apache進程運行。?而且,Tomcat已經(jīng)是一個獨立的Servlet和JSP容器,業(yè)務(wù)邏輯層代碼和界面交互層代碼可以分離了。因此,有人把Tomcat叫做輕量級應(yīng)用服務(wù)器。

IIS:微軟早期的IIS,就是一個純粹的Web服務(wù)器。后來,它嵌入了ASP引擎,可以解釋VBScript和JScript服務(wù)器端代碼了,這時,它就可以兼作應(yīng)用服務(wù)器。當然,它與J2EE應(yīng)用服務(wù)器根本無法相比,但是,從功能上說,從原理上說,它勉強可以稱之為應(yīng)用服務(wù)器。確切地說,它是兼有一點應(yīng)用服務(wù)器功能的Web服務(wù)器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容