通過本文您將了解組合業務服務的概念以及如何自動化的將 WebSphere Process Server,WebSphere Application Server,DB2 等應用中間件和 Rational Performance Tester for SOA quality,Rational Function Tester,等測試工具整合成一套完整的測試環境。
引言
組合業務服務 (Composite Business Service - CBS) 是在一起工作的業務服務和客戶機現有應用程序的集合,目的是為了提供特定的業務解決方案。企業可以通過創新方式靈活地連接組合業務服務、用戶界面和數據服務,以創建新的組合業務應用程序(由 Gartner, Inc. 提出的面向 aka 服務的業務應用程序)來支持業務需求。
圖 1. CBS 與業務流程的映射
圖 1 示意了 CBS 與業務流程的映射關系。業務流程由一系列業務服務實現。一個 CBS 就是這樣一些業務服務的集合。集合中的業務服務應當滿足這樣一些條件:
實現業務流程中的關鍵功能
在行業中通用的業務邏輯
具有標準的輸入輸出接口
CBS 的出現使得基于業務流程的解決方案的實施進程大大加快。相應的對于 CBS 的測試具有以下特點:
CBS 的通用性特點要求,CBS 要在不同軟件平臺環境下正確運行。
CBS 的并非最終產品,沒有(或很少)圖形界面的手工測試。
這些特點導致對 CBS 測試要求很高的自動化支持。
測試環境的框架
從操作層面來講,作為黑盒測試,首要明確的是系統中存在哪些對外接口。圖 2 是 IBM 總結的 SOA 架構概念模式,其中服務層 (Services)、業務流程層 (Business Process)、服務消費層 (Consumers),這三部分通常是要暴露給最終用戶的應用接口。
圖 2. SOA 的架構概念模式
圖 3 展示了一個真實的測試環境的系統各個組成部分。與概念模型相對應,在這個系統中有面向業務消費者的 web 瀏覽器 UI,和面向業務定制者的 SCA 接口以及 Web Service 接口。
圖 3. 測試環境框架
為了實現以上的抽象的系統框架,我們需要一些在現實世界中實際存在的產品來搭建出我們所需的真實環境。根據實現,得出如下一套方案:
使用 DB2 實現系統持久層管理。
使用 WebSphere Application Server (WAS) 提供系統運行時支持環境。
使用集成了 ESB 的 WebSphere Process Server (WPS) 管理服務調度,提供 SCA 基礎構件。
使用 Rational Performance Tester for SOA Quality (RPT for SOA Quality) 進行服務層接口測試。
使用 Rational Function Tester (RFT) 進行用戶 UI 層接口測試。
圖 4 直觀的描述了 SOA 組合業務服務自動化測試方案。
圖 4. SOA 組合業務服務自動化測試方案
需要說明的是,在項目中根據具體的測試需求,可能還需要添加 LDAP 服務器,文檔管理服務器等,或用于離線業務的消息隊列服務。而上面給出的測試環境是實現功能測試的最小集。
以下篇幅介紹如何自動化的將 WPS,DB2 等應用中間件和 RPT for SOA quality,RFT,等測試工具整合成一套完成的測試環境。
測試環境自動化配置的途徑
本章主要介紹在測試環境自動化搭建過程中被廣泛使用的兩種方法。
使用響應文件進行靜默安裝
響應文件可以簡化組件的安裝和配置。響應文件是文本文件,包含安裝和配置組件所需的產品和系統信息。執行無人照管(靜默)安裝時,此文件相當有用。安裝過程從響應文件讀取信息,而不是提示您進行填空。也可以使用文本編輯器添加組件或定制選項,將響應文件重新用于以后的安裝。
雖然不同產品的響應文件內容存在區別,但大體上應遵循以下規范:響應文件由“屬性 = 值”對組成;每一個對都代表了安裝中對某一屬性的設置;不同的對之間用回車符加以區分;可以在注釋前使用字符 # 將注釋添加到響應文件中。
以下示例說明了從簡易安裝腳本生成的響應文件。
總體來講,要使用響應文件安裝支撐軟件,請遵循這些基本步驟:
一、編輯響應文件以檢查其語法并確保信息正確無誤。
二、運行安裝腳本并指定響應文件。
三、檢查軟件是否被正確的安裝成功。
使用腳本編制配置 WPS
WPS 提供了腳本編制工具 wsadmin。我們用這一工具來代替交互式的管理控制臺,實現 WPS 配置的自動化。WPS 的全部管理活動都可以使用 wsadmin 工具完成。
圖 5 描述 wsadmin 腳本編制解決方案中涉及的主要組件:
圖 5. WebSphere Application Server 腳本編制解決方案
wsadmin 工具支持兩種腳本語言:Jacl 和 Jython。在本文中采用 Jacl 實現腳本文件。當您使用腳本時,有五個對象可用:
AdminControl:用于運行操作命令;
AdminConfig:用于運行配置命令以創建或修改 WebSphere Application Server 配置元素;
AdminApp:用于管理應用程序;
AdminTask:用于運行管理命令;
Help:用于獲取一般幫助;
腳本使用這些對象與運行在 WebSphere Application Server 進程中的 MBean 通信。MBean 是表示 Java 管理擴展(JMX)資源的 Java 對象。JMX 是附加于 Java 2 Platform Standard Edition(J2SE)的可選軟件包。JMX 是提供簡單和標準方法來管理 Java 對象的一種技術。您可以通過以參考資料 1 與參考資料 2 找到更多關于 Jacl 與 WPS 配置模型的信息。
原文轉自:http://www.anti-gravitydesign.com