應用伺服器

標籤:   互聯網     伺服器     JAVA  

21

更新時間: 2013-08-26

廣告

應用伺服器是指通過各種協議把商業邏輯曝露給客戶端的程序。它提供了訪問商業邏輯的途徑以供客戶端應用程序使用。應用伺服器使用此商業邏輯就像調用對象的一個方法一樣。 簡單的說能實現動態網頁技術的伺服器叫做web應用伺服器。

定義
應用伺服器是指通過各種協議把商業邏輯曝露給客戶端的程序。它提供了訪問商業邏輯的途徑以供客戶端應用程序使用。應用伺服器使用此商業邏輯就像調用對象的一個方法一樣。
簡單的說,能實現動態網頁技術的伺服器叫做應用伺服器。
Web應用程序駐留在應用伺服器(Application Server)上。應用伺服器為Web應用程序提供一種簡單的和可管理的對系統資源的訪問機制。它也提供低級的服務,如HTTP協議的實現和資料庫連接管理。Servlet容器僅僅是應用伺服器的一部分。除了Servlet容器外,應用伺服器還可能提供其他的Java EE(Enterprise Edition)組件,如EJB容器,JNDI伺服器以及JMS伺服器等。
市場上可以得到多種應用伺服器,其中包括Apache的Tomcat、Caucho Technology的Resin、Macromedia的JRun、NEC WebOTX Application Server、JBoss Application Server、BEA的WebLogic、IBM的WebSphere等。其中有些如NEC WebOTX Application Server、WebLogic、WebSphere不僅僅是Servlet容器,它們也提供對EJB(Enterprise JavaBeans)、JMS(Java Message Service)以及其他Java EE技術的支持。每種類型的應用伺服器都有自己的優點、局限性和適用性。
分類
通常,根據確定文檔內容的時間,所有文檔可以劃分為如下三類。
動態
動態:動態web文檔不是以一個預先定義的格式存在,而是在瀏覽器訪問web伺服器時創建。當一個請求到達時,web伺服器運行一個應用程序創建動態文檔(dynamic documents),伺服器返回程序的輸出作為應答。由於每次訪問都要創建新的文檔,動態文檔的內容是變化的。
Web型
Web伺服器(Web Server)可以解析(handles)HTTP協議。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP響應 (response),例如送回一個HTML頁面。為了處理一個請求(request),Web伺服器可以響應(response)一個靜態頁面或圖片, 進行頁面跳轉(redirect),或者把動態響應(dynamic response)的產生委託(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(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)。集群特徵(clustering-features)經常被誤認為僅僅是應用程序伺服器專有的特徵。

應用程序型

應用程序伺服器(The Application Server)
根據定義,作為應用程序伺服器,它通過各種協議,可以包括HTTP,把商業邏輯暴露給(expose)客戶端應用程序。Web伺服器主要是處理向 瀏覽器發送HTML以供瀏覽,而應用程序伺服器提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序使用此商業邏輯就像你調用對象的一個方法(或過程 語言中的一個函數)一樣。
應用程序伺服器的客戶端(包含有圖形用戶界面(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)技術。

廣告

廣告