配置好 BEA WebLogic Server 域之后,需要對應用程序進(jìn)行部署。
這是為開(kāi)發(fā)人員撰寫(xiě)的關(guān)于 BEA WebLogic Server 管理方面的系列文章的第 2 部分。第 1 部分(WLDJ, Vol. 2, issue 10)介紹 WebLogic Server 域的主要概念和術(shù)語(yǔ)。接下來(lái),我們向您介紹使用最常用的圖形化工具來(lái)設置 WebLogic Server,打包并配置要部署的應用程序,包括 Administration Console、Configuration Wizard 和 WebLogic Builder。
在本文中,我們將討論應用程序部署、運行時(shí)管理和 WebLogic Server 可用的監視工具(包括基于圖形化的和基于命令行的)。
利用 Admin Console 進(jìn)行應用程序部署
在 Admin Console 的部署區域,可將新的應用程序和模塊——J2EE Enterprise 應用程序、EJB、Web 應用程序、J2EE CA Connectors,以及 WebLogic Server Startup 或 Shutdown 類(lèi)——部署到域中的服務(wù)器和群集。
WebLogic Server 允許您將一個(gè)應用程序或模塊部署為一個(gè)檔案文件或者一個(gè)解開(kāi)的檔案文件。解開(kāi)的檔案文件包括了與檔案文件本身相同的文件并保持相同的目錄結構。存檔的應用程序和模塊必須對應模塊類(lèi)型使用正確的文件擴展名。
l EJB 打包成 .jar 文件。
l Web 應用程序打包成 .war 文件。
l 資源適配器打包成 .rar 文件。
l 企業(yè)應用程序打包成 .ear 文件。
l Web 服務(wù)打包成 .war 或 .ear 文件。
解開(kāi)的檔案文件經(jīng)常用于開(kāi)發(fā)環(huán)境,因為它們允許您在無(wú)需重新生成 J2EE 檔案文件的情況下,很容易地更改部分應用程序、重新編譯和重新部署。要定位一個(gè)解開(kāi)的檔案文件,選擇應用程序或模塊的頂層目錄,而不是檔案文件。
在最初為一個(gè)或多個(gè)服務(wù)器設置和部署應用程序或模塊之后,您可以在無(wú)需重新配置和重新復制其文件并且也無(wú)需重啟服務(wù)器的情況下,停止、部署或者重新部署應用程序或模塊。這通常稱(chēng)為熱部署。圖 1 給出的是 Admin Console 部署屏幕的一個(gè)例子。

當服務(wù)器在開(kāi)發(fā)模式下運行時(shí),它也支持自動(dòng)部署。有了自動(dòng)部署,服務(wù)器將監視服務(wù)器應用程序目錄中新的或者更新過(guò)的文件,并自動(dòng)地部署或重新部署新的或更新過(guò)的檔案文件。
利用 Admin Console 進(jìn)行應用程序和系統的監控
BEA WebLogic Server Admin Console 為監控 J2EE 應用程序組件提供了方法。要確保所有組件已正確部署并且對應用程序可用,第一個(gè)也是最明顯的方法是,能在 JNDI 樹(shù)中找到這些組件。圖 2 是 Admin Console 顯示的 JNDI 樹(shù)。
![]() |
其次,當應用程序運行時(shí),您可以監控單個(gè)組件的使用情況,以確定應用程序正以最有效的方式使用服務(wù)器設施。Admin Console 中有很多地方允許您這樣做。對于 EJB,Admin Console 提供了大量的關(guān)于EJB運行時(shí)使用情況的統計數字,能幫助您確定服務(wù)器為每個(gè) EJB 處理請求的效率。當Admin Console 提供這些統計信息的一個(gè)子集的默認視圖時(shí),還允許您實(shí)時(shí)地定制該視圖,以滿(mǎn)足您對特定信息的需求。圖 3 顯示了 EJB 統計信息視圖的一個(gè)例子。

與 EJB 統計信息類(lèi)似,還有 servlet 和 JSP 統計信息的一個(gè)可定制的顯示,如圖 4 所示。

您還可以監控許多其他 J2EE 以及特定于服務(wù)器的資源。圖 5 顯示了一個(gè)監控 JDBC 連接池的例子,而圖 6 則顯示了如何通過(guò) Admin Console 來(lái)監控服務(wù)器的總體健康狀態(tài)。


