您是一位開(kāi)發(fā)人員,而不是管理員。所以您認為自己不用關(guān)心系統和應用程序管理。您的觀(guān)點(diǎn)錯了,您應該關(guān)心……,本系列文章是為開(kāi)發(fā)人員編寫(xiě)的,關(guān)于 WebLogic Server 的管理服務(wù)器和被管理服務(wù)器,解釋了為何以及如何關(guān)心系統和應用程序管理。
在使用 BEA WebLogic Server 8.1深入開(kāi)發(fā) J2EE 應用程序之前,您必須做一些管理工作,配置服務(wù)器以及部署應用程序。一旦準備好將應用程序從本地開(kāi)發(fā)環(huán)境提升到另一個(gè)測試或生產(chǎn)環(huán)境,您就需要了解為應用程序準備其他環(huán)境時(shí),有哪些管理性任務(wù)是必需的。在應用程序生命周期的某些時(shí)刻,可能會(huì )要求您幫助排除應用程序遇到的某類(lèi)問(wèn)題。這可能會(huì )要求您監控服務(wù)器或應用程序的行為。甚至還可能要求您編寫(xiě)某些定制腳本或程序,以使某些管理或監控任務(wù)自動(dòng)化。所有這些任務(wù)都需要系統和應用程序管理的一些知識。
BEA WebLogic Server 管理子系統基于 Java Management Extensions (JMX) 版本 1.0。什么是 JMX 呢?JMX是 Sun Microsystems, Inc. 的規范,提供了開(kāi)放的、可擴展的 Java 管理服務(wù)。雖然直到 J2EE 1.4 規范發(fā)布時(shí),JMX才成為 J2EE 的正式部分,但它對企業(yè)應用程序基礎結構的價(jià)值已經(jīng)得到了證明,而且大多數 Java 應用程序服務(wù)器供應商如今都在某種程度上支持 JMX。從 WebLogic Server 6.0 版本發(fā)布以來(lái),BEA 一直都在支持 JMX。
WebLogic Server 還支持行業(yè)標準 Simple Network Management Protocol (SNMP) 版本 1 和版本 2。SNMP 支持提供了使用最流行的企業(yè)系統和應用程序監控產(chǎn)品的能力,像 HP OpenView、BMC Patrol 或 CA Unicenter,用以監控基于WebLogic Server 的應用程序。WebLogic Server 的 SNMP 接口是只讀的,因此不會(huì )被覆蓋。
在 JMX 基礎結構的頂部,WebLogic Server 提供了3 種主要類(lèi)型的接口,您可以用它們完成管理目標:
· GUI 工具:一組圖形工具,為大多數服務(wù)器和應用程序的配置和運行時(shí)信息提供了可視的、易于使用的訪(fǎng)問(wèn)方式。這些工具包括WebLogic Server Administration Console、Configuration Wizard 以及 WebLogic Builder。
· 命令行工具: 一組簡(jiǎn)單但功能強大的 Java 命令行程序,提供了執行公共任務(wù)的專(zhuān)用命令和操作基礎 JMX 接口的命令?;久钚泄ぞ呤?/span> weblogic.Admin,既支持單條命令,又支持用于執行管理性命令的批處理模式。
· 可編程 API: 一組 API 和 Ant 任務(wù),允許您訪(fǎng)問(wèn) JMX 接口,管理基礎結構就以這些接口為基礎。這些接口包括了松散類(lèi)型的標準 JMX 接口,這是一種強類(lèi)型的易于使用的 JMX 對象接口以及一組 Ant 任務(wù),這組任務(wù)允許您配置、部署、啟動(dòng)和中止服務(wù)器。
我們將在本文討論管理 BEA WebLogic Server 的方法,而不需要了解 JMX 基礎結構,JMX 基礎結構將在隨后的文章中介紹。我們從對圖形管理工具的綜述開(kāi)始,然后轉到討論命令行工具的使用,而不需要了解 JMX 。在講述 WebLogic Server 管理之前,首先定義一些重要的概念, WebLogic Server 管理就基于這些概念。
管理概念和術(shù)語(yǔ)
BEA WebLogic Server 使用術(shù)語(yǔ)域(domain) 來(lái)描述邏輯上有關(guān)聯(lián)的 WebLogic Server 資源群組,它作為一個(gè)單元管理。域是一個(gè)純粹的管理性實(shí)體,邏輯上能夠涵蓋一個(gè)以上的應用程序,或者甚至涵蓋應用程序的一部分,理解這些很重要。一個(gè)域總是至少包含一個(gè)稱(chēng)作 Administration (或 Admin) Server 的 WebLogic Server 實(shí)例。Admin Server 充當用于管理的中心配置庫和中心聯(lián)絡(luò )點(diǎn)。一個(gè)域還可能包含附加的 WebLogic Server 實(shí)例(稱(chēng)作被管理服務(wù)器)和群集。每一個(gè)群集都包含一個(gè)或多個(gè)被管理服務(wù)器,并且可以跨躍一個(gè)或多個(gè)物理機器。

