使用 WebSphere Business Modeler 實現業務流程的直接部署

CloudSpace發表於2009-04-01

IBM 業務流程管理和直接部署場景

IBM WebSphere 面向服務的業務流程管理(Business Process Management, BPM)解決方案為企業管理人員實現業務隨需應變的目標提供了強有力的基礎平臺。在 IBM WebSphere 業務流程管理解決方案中,核心的主要產品包括 WebSphere Business Modeler (Modeler), WebSphere Integration Developer(WID), WebSphere Process Server(WPS)和 WebSphere Business Monitor (Monitor)。這幾個產品分別滿足了業務流程的建模優化,組裝實現,部署執行,指標監控四個層次上的需求。他們之間依次輸入輸出,整體構成了業務流程管理的閉合環路。通過這一個迴圈的反饋,企業能夠根據自身業務流程特點,準確識別企業執行過程中存在的種種問題,並快速適應外界環境的變化。

在傳統的 WebSphere BPM 企業流程解決方案中,使用者需要將模型從 Modeler 匯出到開發工具 WID 去進一步實現,然後再部署到執行時引擎 WPS。這個過程過於複雜、耗時,常常被使用者所抱怨。從 Modeler V6.2 開始,Modeler 支援新的使用者應用場景 - 對 WPS 和 Monitor Server 的直接部署。這個功能大大提高了 WebSphere BPM 解決方案的靈活性和效率。直接部署的功能在 Modeler 和執行時伺服器之間直接建立聯絡,如下圖 1 所示。


圖 1. WebSphere BPM 業務流程管理產品示意圖

新的直接部署的應用場景能夠讓企業業務人員通過 Modeler 這個工具去完全定義一個可執行的業務流程模型。細粒度的定義了不同技能和角色的業務人員和 IT 人員之間合作的方式,例如在環境的搭建,服務的建立和釋出,執行時問題的處理等方面都有清晰的分工。同時也更高效地整合了在 BPM 場景中各個產品和工具,真正實現了優化的端到端的 SOA 服務快速應用,大大加快了企業業務流程從設計,分析,優化到上線部署的時間。該功能使業務人員在定義好環境和服務以後,不需要依賴 IT 人員開發工作,能夠完成建模和部署的過程,以完成業務流程的驗證。

本篇文章將通過一個典型的客戶訂單處理業務流程的案例來具體介紹使用者是如何一步一步通過 Modeler 直接部署業務流程到 WPS 上進行測試執行的。主要分如下三個步驟來介紹直接部署過程的主要環節。

1.流程和環境準備。使用者用 Modeler 建立流程後,執行工具的驗證功能來確保流程符合直接部署的條件。IT 人員建立執行時環境,執行環境可以包括了 WPS,Monitor , Business Space,WSRR 等多個產品。IT 人員安裝好環境以後將配置 XML 檔案匯入業務人員使用的 Modeler 去指定直接部署中的執行時伺服器。IT 人員還可以對流程中一些自動化任務通過 Web Service實現以在執行時被呼叫。

2.直接部署執行。業務人員在 Modeler 中對流程進行直接部署操作。流程會直接部署到配置檔案中指定的各個伺服器上去。業務人員能通過登入業務空間瀏覽器去觸發流程的執行。業務人員通過它能夠對流程進行除錯和測試執行,監控流程的執行狀況。當流程執行遇到問題的時候,業務人員可以很方便的通過點選按鈕將相關的流程狀態資訊和日誌打包傳送給 IT 人員協助解決。

3.監控模型的定義和部署。Modeler 定義的關鍵業務指標 (KPI) 和業務度量值 (Metric) 從 Modeler V6.2 開始也可以直接部署到 Monitor 伺服器上。使用者在直接部署以後,登入 Business Space 以後可以直接檢視執行時這些業務度量的值了。管理員根據業務使用者在過程執行時希望監控的物件,配置各個儀表板檢視。

本文所引用的客戶訂單處理流程是一個以客戶網路提交購物訂單觸發的業務流程。根據客戶的訂單型別分為查詢、購買和取消三個業務處理分支。其中,登入子流程中會呼叫身份驗證(CheckAuthority)這個提前已經部署好的網路服務。本示例使用 Modeler 建成的主業務流程圖如下圖2所示。


圖 2. 文中所引用訂單處理業務主流程圖

環境準備

為了讓業務人員能夠把業務模型直接部署在伺服器上進行測試,IT 人員需要配合準備如下類似於圖 3 的執行時環境。


圖 3. Modeler 直接部署流程測試的執行時環境