使用由 Admin Console 提供的統計的和圖形的信息,可以得出應用程序性能的初步評估,看到潛在的瓶頸,以及識別可能的優(yōu)化區域。
盡管 Admin Console 提供了有價(jià)值的應用程序和服務(wù)器監控功能,但是它不可能為所有情況提供充足的信息。在這些情況下,有以下選項:
· 利用 BEA WebLogic Server 開(kāi)放的、可擴展的管理框架,將新的監控功能添加到Admin Console,或者從定制的應用程序訪(fǎng)問(wèn)特定的監控功能。
· 利用廣闊的 BEA 伙伴生態(tài)系統,它有眾多的管理實(shí)現模塊,他們提供插入到 WebLogic Server 的產(chǎn)品,還提供更加廣泛的管理及監控功能,在多數情況下涵蓋整個(gè)企業(yè)環(huán)境,而不只涵蓋部署在 WebLogic Server 上的應用程序。
命令行工具: weblogic.Admin 和 weblogic.Deployer
可用于 BEA WebLogic Server 的圖形管理工具為管理 WebLogic Server 應用程序提供了一種功能強大、直觀(guān)且可視的方法。然而有些情況下,更簡(jiǎn)單、更集中的實(shí)用程序會(huì )更方便。在開(kāi)發(fā)環(huán)境中,命令行接口為在創(chuàng )建、部署以及測試過(guò)程中自動(dòng)化管理性任務(wù)提供了一種高度靈活的方法。在生產(chǎn)環(huán)境中,命令行接口為完成減少引入人為錯誤機會(huì )的任務(wù)提供了一個(gè)可重復的過(guò)程。
命令行工具雖不可視、不直觀(guān),但它確實(shí)允許您通過(guò) Admin Console 訪(fǎng)問(wèn)所有可用的功能,甚至還為訪(fǎng)問(wèn)某些功能提供了更靈活的方法,這些功能要么被控制臺隱藏要么不易于使用。大多數對管理性功能的這種訪(fǎng)問(wèn)是通過(guò) weblogic.Admin Java 程序的命令進(jìn)行的,這些命令使您可以直接操縱底層 JMX 基礎結構。要想使用這些特殊的命令 (GET、 SET、CREATE、INVOKE、 DELETE 和 QUERY),需要了解 JMX 和 BEA WebLogic Server 的 JMX Mbean。我們將在后文詳細介紹 JMX。本文其余部分將集中在這些命令的子集上,而不需要了解 JMX,即便它們正在為完成工作而訪(fǎng)問(wèn)服務(wù)器的 JMX 基礎結構。
Weblogic.Admin 實(shí)用程序是一個(gè)命令行接口,可以用來(lái)管理、配置和監控 WebLogic Server。同 Admin Console 一樣,Weblogic.Admin 也扮演了客戶(hù)機的角色,在 Admin Server上調用管理性操作,Admin Server 是域中所有服務(wù)器的中心管理點(diǎn)。雖然 Admin Console 做每一樣事都要通過(guò) Admin Server,但 weblogic.Admin 實(shí)用程序既可以直接訪(fǎng)問(wèn)單獨的被管理服務(wù)器,又可以訪(fǎng)問(wèn)Admin Server。即使關(guān)閉了Admin Server,仍可使用 weblogic.Admin 實(shí)用程序從被管理服務(wù)器檢索運行時(shí)信息以及調用某些管理性命令。然而,當 Admin Server 可用時(shí),BEA WebLogic Server只能保存對域的配置改變。
由于 weblogic.Admin 是一個(gè) Java 程序,所以在運行之前需要先設置環(huán)境。一旦完成設置,就可按照以下語(yǔ)法運行了:
java weblogic.Admin [ [-url | -adminurl] [protocol://]
listen-address:port]
-username username [-password password]
COMMAND-NAME arguments
如果想讓 weblogic.Admin 使用 SSL 與 WebLogic Server 進(jìn)行通信,則需要定義一些附加的 Java 系統屬性,以告訴 weblogic.Admin 某些信息。例如, weblogic.security.SSL.trustedCAKeyStore 屬性告訴 weblogic.Admin(和任何其他 WebLogic SSL 客戶(hù)機或服務(wù)器)到哪兒去找信任密鑰存儲器。 將 weblogic.security.- SSL.ignoreHostnameVerification 設置為 true 會(huì )禁用檢驗服務(wù)器證明書(shū)中的主機名是否匹配服務(wù)器 IP 地址的正常過(guò)程。
我們實(shí)在無(wú)法解釋所有通過(guò) WebLogic Server 命令行接口可用的命令——適合在這兒講的簡(jiǎn)直太多了。要想了解可用命令的綜合列表,請參閱 http://edocs.bea.com/wls/docs81/admin_ref/cli.html 處的 WebLogic Server 文檔。我們在這兒只提供了幾個(gè)例子,為的是讓您對自己所能做的事有一個(gè)感性認識。
FORCESHUTDOWN 命令指示 Admin Server 關(guān)閉一個(gè)被管理服務(wù)器:
java weblogic.Admin -url t3://AdminHost:7001
-username weblogic -password weblogic
FORCESHUTDOWN MedRecManagedServer
該命令發(fā)出之后,名為 MedRecManagedServer 的 BEA WebLogic Server 實(shí)例就會(huì )自己關(guān)閉,而不等待正在處理的請求完成。
服務(wù)器收到該命令時(shí),會(huì )將消息輸出到它的日志文件和標準輸出,表明服務(wù)器的狀態(tài)正在改變、關(guān)閉序列正在啟動(dòng)。如果該命令執行成功,目標服務(wù)器輸出的最終消息如下:
<Jul 12, 2003 11:28:59 AM EDT> <Alert>
<WebLogicServer> <000219> <The shutdown sequence
has been initiated.>
此外,如果該命令執行成功,weblogic.Admin 實(shí)用程序就會(huì )返回以下消息:
Server "MedRecManagedServer" was force shutdown successfully ...
如果 Admin Server 不可用,那么您可以直接將FORCESHUTDOWN 命令發(fā)送到被管理服務(wù)器,讓其自己關(guān)閉:
java weblogic.Admin -url t3://ManagedHost:7001
-username weblogic -password weblogic
FORCESHUTDOWN
如果您想編寫(xiě)不需要用戶(hù)了解管理用戶(hù)名或口令的腳本,那么可以告訴weblogic.Admin 使用存儲在引導身份文件(即 boot.properties 文件)中的信息。要想這樣做,需要告訴 weblogic.Admin 到哪去找引導身份文件以及服務(wù)器的根目錄在什么位置,以便它能找到經(jīng)過(guò)加密的引導身份文件(缺省值為當前目錄)所需的信息。下面這個(gè)例子通過(guò)引用一個(gè)引導身份文件提供了用戶(hù)憑證,并指定了服務(wù)器的根目錄,以便能從任何目錄調用它:
java Dweblogic.system.BootIdentityFile=c:mydomainoot.properties
-Dweblogic.RootDirectory=c:mydomain
weblogic.Admin -url t3://AdminHost:7001
FORCESHUTDOWN
BEA WebLogic Server 還提供了一個(gè)用于部署應用程序的命令行實(shí)用程序,叫做 weblogic.Deployer。同 weblogic.Admin 一樣,該實(shí)用程序也是一個(gè)Java 程序,需要某些參數。weblogic.Deployer 的通用語(yǔ)法是: java weblogic.Deployer [options] [actions] [file(s)]
最重要的選項包括 Admin Server 的URL、具有部署特權的用戶(hù)的用戶(hù)名和口令、正在部署的應用程序或組件的名稱(chēng),以及應用程序或組件要部署到的目標列表。正如您所預料的,最重要的操作是部署、重新部署和反部署。要想了解受支持的選項和操作的完整列表,請參閱 http://edocs.bea.com/wls/docs81/deployment/tools.html 處的 WebLogic Server 文檔。
要想將 MedRec 企業(yè)應用程序檔案部署到我們的被管理服務(wù)器,可以使用表 1 所列出的命令。
正如 weblogic.Admin 一樣,可以使用 Java 系統屬性來(lái)指定 SSL 和引導身份文件信息(參閱表 2)。
要想了解關(guān)于 BEA WebLogic Server 命令行管理工具以及它們關(guān)聯(lián)的命令的完整列表,請參閱 http://edocs.bea.com 處的 WebLogic Server 在線(xiàn)文檔。
小結
本文展示了如何使用 WebLogic Server Administration Console,它用于管理 BEA WebLogic Server 以及部署和監控部署在其上的應用程序。然后,介紹了命令行工具 weblogic.Admin 和 weblogic.Deployer,它們從命令行接口提供了全范圍的管理功能。
在下一篇文章中,將討論 JMX 以及如何使用由 BEA WebLogic Server 提供的工具和腳本設施,BEA WebLogic Server 用于配置、管理以及監控 WebLogic Server 應用程序。在本系列文章的最后一期中,將研究用于構建定制 JMX 程序、創(chuàng )建定制 Mbean 以及擴充 Admin Console 的 Java API。
關(guān)于作者
Vadim Rosenberg 是 BEA WebLogic Server的產(chǎn)品銷(xiāo)售經(jīng)理。在加入 BEA 之前,Vadim 在商務(wù)軟件工程方面花費了 13 年的時(shí)間,最近正在 Compaq Computers (Tandem Division) 開(kāi)發(fā)一種容錯且可伸縮性極強的 J2EE 框架。
Robert Patrick 是 BEA CTO Office的主管,還是 Mastering BEA WebLogic Server: Best Practices for Building and Deploying J2EE Applications 一書(shū)的合著(zhù)者。 他已經(jīng)渡過(guò)了自己的幫助客戶(hù)用 BEA Tuxedo 和 BEA WebLogic Server 設計、構建以及部署高性能、容錯、關(guān)鍵任務(wù)分布式系統的職業(yè)生涯。
聯(lián)系客服