同樣,每臺物理機器只需要一個(gè)節點(diǎn)管理器實(shí)例。稍后我們將深入看一看節點(diǎn)管理器。圖 1 顯示了WebLogic Server 域拓撲的一個(gè)例子。

除了便于域的管理,Admin Server 還在其上至少部署了一個(gè)應用程序:一個(gè) J2EE 應用程序,其功能是將WebLogic Server Administration Console交付給瀏覽器。
圖形工具:Configuration Wizard、Admin Console 和 Builder
在這一節,我們將帶領(lǐng)您從封裝應用程序的角度瀏覽 WebLogic Server GUI 工具,并瀏覽配置好準備進(jìn)行應用程序部署的 BEA WebLogic Server 8.1 系統和應用程序環(huán)境。
應用程序環(huán)境配置
安裝了 BEA WebLogic Server 8.1 軟件之后,需要做的第一件事是設置一個(gè)域,并啟動(dòng) Admin Server。正如前面提到的,Admin Server 的其中一個(gè)責任就是充當域的配置庫。這種配置信息主要駐留在一個(gè)稱(chēng)作 config.xml 的 XML 文件中。為了啟動(dòng) Admin Server 以及訪(fǎng)問(wèn) Admin Console,以配置域的其余部分,會(huì )需要一個(gè)基礎 config.xml 文件(和一些其他文件),該文件反映了您的環(huán)境,并具備足夠的信息啟動(dòng) Admin Server。WebLogic Server 提供了帶領(lǐng)您配置該過(guò)程的 Configuration(簡(jiǎn)寫(xiě)為 Config)Wizard。
Config Wizard 是一個(gè)獨立的 Java Swing 應用程序,隨 WebLogic Server 一起發(fā)布。由于它基本上是一個(gè)引導工具,所以用它來(lái)創(chuàng )建域所需的基本配置不需要運行 Admin Server。您可以選擇配置關(guān)于域的附加信息,比如拓撲信息(例如,群集、被管理服務(wù)器及機器)、JDBC 和 JMS 資源以及安全(例如,用戶(hù)、群組及角色)。
與在任何其他基于向導的工具中一樣,在整個(gè)配置過(guò)程,Config Wizard 帶領(lǐng)您通過(guò)了一連串的數據輸入屏幕,不僅接受輸入,而且還校驗準確度。在過(guò)程進(jìn)行中,您可以前進(jìn)后退、改變決定以及修改遇到的錯誤。圖 2 顯示了其中一個(gè) Config Wizard 屏幕。

一旦完成了配置過(guò)程,Config Wizard 就創(chuàng )建了啟動(dòng) Admin Server 所需的所有必要的目錄和文件。此時(shí),您可能需要通過(guò) Admin Console 作附加的配置,或者取決于應用程序的需要,可能已經(jīng)準備好可以部署 J2EE 應用程序了。
一旦完成了域的整體配置,WebLogic Server Configuration Template Builder 就允許將一個(gè)現有的域轉換為一個(gè)模板,以便能夠分發(fā)和重復利用,以在其他環(huán)境中創(chuàng )建等效的配置。在設法將應用程序從開(kāi)發(fā)階段提升到 QA、用戶(hù)驗收測試以及生產(chǎn)時(shí),上述做法會(huì )大有幫助。
利用 Administration Console 進(jìn)行系統配置
一旦啟動(dòng)了 Admin Server,就可以訪(fǎng)問(wèn) Admin Console 了,就像在配置的端口訪(fǎng)問(wèn)運行在服務(wù)器上的任何其他 Web 應用程序一樣。缺省情況下,服務(wù)器使用端口 7001,所以從 Admin Server 正在運行的機器訪(fǎng)問(wèn)控制臺的 URL 為 http://localhost:7001/console。圖 3 顯示了登錄后 Admin Console 的初始視圖,帶有與部署的 BEA WebLogic Server 8.1 一起發(fā)布的 Medical Record 樣例應用程序。例如,左邊的對象樹(shù)中有些節點(diǎn)已經(jīng)展開(kāi)了。

Admin Console 為 WebLogic Server 管理提供了一個(gè)圖形、直觀(guān)而全面的界面。作為一名開(kāi)發(fā)人員,您可以或多或少地關(guān)心其中某些功能;不過(guò)至少要知道 Admin Console 所必須提供的內容,這一點(diǎn)很重要。
Admin Console 所提供的其中一個(gè)功能區域是通用服務(wù)器配置。其中有像服務(wù)器重啟屬性、內存及線(xiàn)程設置、監聽(tīng)地址和端口、對 WebLogic Server 所支持的不同協(xié)議(例如,IIOP、HTTP 及 COM)的設置、日志設置以及許多其他功能的參數的設置。
然而,當應用程序從開(kāi)發(fā)階段轉入 QA、性能與負載測試、生產(chǎn)時(shí),它們可能就重要了。圖 4 顯示了用于 HTTP 協(xié)議配置的服務(wù)器配置屏幕。