在圖 3 的環境中,192.168.0.1 安裝有 Modeler,供業務人員進行建模及測試等操作。

192.168.0.2 安裝有 WPS 及 Monitor 的執行時測試環境,用來執行及監控業務流程。

192.168.0.3 為 WSRR 伺服器,用來註冊 Web 服務,分類及動態查詢(可選)。

192.168.0.4 為應用伺服器,執行流程中可能需要呼叫的 Web 服務(可選)。

下面對搭建及使用該環境的過程進行詳細說明。

安裝 WPS 及 Monitor 執行時伺服器

在安裝 WPS 及 Monitor 的執行時測試環境時,有兩種選擇:

  • 安裝 WID 的整合測試環境及 Monitor 工具包。

使用預設選項將 WID 及 Monitor 工具包安裝在同一目錄下,然後安裝“WID安裝目錄/wid/Util下”的 TestController.ear 包。安裝完成後,整合測試環境中包含 WPS 及 Monitor 兩個 Server ,啟動 Monitor Server。

  • 安裝單獨的 WPS 伺服器及 Monitor 伺服器

使用預設選項將 WPS 及 Monitor 安裝在同一Profile中,除安裝 TestController 外掛外,還需要下載並安裝 CompTest Runtimes 外掛包到“WPS 安裝目錄 \plugins”下,然後啟動 Server。

安裝應用伺服器並部署 Web 服務

安裝好 WPS 和 Monitor 的環境,IT 人員還需要安裝一臺應用伺服器用來部署流程中呼叫 Web 服務。IT 人員將開發好的 Web 服務部署到裝好的 WAS 上。例如,Login 子流程中 CheckAuthority 服務執行在應用伺服器上,對外訪問的地址為如圖 3 中所示。在流程中如果需要使用該 Web 服務時,可以通過 Modeler 的 WSDL 檔案匯入功能,將 Web 服務及其所用業務物件匯入到 Modeler 中,在建模時將該其當作一個建模元素使用。將該業務流程部署測試後,測試環境會根據 WSDL 中包含的 Endpoint 資訊直接去相應應用伺服器呼叫該服務。

另外,使用者也可以不採用這種直接 WSDL 匯入去呼叫 Web 服務,而是利用產品 WebSphere Service Registry and Repository(WSRR)來查詢並引入服務分類標識( Classification )的方法。後一種方法對業務人員來說更加方便,也易於對流程維護。

通過 WSRR 呼叫 Web 服務

使用者要在 Modeler 中通過 WSRR 來呼叫服務,首先安裝並配置 WSRR 伺服器分類系統。具體步驟如下所示:

1. 首先要在 WSRR 伺服器上建立分類系統。通過 http://192.168.0.3:9081/ServiceRegistry/ 登入到 WSRR 伺服器的 Configuration 檢視,選擇 Classification Systems,新建分類系統,輸入URI,Name 和 Comments 等資訊。

2. 在該分類系統中建立層級結構的分類器,如圖 4 所示:


圖 4. 在 WSRR 伺服器上建立分類系統及分類器

3. 切換到 User 檢視,選擇 Service Documents-> Load Documents,匯入 Web 服務的 WSDL 檔案。

4. 在 Service MetaData->WSDL->Ports 中選擇匯入的 WSDL 檔案對應的 Port,通過增加 Classification 將匯入的 WSDL 檔案與之前所建的分類器對應起來,如圖 5 所示。


圖 5. WSDL 檔案的訪問埠與 WSRR 系統分類器繫結

5. 在 WID 整合測試環境中加入 WSRR 地址。通過 https://9.186.118.200:9044/ibm/console/ 訪問測試環境的管理控制檯,在 Service Integration-> WSRR Definitions下,新建一個 WSRR 連結,在 Connection Properties 中輸入 WSRR 的訪問地址。

6. 在 Modeler 建模的時候,通過匯入選項“WebSphere Service Registry and Repository classification system”把 WSRR 系統中各種分類器匯入至 Modeler ,流程的各個任務可以在屬性檢視中新增分類器,從而將不同的服務繫結到不同任務。流程部署後,測試環境會根據分類器到 WSRR 中尋找合適的 Web 服務,並且呼叫找到的第一個 Web 服務。

將 Modeler 中定義的角色和測試伺服器中的使用者組繫結

業務人員在利用 Modeler 建模時,會使用不同角色的人處理不同的任務,這些角色對應測試環境中的不同使用者組,為了將二者繫結起來,需要在 Modeler 定義好角色之後,選中該工程,右鍵選擇“Websphere people directory role”匯出 ProjectName.rmf 檔案,並在檔案中通過 UniqueName 和 GroupName 欄位將二者聯絡起來。比如,



