<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
    應用程序服務器通過各種協議,可以包括HTTP,把商業邏輯暴露給客戶端應用程序。Web服務器主要是處理向瀏覽器發送HTML以供瀏覽,而應用程序服務 器提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序使用此商業邏輯就象你調用對象的一個方法一樣。
    通俗的講,Web服務器傳送(serves)頁面使瀏覽器可以瀏覽,然而應用程序服務器提供的是客戶端應用程序可以調用(call)的方法 (methods)。確切一點,你可以說:Web服務器專門處理HTTP請求(request),但是應用程序服務器是通過很多協議來為應用程序提供 (serves)商業邏輯(business logic)。

    下面讓我們來細細道來:

    Web服務器 (Web Server)

    Web服務器可以解析(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)技術。

    一個例子
    例如,設想一個在線商店(網站)提供實時定價(real-time pricing)和有效性(availability)信息。這個站點(site)很可能會提供一個表單(form)讓你來選擇產品。當你提交查詢 (query)后,網站會進行查找(lookup)并把結果內嵌在HTML頁面中返回。網站可以有很多種方式來實現這種功能。我要介紹一個不使用應用程序 服務器的情景和一個使用應用程序服務器的情景。觀察一下這兩中情景的不同會有助于你了解應用程序服務器的功能。

    情景 1:不帶應用程序服務器的Web服務器

    在此種情景下,一個Web服務器獨立提供在線商店的功能。Web服務器獲 得你的請求(request),然后發送給服務器端(server-side)可以處理請求(request)的程序。此程序從數據庫或文本文件 (flat file,譯者注:flat file是指沒有特殊格式的非二進制的文件,如properties和XML文件等)中查找定價信息。一旦找到,服務器端(server-side)程序 把結果信息表示成(formulate)HTML形式,最后Web服務器把會它發送到你的Web瀏覽器。

    簡而言之,Web服務器只是簡 單的通過響應(response)HTML頁面來處理HTTP請求(request)。

    情景2:帶應用程序服務器的 Web服務器

    情景2和情景1相同的是Web服務器還是把響應(response)的產生委托 (delegates)給腳本(譯者注:服務器端(server-side)程序)。然而,你可以把查找定價的商業邏輯(business logic)放到應用程序服務器上。由于這種變化,此腳本只是簡單的調用應用程序服務器的查找服務(lookup service),而不是已經知道如何查找數據然后表示為(formulate)一個響應(response)。 這時當該腳本程序產生HTML響應(response)時就可以使用該服務的返回結果了。

    在此情景中,應用程序服務器提供 (serves)了用于查詢產品的定價信息的商業邏輯。(服務器的)這種功能(functionality)沒有指出有關顯示和客戶端如何使用此信息的細 節,相反客戶端和應用程序服務器只是來回傳送數據。當有客戶端調用應用程序服務器的查找服務(lookup service)時,此服務只是簡單的查找并返回結果給客戶端。

    通過從響應產生(response-generating)HTML的 代碼中分離出來,在應用程序之中該定價(查找)邏輯的可重用性更強了。其他的客戶端,例如收款機,也可以調用同樣的服務(service)來作為一個店員 給客戶結帳。相反,在情景1中的定價查找服務是不可重用的因為信息內嵌在HTML頁中了。

    總而言之,在情景2的模型中,在Web服務器 通過回應HTML頁面來處理HTTP請求(request),而應用程序服務器則是通過處理定價和有效性(availability)請求 (request)來提供應用程序邏輯的。

    警告(Caveats)
    現在,XML Web Services已經使應用程序服務器和Web服務器的界線混淆了。通過傳送一個XML有效載荷(payload)給服務器,Web服務器現在可以處理數 據和響應(response)的能力與以前的應用程序服務器同樣多了。

    另外,現在大多數應用程序服務器也包含了Web服務器,這就意味 著可以把Web服務器當作是應用程序服務器的一個子集(subset)。雖然應用程序服務器包含了Web服務器的功能,但是開發者很少把應用程序服務器部 署(deploy)成這種功能(capacity)(譯者注:這種功能是指既有應用程序服務器的功能又有Web服務器的功能)。相反,如果需要,他們通常 會把Web服務器獨立配置,和應用程序服務器一前一后。這種功能的分離有助于提高性能(簡單的Web請求(request)就不會影響應用程序服務器 了),分開配置(專門的Web服務器,集群(clustering)等等),而且給最佳產品的選取留有余地。


    posted on 2010-05-14 10:19 小菜毛毛 閱讀(228) 評論(0)  編輯  收藏 所屬分類: 面試
    主站蜘蛛池模板: 99久久免费国产特黄| 妻子5免费完整高清电视| 国产免费观看黄AV片| 国产成人精品日本亚洲专区| 亚洲国产成人AV网站| 两个人看的www免费高清| 亚洲片国产一区一级在线观看| 激情内射亚洲一区二区三区| 久久久久久久尹人综合网亚洲| g0g0人体全免费高清大胆视频| 99免费在线观看视频| 亚洲影院在线观看| 嘿嘿嘿视频免费网站在线观看| 国产免费小视频在线观看| 久久精品国产亚洲av天美18| 波多野结衣免费视频观看| 无套内谢孕妇毛片免费看看| 亚洲午夜爱爱香蕉片| 免费人成在线观看视频高潮| 亚洲人成网www| 成年女人毛片免费视频| 国产亚洲精品仙踪林在线播放| 99re6在线视频精品免费下载| 亚洲校园春色小说| 天天看片天天爽_免费播放| 久久久综合亚洲色一区二区三区 | 免费观看国产小粉嫩喷水| 四虎影视永久在线精品免费| 337p日本欧洲亚洲大胆裸体艺术| 中文字幕无码亚洲欧洲日韩| 国产做床爱无遮挡免费视频| 国产一二三四区乱码免费| 亚洲精品高清国产麻豆专区| 99精品免费视品| 亚洲欧洲日韩国产| 免费国产美女爽到喷出水来视频| 免费无码又爽又刺激网站| 亚洲日韩AV一区二区三区四区| 亚洲国产中文字幕在线观看 | 3344免费播放观看视频| 成人婷婷网色偷偷亚洲男人的天堂|