摘要
BEA WebLogic Platform應用程序供應(provisionin)是一個這樣的過程:準備提供一個有效的WebLogic Platform環境來支持已部署好的應用程序的后續應用。在前一篇文章中,我們介紹了經過幾個階段將WebLogic Platform 8.1應用程序從開發升級到生產階段時,我們能從中獲得什么。在本文中,研究的重點是使用可用于WebLogic Platform產品的工具來自動化每個階段的應用程序供應。這將允許您自動創建運行WebLogic應用程序所需的環境。
簡介
BEA WebLogic Platform應用程序供應是一個這樣的過程:準備提供一個有效的WebLogic Platform環境來支持已部署好的應用程序的后續應用。WebLogic Platform環境通常由三種資源組成:域級別的資源(如JDBC Connection Pool和DataSources)、客戶應用程序和生產數據(如安全角色、緩存策略、門戶元數據和貿易合作伙伴管理數據等)。在經過幾個階段將WebLogic應用程序從開發階段升級到生產階段時,需要在每個階段適當地供應這些資源??紤]到配置域級別和應用程序級資源的復雜性,應用程序供應不是一個普通的過程,它常常需要大量的手工勞動并且很容易出錯。所以,人們非常期待通過自動化供應過程來提高生產效率和可靠性,同時降低IT成本。
本文首先將討論自動化應用程序供應過程中面臨的挑戰。然后對可以在WebLogic Platform中使用的供應工具進行概括。通過對一些常見場景的案例分析,比如從開發階段升級到生產階段、快速生產復制、生產數據配置和差量供應,本文將演示如何有效使用這些供應工具來自動化供應過程。
本文提供的示例均摘自一些實際的客戶供應場景。文中引用的WebLogic Scripting Tool(WLST)示例腳本和域模板都已經在WebLogic Platform 8.1 Service Pack 4上開發并通過測試。在即將推出的WebLogic Platform版本中,還將支持JSR-88。因此,目前已經配置好的域級別的一些資源將作為應用程序級資源打包。隨著應用程序供應的自動化,我們的生活會更輕松一些。
注意,本文并不打算成為一篇關于如何使用供應工具(如Domain Template Builder,或DTB)的教程。通過“參考資料”部分中提供的鏈接,您可以找到關于這些工具的更多信息。
挑戰
要運行WebLogic Platform應用程序,就必須創建一個包括適當WebLogic Platform組件和應用程序級資源的域。圖1提供了一個升級過程的例子,在這個過程中,應用程序要經歷4個階段:開發、集成、QA/分級測試和生產。在生產階段,WebLogic Platform應用程序供應還包括為每個應用程序供應需求設置一個集群子網和代理。
圖 1. 從開發階段升級到生產階段的應用程序升級過程
在典型的開發階段,幾個開發人員將同時為一個項目工作,每個開發人員從事不同的模塊研究。這些開發人員可能擁有作為沙箱的自己的工作域(開發模式、帶有本地數據庫的單服務器),并且可以使用源代碼控制工具來促進團隊開發。在開發模式域中,BEA WebLogic Server和BEA WebLogic Workshop將自動供應一些應用程序資源,比如 Entity Bean表、AsyncDispatcher隊列和會話狀態表。在生產模式域中,必須顯式供應這些資源。QA/分級測試環境通常會模擬真實的生產環境,該環境一般由一個或多個集群域以及一些專用的數據庫服務器、負載平衡器和商業證書組成。安全性和高可用性在生產階段很重要,因為它們可能是開發環境中完全缺乏的東西。此外,如果在生產階段對托管服務器使用不同的IP地址或端口,那么還需要更新應用程序模塊,為定制部署重新生成EAR文件。
當經過幾個階段將WebLogic Platform應用程序從開發階段升級到生產階段時,自動化這個過程對確保成功實現生產部署很關鍵。配置自動化所面臨的一個主要挑戰是識別和捕獲正確的配置需要,支持正確的應用程序部署,并將這一點貫徹到每個階段,然后進行目標環境所需的任何配置定制。
WebLogic Platform提供了大量系統工具來促進供應自動化,這些工具包括Configuration Wizard、Domain Template Builder和WebLogic Scripting Tool(WLST)等。關于這些工具的完整列表,請參閱WebLogic Platform Deployment Guide。WebLogic Platform還提供了許多幫助客戶完成初始的域配置的預定義域模板、一組用來添加定義良好的應用程序的模板,以及維護現有域的一些服務。根據各種供應場景的特點,可以將供應方法分成基于模板的方法和基于WLST的方法。注意,可以有效組合這些方法來應對復雜的供應場景。
基于模板的供應
預定義域和擴展模板包含構建或擴展特殊WebLogic域所需的主要屬性和文件。在向域中添加了新的資源和應用程序之后,就可以使用Domain Template Builder來創建定制域模板,稍后可以使用該模板,通過Configuration Wizard創建一個目標域。
基于模板的方法利用Domain Template Builder功能來捕獲當前域的各種配置細節和工件。為了使用基于模板的方法,將從一個運行中的域開始。這個域可以是一個服務器開發域,也可以是一個集群的生產域。此外,應該完全了解現有域,這樣才不會在創建模板時錯過關鍵配置信息。在創建模板時,有一個定制域資源設置的機會,但也可以在以后某個階段實現定制,即在使用已創建的模板實際配置該域的時候。
基于WLST的供應
WebLogic Server Scripting Tool(WLST)是一個命令行腳本接口(使用Jython構建),您可以使用該接口與WebLogic Server交互以及配置WebLogic Server。WLST既支持聯機操作模式,也支持脫機操作模式。WLST Online在連接到某臺運行中的服務器時才開始運作,而WLST Offline通過添加命令來支持Configuration Wizard功能,它允許在不連接到運行中的服務器的情況下創建和擴展WebLogic域。WLST Offline支持WebLogic Platform中提供的預定義域模板以及使用Template Builder工具創建的定制域模板。
原文轉自:http://www.anti-gravitydesign.com