表示 Modeler 中的角色 Customer 與測試環境中的使用者組 WPS Customer 相對應。

將環境配置檔案交給業務人員使用

IT 人員在準備好如上環境後,編寫包括伺服器訪問地址和埠資訊等在內的配置檔案 ConfigurationFile.xml,並將剛剛生成的 ProjectName.rmf 檔案填入到其中的“memberMapping”欄位,然後將該配置檔案和 rmf 檔案打包在同一資料夾中交給業務人員。


清單 1. 直接部署配置檔案模版


admin/admin, 
you need to change the ip address and port number before use this config file


	 

	
	
	

接部署的執行

準備好環境之後,業務人員需要在 Modeler 和該測試環境之間建立聯絡,這一聯絡就是通過本文環境準備部分生成的配置檔案 ConfigurationFile.xml 來實現的。


圖 6. 新增 Server

在 Modeler 中,在主選單 Window->Show View 中開啟伺服器檢視,選擇 Test Servers,通過右鍵選單啟用Add Server 對話方塊,選擇 ConfigurationFile.xml,將直接部署的 Server 新增至 Modeler,如圖 6 所示。釋出到對應 Server 中的所有流程都會被顯示在 Modeler 的 Server View 中。

當測試環境準備好後,使用者僅需點選幾次滑鼠就可以輕鬆地將流程釋出到伺服器,然後在測試環境(瀏覽器)中啟動,執行和檢測每一個活動的輸出狀態。測試環境支援 IE6,IE7,FireFox2,FireFox3 四種瀏覽器。


圖 7. 測試選單

在 Project Tree 中,選擇要測試的流程,在右鍵選單中選擇 Test on Sever ,如圖 7 所示, Modeler 啟動釋出功能。Modeler 打包被測流程及其依賴流程的相關資訊,然後傳輸至測試環境(WPS, Monitor Server),並將釋出進度及過程中的伺服器狀態顯示在圖 8 所示對話方塊中。


圖 8. 釋出流程

釋出過程結束後,出現圖 9 所示的對話方塊提示使用者隨後會切換到測試環境(瀏覽器)。選擇 Testing Instructions 按鈕,可以獲得更加詳細的指導,這一設計可以幫助首次使用該功能的使用者更容易的使用。選擇 OK 鈕,Modeler 自動啟動系統預設瀏覽器,進入測試環境。


圖 9. 切換至測試環境

測試環境是基於 WebSphere 業務空間(Business Space)產品架構,業務空間為測試環境提供了訪問控制等功能。接下來使用釋出流程的使用者登入測試環境,如圖 10 所示。


圖 10. 測試環境登入

業務空間的頁面是基於 Web 2.0 技術開發的的介面元件(Widget)所組成的。登入後所看到的流程測試頁面包含 10 個 Widget,按功能可將它們分為三個部分,這三部分從上到下依次排列。第一部分包含 4 個 Widget,使用者可在這一部分參與及影響流程執行。


圖 11. 測試環境_啟動流程

如圖 11 所示,左上 Start Process Instance Widget 顯示所有本次釋出的流程,在這裡可以啟動選定流程的例項。右上 Enter Data Into Form. Widget 整合的 Lotus Form. Viewer 顯示 Form. 供使用者進行資料輸入,是流程中所有人工任務(Human Task)的輸入操作區。


圖 12. 測試環境_人工任務

如圖 12 所示,左下 Claim Available Tasks Widget 顯示了流程執行中可供操作的人工任務,這些人工任務只對其在建模階段設定的主使用者(Primary Owner)是可見的。在人工任務被接受但卻沒有被完成的狀態下,會被顯示在右下 Work on Tasks Widget 中。

第二部分包含了兩個 Widget,使用者可在這一部分獲得流程執行資訊。如圖 13 所示,上方 Process Execution Widget 顯示了當前被測試流程的圖形化資訊。在這裡,除了可以看到完整的流程圖,還可以直觀的得到流程的測試程式資訊,已執行完成的區域被標記為橘黃色,正在執行的為藍色。


圖 13. 測試環境_流程圖

如圖 14 所示,下方 Process Execution Trace and Data Values Widget 以數狀結構顯示執行過程中每一個輸入輸出資訊。


圖 14. 測試環境_日誌

以上介結的兩部分資料及操作都只對應著 WPS 伺服器,但是,如果在 Modeler 中,業務流程還包含業務度量資訊,並且在環境準備中也已搭建 Monitor 伺服器,那麼還會有第三部分的介面元件顯示在測試環境中,第三部分將在本文以下的指標監控章節中進行詳盡的介紹。

