<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…