| <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 目錄下找到相應的描述文件。
| 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 是一個基於 Eclipse 的 RCP 產品,可以通過繪製 UML 圖形來實現對服務生命周期的定製。下面將結合具體的業務實例對這一過程進行介紹。
用戶場景:
客戶需要註冊公司內部所使用的 MQ 服務,從而實現服務的標準化,集中統一管理,以及運行時的動態查找。每一個 MQ 服務需要關聯到一個 XSD 文檔,用於描述消息的格式。該 MQ 服務的生命周期包含三個狀態:已創建,上線,下線。上線表示服務可用,下線表示服務不可用,已創建表示服務還處於開發部署階段。同時規定沒有綁定 XSD 文檔的 MQ 服務將不能變更為上線狀態。這一規定可以通過監管策略來實現。
用 WSRR Studio 實現上述業務場景,包含如下四步:
1. 創建業務模型
2. 創建生命周期
3. 綁定生命周期及創建監管策略
4. 導入到 WSRR
打開 WSRR Studio,
創建一個和 WSRR Server 相同版本的 profile project,以 WSRR8.0 為例,如下圖所示:
右鍵點擊剛創建完的 project, 選擇 NewWSRR Business Model, 詳細的創建過程在之前的文章裏面已經有介紹,創建出來的業務模型如下圖所示:
在創建的過程中,可以設置屬性是否必須有值,以及屬性的默認值。這些通過 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 將他們關聯起來。如下圖所示:
目前該圖中的狀態轉換是自動轉換,需要在 transition 中加入 trigger event,將他變為人為控制的轉換。選中 transition,然後在 Triggers Tab 裏面添加 trigger,類型為 Signal Event。
點擊 ok 按鈕,默認會創建出名字是 signal1 的 signal event,可以在左側的導航樹中展開生命周期的定義,找到並選中剛創建出來的 singal event,然後在屬性裏面修改名字,如
圖 11
所示。例如將 signal1 改為 MQPublish。
重複上述步驟,在 Online 和 Offline 之間的狀態轉換上加入名字為 MQRetire 的 signal。
以下文章點擊率最高
Loading…