指標監控

在 Modeler V6.2 中,業務度量可以隨流程同步通過直接部署的功能快速釋出到 Monitor Server 上。使用者在使用業務空間(Business Space)進行業務流程的除錯過程中,可以實時地在 Business Space 中看到 Modeler 中定義的例項度量值(Instance Metric),關鍵業務指標(Key Performance Indicator, KPI)以及聚集度量值(Aggregate Metric)。

使用者可用多種方法,根據需要定義出需要實時監測的業務度量。在 WPS 模式下,Modeler 能夠通過內建的驗證規則告訴使用者直接部署功能不支援的業務度量型別和錯誤的業務度量定義。同時包含警告的度量定義將不會被部署到 Monitor Server 上去,也無法在 Business Space 的頁面中看到對應監測值。Modeler 支援的業務度量型別的定義有:

  1. 通過預定義模板定義例項度量值或使用已有的例項度量值計算出新的例項度量。
  2. 在業務度量對話方塊中新增基於例項度量值的 KPI 或使用已有 KPI 計算出新的 KPI 值。
  3. 在業務度量檢視的 Monitored Values 部分直接新增預定義的聚集度量值或直接新增基於例項度量值的聚集度量值。

下面分別介紹這三種業務度量的定義方法。

1. 如圖 15 所示,使用者可以在流程編輯器中的 Task, Human Task,Process,Business Rule,While Loop 以及 Global Service 等節點上直接通過右鍵選單建立預定義的業務度量值。可選的預定義的業務度量列表會根據流程中節點的不同而不一樣。當預定義的例項度量值不能滿足使用者全面的業務效能考察需求時,使用者可以定義介面的 Instance Metric Calculation Details 部分提供的功能使用表示式擴充套件例項度量值的計算範圍。


圖 15. 預定義業務度量定義

2. 使用者可以在業務度量對話方塊中新增基於例項度量值的 KPI。根據指定的 KPI 的型別,數字(Number)或持續時間(Duration),使用者可以選擇具體的例項度量值和相應的計算函式完成對 KPI 的定義。如圖 16 所示,對於完整的 KPI 的定義,使用者還可以根據需求,新增範圍列表,警報,收集時段和 KPI 資料過濾。這些定義的內容也會影響直接部署之後,在 Monitor Server 端監控的 KPI 資料的結果和 Business Space 展示的內容。對於 KPI,使用者還可以通過構建表示式的方式在已有的 KPI 的基礎上計算出新的 KPI 。


圖 16. 使用例項度量定義 KPI

3. 使用者可以在監控檢視下的 Monitored Values 頁面裡使用勾選的方式,方便地定義流程中某一個分支結點的不同分支的流轉百分比的聚集度量值。此時,Modeler 會根據勾選的具體一個分支,在業務度量的列表中自動生成對應的一個例項度量值和一個聚集度量值,如圖 17 所示。這一類度量值的圖示與其他業務度量的圖示不同,用以標示該度量值是由於 Monitored Values 部分的需求自動生成的。使用者可以根據已有的例項度量值,定義自己所需的聚集度量值。同時,也可以根據例項度量值,定義出聚集度量值要展現的多個維度(Dimension)資訊。


圖 17. 自動生成的聚集度量值

與上文介紹的 Business Space 流程測試環境中的第一、二部分相對應的,在直接部署完成後流程測試環境的第三部分,可以看到對應的 Monitor Widget。這些 Widget 分別展示了所監控的例項度量值,KPI 和聚集度量值,如圖 18 所示。


圖 18. Business Space 中的 Monitor Widget

使用者也可以通過每個 Widget 提供的配置功能,自定義 Widget 的顯示資料內容和顯示方式。例如:對於例項度量值,使用者可以選擇檢視具體的業務資料的內容,如圖 19 所示;對於 KPI 的監控,使用者可以選擇使用儀表板的方式取代預設軸線的方式進行展示;對於聚集度量值的監控,使用者可以選擇是否檢視資料表,是否檢視直方圖,並能夠在直方圖的 X 軸上右鍵選擇聚合和展開對某一維度空間進行檢視。


圖 19. 定製例項度量 Widget 的顯示內容

對於沒有及時重新整理的資料,使用者需要展開 Widget 邊框右上角的控制按鈕所包含的選單,從中選擇重新整理以更新 Monitor Server 所監控的資料。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-582712/,如需轉載,請註明出處,否則將追究法律責任。

相關文章