人人IT網

人人IT網

當前位置: 主頁 > 服務器軟件 > Websphere >

zRules Execution Server 拓撲結構簡介

時間:2012-12-07 00:06來源:Internet 作者:Internet 點擊:
引言 Webshpere Decision Server for z/OS 是繼 Websphere ILOG Rules For COBOL 支持在 z/OS 上實現業務規則管理系統應用之

引言

Webshpere Decision Server for z/OS 是繼 Websphere ILOG Rules For COBOL 支持在 z/OS 上實現業務規則管理系統應用之後,進一步完善了業務規則管理系統在 z/OS 上的實現和應用。從引入 COBOL 執行對象模型並为之生成對應的 Java 執行對象模型 (XOM),到 COBOL 程序直接本地調用業務規則執行服務器去執行業務規則集,Webshpere Decision Server for z/OS 为您提供了一個真正端到端的基於 z/OS 的業務規則管理系統。

本文將为您介紹 Webshpere Decision Server for z/OS 產品套件中新推出的業務規則執行服務器 zRule Execution Server, 以及如何配置它的拓撲結構,從而實現業務規則執行服務在 z/OS 上的高可靠性。


zRules Execution Server (zRES) 簡介

zRES 是 IBM 在 Webshpere Decision Server for z/OS 產品套件中新推出的基於 z/OS 的業務規則執行服務器,與傳統的 ILOG 業務規則執行服務器(Rule Execution Server)不同,它並不運行在任何 Java 應用服務器上,而是作为 z/OS 上的一個子系統,直接運行在 z/OS 的地址空間。zRES 同時提供 COBOL 數據結構到 JAVA 對象的轉換服務,從而使得 COBOL 程序能夠直接調用基於 Java 的業務規則引擎去執行業務規則集。

當 zRES 安裝配置成功後,根據配置 zRES 子系統時定義的子系統 ID(如 HBRA),會有兩個開始任務 HBRAMSTR 和 HBRACNSL 生成,其中 HBRAMSTR 開始任務會在 zRES 子系統的 Master 地址空間启動一個 JVM,加載 zRES 規則執行服務器。如果規則執行服務器有自己的規則控制台 RES Console,HBRAMSTR 任務會調用 HBRACNSL 開始任務 , 在 zRES 子系統的 Console 地址空間启動一個 JVM, 加載規則控制台 RES Console, 並建立它們之間的關聯。

如下圖 1 所示,zRES 由規則執行服務器 zRES Server 和規則管理控制台 RES Console 構成,它們分別運行於同一個 z/OS LPAR 的獨立地址空間。zRES Server 組件在子系統 Master 地址空間(HBRAMSTR)運行一個與本地程序相交互的中間層和一個用來加載規則執行組件 XU(execution unit) 的 JVM, RES Console 組件在 Console 地址空間 (HBRACNSL) 運行一個獨立的 JVM 加載 Jetty web 容器,並在 Jetty web 容器上運行規則管理組件 RES Console. 通過在不同的地址空間启用 JVM 來加載規則執行組件和規則集管理組件,可以讓我們有針對性的为規則執行組件創建相應的拓撲結構來保證規則執行服務的高可靠性。


圖 1. zRES 架構圖
圖 1. zRES 架構圖

Decision Server for z/OS 提供了三個 COBOL API: HBRCONN、 HBRRULE、 HBRDISC,用來支持 COBOL 應用和業務規則執行服務器的交互。

  • HBRCONN: 建立 COBOL 應用和 zRES 規則執行服務器的連接
  • HBRRULE: 調用規則執行服務,將 COBOL 數據結構映射成 Java 對象,並調用 ILOG 規則執行引擎去執行業務規則,並將執行結果從 Java 對象映射成 COBOL 數據,返還調用程序。
  • HBRDISC: 斷開與 zRES 規則執行服務器的連接。

zRES 的配置基本概念

zRES 的配置是通過修改 zRES 子系統數據集 SHBRPARM 中的配置文件來完成的。如下圖 2 所示,一個 zRES 子系統的 SHBRPARM 數據集包含 12 個成員文件,其中 HBRINST 成員提供了用於初始化子系統實例的 JCL 替換變量,在配置 zRES 子系統實例前,用戶需要修改 HBRINST 成員,指定子系統的具體配置,如子系統 ID,產品安裝路徑,規則控制台 RES Console 的 Web 端口,規則控制台 RES Console 與規則執行組件 XU 的通信端口,規則集持久化方式及路徑等 , 在提交初始化子系統實例 JCL 後,會根據 HBRINST 成員的變量設置,初始化子系統並自動配置圖 2 所示的其他 11 個子系統配置文件。而 zRES 的不同拓撲結構,正是通過設置這些配置文件來完成的。


圖 2. zRES 子系統配置數據集
圖 2. zRES 子系統配置數據集

diag_param_dataset.jpg


zRES 的拓撲結構簡介及配置

在生產環境中,zRES 提供了四種拓撲結構,單一服務器,共享同一控制台的服務器組,XU 運行於單一 CICS region 的單一服務器,XU 運行於多個 CICS region 的單一服務器。

本文接下來將为您介紹每一種拓撲結構及如何通過配置 SHBRPARM 數據集的配置文件去實現相應的拓撲結構。

