應(yīng)用程序服務(wù)器的客戶端(包含有圖形用戶界面(GUI)的)可能會運(yùn)行在一臺PC、一個Web服務(wù)器或者甚至是其它的應(yīng)用程序服務(wù)器上。切當(dāng)一點(diǎn),你可以說:Web服務(wù)器專門處理HTTP哀求(request),但是應(yīng)用程序服務(wù)器是通過良多協(xié)議來為應(yīng)用程序提供(serves)貿(mào)易邏輯(business logic)。 Web服務(wù)器不同于應(yīng)用程序服務(wù)的地方
Web服務(wù)器可以解析(handles)HTTP協(xié)議。不管它們(譯者注:腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個HTML的響應(yīng)(response)來讓瀏覽器可以瀏覽。當(dāng)一個哀求(request)被送到Web服務(wù)器里來時,它只單純的把哀求(request)傳遞給可以很好的處理哀求(request)的程序(譯者注:服務(wù)器端腳本)。 Web服務(wù)器僅僅提供一個可以執(zhí)行服務(wù)器端(server-side)程序和返回(程序所產(chǎn)生的)響應(yīng)(response)的環(huán)境,而不會超出職能范圍。集群特征(clustering—features)常常被誤以為僅僅是應(yīng)用程序服務(wù)器專有的特征。當(dāng)Web服務(wù)器接收到一個HTTP哀求(request),會返回一個HTTP響應(yīng)(response),例如送回一個HTML頁面。
根據(jù)我們的定義,作為應(yīng)用程序服務(wù)器,它通過各種協(xié)議,可以包括HTTP,把貿(mào)易邏輯暴露給(expose)客戶端應(yīng)用程序。
Web服務(wù)器(Web Server)
下面讓我們具體了解一下:
一般來說,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。 Web服務(wù)器主要是處理向?yàn)g覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問貿(mào)易邏輯的途徑以供客戶端應(yīng)用程序使用。相反,這種信息就是程序邏輯(program logic)。此外,應(yīng)用程序服務(wù)器可以治理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務(wù)處理(transaction processing),資源池(resource pooling), 和動靜(messaging)。 恰是因?yàn)檫@種邏輯取得了(takes)數(shù)據(jù)和方法調(diào)用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可認(rèn)為所欲為的使用這種被暴露的貿(mào)易邏輯。
通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。 Web服務(wù)器不同于應(yīng)用程序服務(wù)的地方
應(yīng)用程序服務(wù)器(The Application Server)
固然Web服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫連接池,但它可以配置(employ)各種策略(strategies)來實(shí)現(xiàn)容錯性(fault tolerance)和可擴(kuò)展性(scalability),例如負(fù)載平衡(load balancing),緩沖(caching)。
要知道,Web服務(wù)器的代辦代理模型(delegation model)非常簡樸。在應(yīng)用程序服務(wù)器與其客戶端之間往返穿梭(traveling)的信息不僅僅局限于簡樸的顯示標(biāo)記。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴(kuò)展(scalability)和容錯(fault tolerance)技術(shù)。切當(dāng)一點(diǎn),你可以說:Web服務(wù)器專門處理HTTP哀求(request),但是應(yīng)用程序服務(wù)器是通過良多協(xié)議來為應(yīng)用程序提供(serves)貿(mào)易邏輯(business logic)。
在大多數(shù)情形下,應(yīng)用程序服務(wù)器是通過組件(component)的應(yīng)用程序接口(API)把貿(mào)易邏輯暴露(expose)(給客戶端應(yīng)用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)應(yīng)用程序服務(wù)器的EJB(Enterprise JavaBean)組件模型。服務(wù)器端(server-side)程序通常具有事務(wù)處理(transaction processing),數(shù)據(jù)庫連接(database connectivity)和動靜(messaging)等功能。應(yīng)用程序使用此貿(mào)易邏輯就象你調(diào)用對象的一個方法(或過程語言中的一個函數(shù))一樣。為了處理一個哀求(request),Web服務(wù)器可以響應(yīng)(response)一個靜態(tài)頁面或圖片,進(jìn)行頁面跳轉(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ù)。
【 微信掃一掃 】