首先,BEA WebLogic Server 為應用程序提供了一組服務(wù),其中許多有助于你在你的應用中決定是否使用應用服務(wù)器的服務(wù)。這些服務(wù)包括 J2EE 和非 J2EE 資源。通常您不能部署自己的應用程序,除非已經(jīng)在服務(wù)器中配置了自己應用程序所需的所有 J2EE 資源。這些資源包括數據庫連接(JDBC 連接池和數據源)、異步消息支持(JMS)、電子郵件連接(JavaMail)、集成資源適配器(JCA)及其他。為了使應用程序正確發(fā)揮功能,需要適當配置其他服務(wù)。這些服務(wù)包括事務(wù)支持(JTA)、安全、XML 及其他。Admin Console 提供了一個(gè)所有這些服務(wù)的方便直觀(guān)的視圖,就像可以配置、管理和監控的對象組成的一棵樹(shù)。
除了這些應用程序服務(wù),WebLogic Server 還提供了一組服務(wù),旨在為應用程序提供高性能、高可伸縮性、高容錯能力及高可靠性。這些服務(wù)由以下內容組成,用于控制in-memory內存復制功能中的復制組、用于性能和資源效率的各種緩存技術(shù)、對象池、線(xiàn)程池,等等。通過(guò) Admin Console 和 J2EE 部署描述符,WebLogic Server 給予了您配置和微調其中許多服務(wù)的能力,以便優(yōu)化應用程序的性能、可用性及可靠性。例如,提高性能的最重要的配置參數之一是執行隊列線(xiàn)程數目。服務(wù)器接收到一個(gè)請求時(shí),將其放入執行隊列。然后,將該請求分配給一個(gè)執行線(xiàn)程,這個(gè)線(xiàn)程處理該請求并向請求者返回響應。除了處理請求的默認隊列,WebLogic Server 還提供了配置新執行隊列的能力,每一個(gè)執行隊列都有自己的執行線(xiàn)程集合,并將它們分配給整個(gè)應用程序或應用程序塊。正如稍后將要看到的,Admin Console 提供了強大的監控功能,能幫助了解和優(yōu)化應用程序的性能。
利用 WebLogic Builder 進(jìn)行 J2EE 應用程序配置
在部署應用程序以便它能正確使用服務(wù)器提供的所有服務(wù)之前,除了配置服務(wù)器提供的不同服務(wù)之外,還需要對應用程序進(jìn)行配置和打包。按照 J2EE 規范,特定于您的應用程序的配置存儲在稱(chēng)作部署描述符(DD)的 XML 配置文件中。雖然可以使用任何文本編輯器手工創(chuàng )建和編輯 DD,但是您將會(huì )發(fā)現這是一個(gè)非常單調冗長(cháng)且易于出錯的過(guò)程。WebLogic Builder —— 一個(gè)圖形 J2EE 應用程序打包和部署工具——在該過(guò)程中有極大的幫助。
WebLogic Builder(參閱圖 5)是一個(gè)獨立的基于 Java Swing 的工具,隨 BEA WebLogic Server 一起發(fā)布。它允許創(chuàng )建和修改存儲在J2EE 標準部署描述符和特定于 WebLogic Server 的部署描述符中的應用程序的配置。雖然該工具不需要運行 WebLogic Server,但是,如果 WebLogic Server 的一個(gè)正在運行中的實(shí)例可用,它就能根據該實(shí)例來(lái)驗證應用程序配置的多項設置。完成配置之后,WebLogic Builder 會(huì )將 J2EE 應用程序打包到合適的 JAR、WAR 或 EAR 文件中;甚至將其直接部署到您所選擇的 WebLogic Server 實(shí)例中。

您可能注意到了,在 Config Wizard、Admin Console 和 WebLogic Builder 之間,配置功能上存在著(zhù)一些重疊。這些工具中每一個(gè)都集中在一個(gè)特定的受眾和任務(wù)上。WebLogic Builder 旨在允許應用程序開(kāi)發(fā)或部署人員創(chuàng )建和修改應用程序部署描述符以及打包您的 J2EE 應用程序以部署到 BEA WebLogic Server 上。WebLogic Server Config Wizard 旨在提供一種域配置引導機制,以創(chuàng )建啟動(dòng) Admin Server所必要的文件。WebLogic Server 的 Admin Console 是用于其他所有任務(wù)的基本配置、部署及監控工具。作為一名開(kāi)發(fā)人員,對這些工具中的每一個(gè)都至少有些了解是很有益處的。
小結
本文介紹了 BEA WebLogic Server 域的主要概念和術(shù)語(yǔ)。
然后,展示了最常用的圖形工具:Administration Console、Configuration Wizard 和 WebLogic Builder,用于設置 WebLogic Server 以及打包和配置要部署在其上的應用程序。
在下一篇文章中,將考察應用程序部署、運行時(shí)管理以及 WebLogic Server 中的監控工具——既有基于圖形的,也有基于命令行的。
關(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)系客服