WSRR Studio V8.0 應用系列,第 2 部分 使用 Studio 實現 WSRR 生命周期管理2

<sacl:state displayName=”Business Capability Identified” name=”CapabilityIdentified”>

<sacl:description> …………… </sacl:description>

</sacl:state>

<sacl:transition name=”fromCapabilityIdentified_toCharterReview”>

<sacl:sourceState>CapabilityIdentified</sacl:sourceState>

<sacl:operation name=”ProposeCharter” portType=”_:CapabilityLifecycle”/>

<sacl:targetState>CharterReview</sacl:targetState>

</sacl:transition>

上面的片段給出了服務生命周期狀態及狀態之間轉換的定義,例如可以通過名為 ProposeCharter 的操作,將服務狀態從 CapabilityIdentified 變為 CharterReview。

OWL 文件,包含兩種,一種用於描述業務模型,一種用於描述分類系統,服務生命周期對應的分類系統可以在 Configuration Profile Files/OWL Content/Classifications 目錄下找到。

<owl:Class rdf:about=”&GEPLifecycles;CapabilityIdentified”>

         <rdfs:subClassOf rdf:resource=”&GEPLifecycles;CapabilityLifecycle”/>

</owl:Class>

<owl:Class rdf:about=”&GEPLifecycles;ProposeCharter”>

         <rdfs:subClassOf rdf:resource=”&GEPLifecycles;Transition”/>

</owl:Class>

上面的片段給出了服務生命周期狀態以及相關轉換的 OWL 定義。這些定義將會作為元數據信息添加到被治理的對象上,可以通過查詢相應的分類定義來獲取目前服務處於哪個狀態的信息。

Policy 文件,
用於描述狀態轉換所需要滿足的限制條件。可以在 Configuration Profile Files/POLICY 目錄下找到相應的描述文件。


圖 6. policy 定義

XML error: The image is not displayed because the width is greater than the maximum of 580 pixels. Please decrease the image width.

上面的片段給出
圖 4
所對應的校驗定義,從上面的片段可以看出,當 business service 對象,做名為 ProposeCharter 的狀態轉換操作時,名為”gep63_charter“的關係必須至少有一個關聯的對象。

上述的配置文件可以通過 WSRR Studio 進行圖形化的定製,不需要人手工編輯這些配置文件。下面將介紹 WSRR Studio 相關的功能。


回頁首

WSRR Studio 服務生命周期定製介紹

WSRR Studio 是一個基於 Eclipse 的 RCP 產品,可以通過繪製 UML 圖形來實現對服務生命周期的定製。下面將結合具體的業務實例對這一過程進行介紹。

用戶場景:

客戶需要註冊公司內部所使用的 MQ 服務,從而實現服務的標準化,集中統一管理,以及運行時的動態查找。每一個 MQ 服務需要關聯到一個 XSD 文檔,用於描述消息的格式。該 MQ 服務的生命周期包含三個狀態:已創建,上線,下線。上線表示服務可用,下線表示服務不可用,已創建表示服務還處於開發部署階段。同時規定沒有綁定 XSD 文檔的 MQ 服務將不能變更為上線狀態。這一規定可以通過監管策略來實現。

用 WSRR Studio 實現上述業務場景,包含如下四步:

1.    創建業務模型

2.    創建生命周期

3.    綁定生命周期及創建監管策略

4.    導入到 WSRR

創建業務模型

打開 WSRR Studio,
創建一個和 WSRR Server 相同版本的 profile project,以 WSRR8.0 為例,如下圖所示:


圖 7. 創建 Profile Project

右鍵點擊剛創建完的 project, 選擇 NewWSRR Business Model, 詳細的創建過程在之前的文章裡面已經有介紹,創建出來的業務模型如下圖所示:


圖 8. 創建業務模型

在創建的過程中,可以設置屬性是否必須有值,以及屬性的默認值。這些通過 General Tab 裡面的 Multiplicity 屬性和 Advanced Tab 裡面的 default value 來設置。在上面的業務模型中,MQService 的屬性除 QManager 以外,其他屬性都必須有值,其中 Host 的默認值是 localhost,Port 的默認值設置為 2424。XSDDocument 對象是已有對象,是從 XSD 模型裡面拖進來的。可以看到在 XSDDocument 對象的左上角有一個小圖標,它用以表示該對象是引用的其他模型裡面的對象。MQService 和 XSDDocument 之間通過關係 MessageType 關聯。

創建生命周期

右鍵點擊 project,選擇 NewWSRR Lifecycle Cycle, 輸入必要的信息,其中 name 的取值必須是一個 NC Name。點擊 finish,進入生命周期編輯視圖,Studio 默認創建出了 initial state 和 final state。
修改 initial state 的名字為 Created,
修改 final state 的名字為 Offline,
然後創建一個新的 state,名字為 Online,用 transition 將他們關聯起來。如下圖所示:


圖 9. 創建示例生命周期

目前該圖中的狀態轉換是自動轉換,需要在 transition 中加入 trigger event,將他變為人為控制的轉換。選中 transition,然後在 Triggers Tab 裡面添加 trigger,類型為 Signal Event。


圖 10. 創建 Signal event

點擊 ok 按鈕,默認會創建出名字是 signal1 的 signal event,可以在左側的導航樹中展開生命周期的定義,找到並選中剛創建出來的 singal event,然後在屬性裡面修改名字,如
圖 11
所示。例如將 signal1 改為 MQPublish。
重複上述步驟,在 Online 和 Offline 之間的狀態轉換上加入名字為 MQRetire 的 signal。


圖 11. 修改 signal 名字

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營