單一服務器結構

單一服務器拓撲結構由一個單一的規則執行服務器和規則控制台組成,整個拓撲結構只包含一個 zRES 子系統,這也是 zRES 最基本的拓撲結構,通常用來支持批處理任務對業務規則的執行調用。針對這種拓撲結構,需要如下配置 zRES 子系統數據集 SHBRPARM

  • HBRMSTR 配置文件指定 zRES 服務器的子系統 ID, 子系統的 USS 工作目錄 , 服務器的運行模式,是否启動自己的控制台,以及用於加載規則執行組件 XU 的 JVM 配置。
  • HBRCMMN 配置文件指定規則控制台 RES Console 與規則執行組件 XU 的通信端口。
  • HBRPSIST 配置文件指定規則集的持久化方式及數據庫的配置。
  • HBRCNSL 配置文件指定規則控制台 RES Console 的 web 端口和用於加載 web 容器的 JVM 配置。

圖 3. 單一服務器拓撲結構
圖 3. 單一服務器拓撲結構

共享同一控制台的服務器組結構

共享同一控制台的服務器組拓撲結構由多個 zRES 子系統共同組成一個服務器組,並且這些子系統共享同一個規則控制台 RES Console。這種拓撲結構中的各個子系統分別運行在各自的地址空間,從而實現 zRES 在支持批處理任務時,在 z/OS 地址空間級的高可靠性。當一個 zRES 子系統出錯時,批處理任務會自動切換到服務器組中的下一個可用的 zRES 子系統繼續執行業務規則調用。針對這種拓撲結構,需要如下配置服務器組中每個子系統的配置數據集 SHBRPARM

  • 每個子系統的配置數據集 SHBRPARM 應包含相同 HBRPSIST 和 HBRCMMN 配置文件,以確保各個子系統使用同样的規則存儲庫和同样的規則管理控制台配置。
  • 每個子系統的 HBRMSTR 配置文件指定各個子系統的相關配置,但只能有一個子系統(如 HBR1)可以在 HBRMSTR 配置文件中启用 RES Console, 其他子系統的 HBRMSTR 配置文件不启用 RES Console, 與 HBR1 子系統共用同一個 RES Console。
  • 每個子系統的 HBRBATCH 配置文件都定義了一個 HBRSSIDLIST 變量,用來指定服務器組包含的 zRES 子系統 ID 及執行順序。

圖 4. 共享同一控制台的服務器組拓撲結構
圖 4. 共享同一控制台的服務器組拓撲結構

XU 運行於單一 CICS region 的單一服務器

XU 運行於單一 CICS region 的單一服務器拓撲結構由一個單一 zRES 子系統構成,與前面提到的單一服務器拓撲結構不同的是,用於加載規則執行組件 XU 的 JVM 不是運行在 zRES 子系統的 Master 地址空間,而是運行在 CICS 子系統管理的 JVM Server 地址空間,從而更好的支持了 CICS 應用的業務規則執行服務。

針對這種拓撲結構,需要如下配置 zRES 子系統數據集 SHBRPARM

  • HBRMSTR 配置文件中指定服務器的運行模式为 NORULE, 這样 zRES 子系統將不會在 Master 地址空間加載用於運行規則執行組件 XU 的 JVM。
  • HBRCICSJ 配置文件中指定是否在 CICS 下運行規則執行組件 XU 和規則執行組件 XU 的 USS 工作目錄。
  • HBRCICSD 配置文件中指定規則集存儲庫的 DB2 配置。

圖 5. XU 運行於單一 CICS region 的單一服務器拓撲結構
圖 5. XU 運行於單一 CICS region 的單一服務器拓撲結構

XU 運行於多個 CICS Region 上的單一服務器結構

XU 運行於多個 CICS region 的單一服務器拓撲結構同样由一個單一 zRES 子系統構成,與 XU 運行於單一 CICS region 拓撲結構不同的是,zRES 子系統支持在多個 CICS Region 的 JVM Server 上運行規則執行組件 XU,因此支持多個 CICS Region 上的業務規則執行服務,從而在 CICS Region 級別上實現了業務規則調用的高可靠性。

配置 XU 運行於多個 CICS region 的拓撲結構與配置 XU 運行於單一 CICS region 的拓撲結構大體相同,只是針對每一個支持的 CICS Region, 都需要一個類似於 CICSJ 的配置文件(如圖 6 所示的 CICS2,CICS3), 用來指定運行於這個 CICS Region JVM Server 上的規則執行組件 XU 的 USS 工作目錄。


圖 6. XU 運行於多個 CICS Region JVM 上的單一服務器結構
圖 6.XU 運行於多個 CICS Region JVM 上的單一服務器結構

小結

ZRES 通過將業務規則執行組件引入 z/OS,實現了業務規則的執行與 z/OS 應用的分離 , 而它提供的拓撲結構也很好的支持了批處理應用和 CICS 應用對業務規則的調用 , 並保證了業務規則調用在 z/OS 上的高可靠性。


参考資料

學習

獲得產品和技術

討論

關於作者

趙學良 ,IBM 中國軟件開發中心軟件工程師。自 2008 年起,任職於 Websphere Operational Decision Management QA 團隊。

頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
驗證碼:點擊我更換圖片
欄目列表
推薦內容