工具向导:使用 RAS 创建服务模型
此工具向导描述了使用 Rational Software Architect 创建一个简单服务模型的步骤。
工具:Rational Software Architect
关系
相关元素
主要描述

用途

此工具向导中的步骤与相应任务中的那些步骤相匹配。我们使用 标记 Rational Software Architect(RSA)联机帮助中主题的链接。

概述

此工具向导描述了使用 RSA 创建一个简单服务模型的步骤。此工具向导中所述的软件服务的 UML 概要文件和模板模型可能未安装在较早版本的 RSA 中。 IBM developerWorks 上提供了一个包含这些项目以及安装说明的软件包可供下载。

在本工具向导中执行以下步骤:

开发体系结构概述 

创建新的建模项目

此步骤还将创建一个服务设计模型,如果完成将跳至步骤 3。

  1. 从 RSA 菜单中,选择“文件 --> 新建 --> 项目”。
  2. 在出现的向导中,选择“建模”文件夹,然后从树中选择“UML 项目”。如果在树中看不到这些元素,请选中该树下方的“显示所有向导”复选框。 选择“下一步”按钮。
  3. 将您的项目命名为诸如“my.first.servicemodel.project”之类的名称,然后选择“下一步”按钮。
  4. 从模型模板列表中,选择“服务设计模型”,然后选择“下一步”按钮。
  5. 当出现您可以参考的项目列表时,选择“完成”按钮。

更多关于创建新项目的信息,请参阅 Rational Rose 联机帮助中的主题“状态过渡”。

创建新的服务设计模型

如果您已经具有建模项目,则此步骤将向您的项目添加一个服务设计模型。

  1. 选择要添加服务设计模型的项目。
  2. 从 RSA 菜单中,选择“文件 --> 新建 --> 其他”。
  3. 在出现的向导中,选择“建模”文件夹,然后从树中选择“UML 模型”。如果在树中看不到这些元素,请选中该树下方的“显示所有向导”复选框。 选择“下一步”按钮。
  4. 从模型模板列表中选择“服务设计模型”,然后为您的模型选择一个新名称(如果希望)。 选择“完成”按钮。

从模型库为您的服务创建消息

  1. 在名为“消息视图”的包中,创建一个名为“客户”的新类。
  2. 另行创建一个名为“地址”的类。
  3. 创建“客户”与“地址”的聚集关联。
  4. 打开名为“可复用设计元素”的模型库,在按下 Ctrl 键的情况下将 <<消息>> 类拖入消息视图包中。
  5. 右键单击刚才在消息视图中创建的类,然后选择“查找/替换...”。
    1. 在对话框的“查找内容”文本框中,输入文本“${service.message}”。
    2. 选择“替换”按钮。
    3. 在对话框的“替换为”文本框中,输入文本“CreateCustomer”。
    4. 选择“确定”。
  6. 将新消息类拖动到带有 Customer 和 Address 的类图上,并添加从 CreateCustomer 到 Customer 的聚集关联。
  7. 在按住 Ctrl 键的情况下将另一个 <<消息>> 类拖动到消息视图包中,然后使用“查找/替换”对话框将其重命名为“UpdateCustomerAddress”。
  8. 将新消息类拖动到类图上,并添加从 UpdateCustomerAddress 到 Address 的聚集关联。

创建新服务和服务提供者

  1. 在按住 Ctrl 键的同时将 <<服务提供者>> 组件拖动到服务视图包中,然后使用上面所述的“查找/替换”技术将其重命名为“CustomerInfo”(在此例中,“查找内容”文本为“${service}”)。
  2. 创建的实际元素为:
    1. 一个名为“CustomerInfoProvider”的组件,它具有一个内嵌的组合结构图。
    2. 一个名为“ICustomerInfo”且构造型为 <<服务规范>> 的接口,并包含一个活动图。
    3. 一个名为 CustomerInfo 且构造型为 <<服务>> 的端口,类型为 ICustomerInfo。
  3. 为名为“createCustomer”的 ICustomerInfo 添加一个操作,并添加一个类型为前面所创建的 CreateCustomer 消息的参数。
  4. 添加另一个名为“updateCustomerAddress”的操作,并添加一个类型为前面所创建的 UpdateCustomerAddress 消息的参数。

创建服务分区

  1. 遵循上述指示信息另行创建一个服务,但将其命名为“AccountMgmt”(在此情况下无需添加操作)。
  2. 在按住 Ctrl 键的同时将 <<服务分区>> 节点拖动到协作视图包中,然后使用上面所述的“查找/替换”技术将其重命名为“Back Office”。 在本例中,“查找内容”文本为“${partition}”。
  3. 当提示您选择现有元素时,打开内嵌在分区中的结构图并向该图添加两个部件,然后选择目前已创建的那两个服务提供者。
  4. 执行此操作后,不仅会使这两个部件具有类型,而且会使它们显示与服务提供者关联的端口和接口。
  5. 要在两个服务之间创建服务通道,请从工具箱中选择“接口”,然后连接至两个端口。
    1. 构造接口 <<服务通道>>。
    2. 在属性视图中选择“高级”选项卡,然后将绑定设置为“RMI”。

要创建严格分区并且只显现 AccountMgmt 服务,请遵循以下附加步骤。

  1. 在“模型浏览器”中右键单击“分区”,然后添加一个新端口。
  2. 为该端口指定名称,并将其构造型设置为 <<服务网关>>。
  3. 在属性视图中,将“端口类型”设置为 IAccountMgmt 服务规范。
  4. 打开前面所创建的组合结构图,验证新的端口是否显示在该图中。
  5. 创建一个从服务网关到 AccountMgmt 服务的 <<服务通道>>。