什么是應(yīng)用服務(wù)器應(yīng)用服務(wù)器的分類
應(yīng)用服務(wù)器是指通過各種協(xié)議把商業(yè)邏輯曝露給客戶端的程序。那么你對應(yīng)用服務(wù)器了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是應(yīng)用服務(wù)器內(nèi)容,希望大家喜歡!
應(yīng)用服務(wù)器的定義
隨著Internet的發(fā)展壯大,“主機(jī)/終端”或“客戶機(jī)/服務(wù)器”的傳統(tǒng)的應(yīng)用系統(tǒng)模式已經(jīng)不能適應(yīng)新的環(huán)境,于是就產(chǎn)生了新的分布式應(yīng)用系統(tǒng),相應(yīng)地,新的開發(fā)模式也應(yīng)運(yùn)而生,即所謂的“瀏覽器/服務(wù)器”結(jié)構(gòu)、“瘦客戶機(jī)”模式。應(yīng)用服務(wù)器便是一種實(shí)現(xiàn)這種模式核心技術(shù)。
Web應(yīng)用程序駐留在應(yīng)用服務(wù)器(Application Server)上。應(yīng)用服務(wù)器為Web應(yīng)用程序提供一種簡單的和可管理的對系統(tǒng)資源的訪問機(jī)制。它也提供低級的服務(wù),如HTTP協(xié)議的實(shí)現(xiàn)和數(shù)據(jù)庫連接管理。Servlet容器僅僅是應(yīng)用服務(wù)器的一部分。除了Servlet容器外,應(yīng)用服務(wù)器還可能提供其他的Java EE(Enterprise Edition)組件,如EJB容器,JNDI服務(wù)器以及JMS服務(wù)器等。
市場上可以得到多種應(yīng)用服務(wù)器,其中包括Apache的Tomcat、IBM的websphere、Caucho Technology的Resin、Macromedia的JRun、NEC WebOTX Application Server、JBoss Application Server、BEA的WebLogic等。其中有些如NEC WebOTX Application Server、WebLogic、WebSphere不僅僅是Servlet容器,它們也提供對EJB(Enterprise JavaBeans)、JMS(Java Message Service)以及其他Java EE技術(shù)的支持。每種類型的應(yīng)用服務(wù)器都有自己的優(yōu)點(diǎn)、局限性和適用性。
應(yīng)用服務(wù)器的分類
通常,根據(jù)確定文檔內(nèi)容的時(shí)間,所有文檔可以劃分為如下三類。
靜態(tài)
靜態(tài):靜態(tài)Web 文檔是一個(gè)存儲于Web服務(wù)器的文件。靜態(tài)文檔的作者在寫作的時(shí)候確定文檔的內(nèi)容。由于文檔內(nèi)容不會變化,所以對靜態(tài)文檔的每次訪問都返回相同結(jié)果。
動態(tài)
動態(tài):動態(tài)web文檔不是以一個(gè)預(yù)先定義的格式存在,而是在瀏覽器訪問web服務(wù)器時(shí)創(chuàng)建。當(dāng)一個(gè)請求到達(dá)時(shí),web服務(wù)器運(yùn)行一個(gè)應(yīng)用程序創(chuàng)建動態(tài)文檔(dynamic documents),服務(wù)器返回程序的輸出作為應(yīng)答。由于每次訪問都要?jiǎng)?chuàng)建新的文檔,動態(tài)文檔的內(nèi)容是變化的。
活動
活動:一個(gè)活動文檔不完全由服務(wù)器一端說明,而是包括一個(gè)計(jì)算并顯示值的程序。當(dāng)瀏覽器訪問活動文檔時(shí),服務(wù)器返回一個(gè)瀏覽器可以本地執(zhí)行的程序。當(dāng)該程序運(yùn)行時(shí),它可以和用戶交互執(zhí)行并不停地改變顯示。這樣,活動文檔的內(nèi)容是不固定的-只要用戶讓程序保持運(yùn)行,它總是在不停地變化。靜態(tài)文檔的主要優(yōu)點(diǎn)在于它的簡單、可靠性和性能。由于靜態(tài)文檔是直接指定格式。它可以由不懂編程的人創(chuàng)建。更重要的是,在已經(jīng)創(chuàng)建和測試之后,靜態(tài)文檔永遠(yuǎn)是正確的。最后,瀏覽器可以快速存取文檔,同時(shí)通過把文檔放在本地盤上的緩沖區(qū)內(nèi)以加快以后對這些文檔的訪問速度。 靜態(tài)文檔的主要缺點(diǎn)是不靈活-當(dāng)信息變化時(shí)文檔必須重新設(shè)計(jì)。另外,改變是很耗費(fèi)時(shí)間的,因?yàn)樗枰斯ば薷奈募R虼?,靜態(tài)文檔不適合頻繁變化的報(bào)告信息。動態(tài)文檔的主要優(yōu)點(diǎn)是它報(bào)告當(dāng)前信息的能力。
應(yīng)用服務(wù)器的概括
Web 文檔根據(jù)文檔內(nèi)信息改變的時(shí)間可分為三類。靜態(tài)文檔的信息只有當(dāng)作者修改時(shí)才會改變,動態(tài)文檔的信息在服務(wù)器端收到文檔申請時(shí)改變,活動文檔顯示的信息在文檔下載到瀏覽器一端運(yùn)行后改變。由于創(chuàng)建動態(tài)文檔的責(zé)任在管理文檔的服務(wù)器一端,支持動態(tài)文檔也只需修改服務(wù)器。實(shí)際上,變化意味著擴(kuò)展,管理動態(tài)文檔的服務(wù)器也包含了處理靜態(tài)文檔的代碼。處理動態(tài)文檔的Web服務(wù)器需要三個(gè)特性。
首先,服務(wù)器程序必須擴(kuò)展,當(dāng)每次請求到達(dá)時(shí),能夠執(zhí)行一個(gè)單獨(dú)的創(chuàng)建文檔的應(yīng)用程序。服務(wù)器必須編成能夠捕獲應(yīng)用程序的輸出,并且將該文檔返回給瀏覽器。
其次,必須為每個(gè)動態(tài)文檔寫一個(gè)單獨(dú)的應(yīng)用程序。
最后,服務(wù)器必須配置成能夠知道哪一個(gè)URL 對應(yīng)于動態(tài)文檔和哪一個(gè)URL 對應(yīng)于靜態(tài)文檔。對每個(gè)動態(tài)文檔,配置時(shí)必須說明產(chǎn)生文檔的應(yīng)用程序。每個(gè)申請包含著一個(gè)對應(yīng)動態(tài)或靜態(tài)文檔的URL,服務(wù)器使用配置信息和收到的請求中的URL決定如何處理。如果配置信息說明申請中的URL對應(yīng)著一個(gè)靜態(tài)文檔,服務(wù)器就跟往常一樣取出文件。如果申請中的URL對應(yīng)著動態(tài)文檔,服務(wù)器選擇生成該文檔的應(yīng)用程序,運(yùn)行程序,并且把程序的輸出作為文檔返回給瀏覽器。
看過“應(yīng)用服務(wù)器的分類”的人還看了: