内容


在 IBM Rational Software Architect 中创建一个部署拓扑图

Comments

部署拓扑图能够展示方案的软件和硬件是怎样部署和配置的。该图不但提供了一个强大的交流工具,以在基层的团队成员之间共享关键的部署信息,而且这种交流工具能够使不同的团队之间共享信息。

本文展示了怎样使用 IBM® Rational® Software Architect ,来创建部署拓扑图。其中的范例基于一个虚构的 Microsoft® .NET Web 程序,而不是 Java™ Enterprise Edition(JEE)Web 程序,因为 .NET 图展示了怎样创建和使用可再用的拓扑单元。它并没有显示在一个典型的 JEE Web 程序场景中。但是,在完成本文的学习后,您将能够为 JEE 或者 .NET Web 程序的物理部署建立模型。

前提条件

本文的作者,假设您对拓扑建模已经很熟悉。如果您没有这方面的知识,那么我们建议您花费五分钟时间,来观看“使用拓扑编辑器管理部署结构 ”视频,或者完成“使用拓扑编辑器指南规划部署 ”的学习,这两个参考文件都包含在 IBM® Rational® Software Architect 的 Help 系统中。

作者使用 IBM ® Rational® Software Architect for WebSphere® Software,Version 7.5.4,以创建拓扑范例,并使用应用到 Rational Software Architect Standard Edition Version 7.5.4 相同的指导。但是,其中的操作步骤和屏幕截图与 7.5 版本中的早期版有稍微的不同。尽管如此,您还是可以将这些步骤和屏幕截图应用到早期的版本中。

背景

本文介绍了怎样为虚拟的 JKE Furniture Catalog Web 程序建模。作为背景,Furniture Catalog 是一种使用 IBM® DB2® 数据库的 .NET Web 程序。本例中创建的部署拓扑记录了这些程序是怎样部署在产品环境中的。

正常情况下,程序部署团队开始创建逻辑模型,然后将逻辑模型和物理模型集合起来。但是,该文只关注创建部署拓扑。可以确定的是首先您需要一个部署拓扑图,但是解释怎样决定模型或者拓扑的层次超出了本文的讨论范围。同时,文中涵盖了怎样创建部署拓扑图的机理。

创建物理拓扑图

Rational Software Architect 拓扑图模型需要存储在一个项目中。作为一条通用的规则,拓扑图与方案的 UML 模型存储在一起。

  1. 通过切换到 Deployment 视角,并从主菜单中选择 File>New>Topology,来创建一个拓扑图。

图 1 包含了用于 JKE Furniture Catalog 的部署拓扑图的值。您需要完成四个区域以及值:

  • 名字区:com.jke.furniture.deployment
  • 种类:Deployment
  • 契约:Make All Units Private By Default
  • 向配置板添加拓扑图:Unchecked
图 1. New Topology 窗口
创建新拓扑图源文件的表格
创建新拓扑图源文件的表格

通常来说,Namespace 区域使用 Java ™ 包结构。该拓扑图是一种部署的拓扑图;因此,包的名字以 deployment 结尾。这种起名规则并不需要,但是出于稳定性的考虑还是很有用的。

Contract 区域被设置为“Make All Units Private By Default”,因为在创建部署拓扑图时,这是最佳的操作方式。部署拓扑图是一种低层次的拓扑图,通过将 Contract 区域设置为“Make All Units Private,”,Rational Software Architect 将会将所有的验证信息显示为错误而不是警告。

注意:
警告作为错误显示,因为警告可以通过将拓扑图导入到另一个拓扑图来得到解决,这个问题可以通过后一个拓扑图来来得到解决。但是,如果单元被标为“私人”,那么所有的问题必须在当前的拓扑图中得到解决,因为私人的单元在由另一个拓扑图导入时不能被访问。使用拓扑图上的“私人”政策,默认条件下会标记所有的私人单元,将警告转化为错误。

  1. 点击 Finish。
  2. 通过在右上角点击 X,来阅读“Welcome to the Topology Editor”快速启动 Help 然后忽略 Help 文本。

然后您会得到一个空白的部署拓扑图,该拓扑图显示了单个的拓扑图,这张图的名字与拓扑图模型的名字相同。

注意:
在硬盘上,图表文件与拓扑图文件是分开的。当您在使用版本控制系统时,您需要将两个文件都放置到版本控制系统中。

为 DB2 数据库建模

JKE Furniture Catalog 程序从名为 FURNDB 的 DB2 数据库中得到所有的信息。JKE 在 DB2 版本 8 中得到了标准化;因此,包含的拓扑图单元模板可以用于为数据库的部署建模。

有两种方法可以向拓扑图添加新单元。

  • 您可以从配置板中选择单元模板(DB2 数据库模板位于配置板的 Configurations 折叠项中,DB2 栈之下)。
  • 或者您可以使用 CTRL+T 键盘快捷方式。

通常来说,CTRL+T 选项是最快的方式,因为您可以输入单元的名字。这样可以帮您节省寻找配置板中单元的时间。

  1. 为了创建 DB2 数据库,您可以点击新创建的拓扑图然后点击 CTRL+T
  2. 当下拉窗口出现时,您可以输入*database(星号是一个通配符搜索字符)。
  3. 输入之后,对话框将会筛选单元。选择 DB2 Database 单元(见于图 2)。
图 2. CTRL+T 下拉菜单
Quick Palette 弹出菜单
Quick Palette 弹出菜单
  1. 在拓扑图中放置 DB2 单元之后,通过将鼠标移到单元上并点击铅笔状的图标,来将单元重命名为 FURNDB 。在弹出窗口中,保持 Link with Database Name 为选中状态。

提示:
通常来说,在重命名单元时,保持 Link 为选中的 XXXX 属性状态。

现在您已经有了一个单元,它代表了存储数据的实际数据库。如果您对使用 DB2 很有经验,那么您就会知道数据库需要寄主在 DB2 上的实例机上。如果您不知道的话,Rational Software Architect 通过报告主机的错误来通知您出现的问题。您可以通过将鼠标停留在左下角红色的 X上,来看到这个主机的错误。

提示:
默认条件下位于中下部视角的 Topology Status 视图,是一个非常有用的视图,因为它显示出了所有图表的问题。该视图可以帮助您修复出现的错误,来成功地为拓扑图建模。

  1. 通过使用配置板或者使用 CTRL+T 选项,来创建一个 DB2 8 实例单元,并将单元命名为 FURNINST
  2. 在将单元重命名为 FURNINST 之后,将 FURNDB 单元拖拉到 FURNINST 单元上。

拖拉操作将会使 FURDB 单元寄主于 FURNINST 单元上。主机会修复 FURNDB 单元上的错误,而主机关系意味着数据库会在 DB2 实例内运行。

注意新创建的 FURNINST 单元会出现一个错误,说 DB2 Instance 需要位于 DB2 System 安装文件中。修复这个问题是非常容易的:

  1. 通过使用配置板或者 CTRL+T 键,来简单地创建一个 DB2 8 系统单元,通过将 FURNINST 单元拖拉到新创建的 DB2 8 系统单元上,来创建寄主关系。

在创建 DB2 8 系统,并为系统上的 FURNINST DB2 实例创建主机之后,您的拓扑图现在看起来应该如图 3 所示。

图 3. 寄主在 FURNDB 数据库上的 DB2 安装文件
屏幕片段

不像 FURNDB 数据库那样,当这个数据库中寄主于 FURNINST DB2 数据库时,唯一的问题会得到解决,这里的 FURNINST DB2 实例仍然有尚未解决的问题。但是,此时这种问题还是可以接受的,因为在部署拓扑图进一步记录在 DB2 安装文件之后,问题自然会得到解决。

数据库寄主于 Linux 服务器上

前面的章节记录了寄主于 FURNDB 数据库上 DB2 8 安装文件的拓扑图。本章节记录了物理服务器,该服务器寄主于前面章节中所记录的 DB2 安装文件中。但是,本段准备首先记录服务器,这样服务器就可以寄主 DB2 安装文件了。

记录服务器

JKE Furniture 会在 x86 Linux® 双核 CPUs 的服务器上运行它们的 DB2 安装文件。

  1. 在拓扑图上,通过使用 x86 Server unit 模板来为 x86 服务器创建单元(该模板位于配置板的 Hardware 折叠项中)。JKE 使用 IBM® System x®,3450 服务器,所以将 x86 服务器单元重命名为 IBM x3450

注意:
服务器单元应该根据硬件模型名来进行命名,而不是根据它的主机名命名,因为主机名将会在操作系统单元中得到命名。

默认条件下,Rational Software Architect 将 x86 服务器记录为单个 CPU;因为,新创建的单元需要得到更新,以反映以下事实: JKE Furniture 将其当做一个双 CPU 的机器。CPU 的数量存储在单元 x86 服务器功能的属性中。

  1. 为了更新属性,您可以选择拓扑图上的 IBM x3450 单元,然后切换至 Properties 视图。
  2. 在 Properties 视图中,选择 Capabilities 项。因为 x86 服务器单元只有一个名为 x86 服务器的功能,所以功能的属性默认条件下会显示出来。
  3. 将 CPU Count 属性的值设置为 2

图 4 强调了以下步骤的序列:

  1. X86 Server > IBM x3450
  2. Properties tab
  3. Capabilities
  4. X86 Server
  5. CPU Count: [enter] 2
图 4. 更新服务器 CPU 数量的导航路径
显示选择,分为五步
显示选择,分为五步
  1. 默认条件下,JKE Furniture 在数据库服务器中使用 4 GBs 的内存。这样在更新 CPU Count 属性之后,拉下属性的窗格,并将 Memory Size 属性更改为 4 GB。

一般来说,大多数的人想要使用 CPU 数量和服务器的内存容量。从 V7.5.1 Rational Software Architect 开始,以让属性显示在图表中。

  1. 为了在拓扑图上显示这些属性,您可以在拓扑图上选择 IBM x3450 unit,然后从菜单中选择 Diagram>Unit Details.
  2. 在 Show Unit Presentation Details 窗口中,CPU Count 和 Memory Size 属性旁边放一个检查符号,如图 5 所示。
图 5. Show Unit Presentation Details 视图
Unit Presentation Details: CPU 数量,内存大小
Unit Presentation Details: CPU 数量,内存大小
  1. 在点击 OK 之后,图表将会显示如图 6 所示服务器单元的属性。
图 6. 拓扑图图表显示了服务器的属性
两个属性的屏幕截图

现在既然您已经记录了物理服务器,所以就该记录服务器上安装的操作系统了。

记录操作系统

JKE Furniture 运行 SUSE Linux.

  1. 在拓扑图上创建一个 SUSE Linux Server 9 单元(使用 CTRL+T 选项可能会更加容易)。
  2. 给新创建的单元命名。在弹出菜单中,保持 Link with Hostname:URI 区域为选中状态。在 Hostname 区域中,输入 furn-db.jke.com。保持 URI 区域为空白状态。

注意:
URI 属性用于识别 UNIX® 服务器硬盘 URI 的位置;我们所假设的在这个虚拟的 JKE Furniture 场景中是不太重要的。

新创建的操作系统需要位于一个服务器上。

  1. 通过将操作系统拖拉到服务器上,来将 furn-db.jke.com 操作系统单元寄主在 IBM Systemx 3450 服务器。

furn-db.jke.com 服务器栈仍然显示为错误,将您的鼠标停留在栈的红色 Xs 上,将会显示出错误来自根用户账户单元。根用户账户需要拥有它自己的密码集;因此,记录根用户账户并不重要,我们将会从拓扑图中将其删除。

注意:
除了删除根用户单元,另外一个选项就是将根用户账户单元标记为公共可编辑状态,这将会将错误转化为警告。将单元标记为公共可编辑状态,意味着单元值可以通过导入的拓扑图来得到变更。

  1. 选中一个根用户账户然后使用 CTRL+DEL,来从操作系统中将其删除。这个键盘敲击顺序会从拓扑图模型中删除根用户。

注意:
简单地使用 DEL 键将只会从图表中删除单元,而不是从拓扑图模型中删除。

服务器单元现在拥有零错误。但是,查看 Topology Status 视图将会揭示有一个主机单元错误。

  1. 在 Topology Status 视图中,展开 Host Units 类别。
  2. 选择 Unit ("DB2 System") must be hosted (Operating System) 错误。注意,当您这样做时,您有四个选项可以进行快速修复。
  3. 通过双击下面来修复问题:
    Host "DB2 System" on "furn-db.jke.com" on IBM x3450

在 Rational Software Architect 修复这个问题之后,图表看起来应该如图 7 所示。

图 7. 位于 furn-db.jke.com 上的 DB2 系统
拓扑图:furn-db.jke.com 上的 DB2 系统

图表中的双行箭头是一种提示:寄主于另一个单元上的单元。

DB2 栈上仍然有一系列需要处理的错误。

  1. 点击 FURNINST 单元上的红色 X
  2. 选择 No admin users found in OS Host(FURNIST) 错误,双击 Create DB2 Instance Admin User 快速修复。
  3. 在 Create DB2 Instance Admin User 窗口中,DB2 Instance Admin User ID 的区域中输入 db2furn,然后把密码设置的尽量简单,例如 abc123
  4. 点击 OK。注意 Rational Software Architect 在操作系统中创建了一个用户账户,并在 FURNINST DB2 实例和新创建的 db2furn 用户账户之间创建一个附属连接。

移到另一个错误上,停留在 DB2 System 的红色 X 上,意味着 classpath 条目已经设置成 Windows 路径。

  1. 用一个前缀更改这样的 classpath 值,例如/opt/IBM/db2v8.2/SQLLIB/,并为每一个错误使用快速修复 。

注意:
通过“错误和快速修复“对话框修复问题的选择,是选择 DB2 System 单元,然后在 Properties 视图的单元不同功能上更新 classpath 属性。这与您对物理服务器的 CPU Count 和 Memory Size 属性所做的更改操作类似。

在解决所有的 classpath 错误之后,拓扑图就实现了零错误。

  1. 出于稳定性的考虑,将 DB2 System 单元拖拉到 furn-db.jke.com 单元之上。

这将会更新图表,这样单元的所有属性将会在树视图中显示。树形结构在显示大量信息的同时,能够保持图表的简洁。在将 DB2 系统拖拉到 furn-db.jke.com 单元并重新设定大小之后,图表看起来应该如图 8 所示。

图 8.寄主于 Linux 操作系统上 DB2 数据库上的 IBM System x 3450 服务器
拓扑图以及树视图中的单元
拓扑图以及树视图中的单元

为 ASP.NET Web 程序创建单元

总会存在 Rational Software Architect 没有提供拓扑图模板的程序和技术域。例如,版本 7.5.4 并没有包含对 Microsoft® .NET 程序的拓扑建模模板。

JKE Furniture Catalog 是一个 Microsoft ASP.NET 程序。因此,支持 .NET 系统的拓扑单元必须得到创建。这将会花费一点时间,但是 Rational Software Architect 使再使用和共享单元变得更加容易。

本段关注需要处理 ASP.NET 平台的新拓扑图单元的创建。稍后的章节将会解释怎样让单元变得可再用。

JKE Furniture 寄主于它的 Microsoft® Windows® 2003 服务器上的 ASP.NET 程序。这意味着 JKE Furniture Catalog 将会是在 Microsoft® Internet Information Server(IIS) 6.0 上运行的 ASP.NET 2.0 程序。

创建 IIS 6.0 单元

  1. 为了创建 IIS 6.0 单元,您可以通过使用 CTRL+T 或者配置板,来在拓扑图图表上创建一个新的 Software Install 单元。
  2. 通过点击铅笔图标,来编辑单元的名字。在弹出的菜单中,选中 Link with Product Name:Version String:Release:Major Version:Modifier。
  3. 用以下值来设置新的弹出值:
    • 产品名字:Internet Information Server
    • 版本字符串:6.0
    • Major 版本:6
图 9. Software Install 弹出窗口
含有值集的窗口
含有值集的窗口
  1. 默认条件下,新创建的单元叫做“SoftwareInstallUnit”。为了更改单元的名字,您可以选中新的单元,然后选中 Diagram>Unit Style 菜单项。
  2. 在 Unit Style 窗口中,将 Unit 标题中的值更改为 Internet Information Server 6.0,如图 10 所示,然后点击 OK
图 10. Unit Style 窗口
  带有 Unit Title 区域值集的 Unit Style 窗口
带有 Unit Title 区域值集的 Unit Style 窗口

现在单元精确地反应了外边的软件;从图表的可见视角来看,单元就是正确的了。但是,使用 Rational Software Architect 进行类别建模,单元知道什么是它们的需求以及功能。因此,接下来的步骤涉及到了记录 IIS 6.0 需求和功能。

记录 IIS 需求和功能

将鼠标移到 IIS 6.0 单元的红色 X 上,揭示单元有一个位于操作系统的需求。尽管该需求在通常意义上讲是正确的,注意对 Linux 服务器上的主机 IIS 6.0 会有快速修复。这种快速修复并不真正有效的,这样单元的主机需求将会得到精简,以反映 IIS 需要寄主于 WindowsO/S 系统上(于是,有一些没有多少经验的人就不会计划将 IIS 寄主在 Linux 上了)。

  1. 通过选择 IIS 6.0 单元,并在 Properties 视图中选择 Requirements 项,来更新操作系统需求。
  2. 选择 Host on an Operating System 需求并点击 Type Selector 按钮(Type 属性区域的右边,带有省略号,或者三个句话)。
  3. 在 Set Requirement Type 对话框中,选择 os.WindowsOperatingSystem 类型。

图 1 显示了过程的屏幕截图,并强调显示了 Type Selector 按钮。

图 11. 将 Operating System 需求更新为 Windows
显示描述的选择
显示描述的选择

图 11 的大图

  1. 在更新需求的 Type 属性之后,更新 Caption 属性以表达“Host on a Windows Operating System”。

将鼠标停留在单元的红色 X 上,以显示更新错误的信息,而 Linux 服务器上主机 IIS 6.0 的快速修复并没有提供。

IIS 6.0 需求可以得到进一步的精简,以反映操作系统的支持版本,并在同一台机器上安装另一个 IIS 实例。但是,本文并没有深入分析这些细节。拥有 Windows O/S 的需求对于本文已经足够了。

需要更新的 IIS 6.0 单元的下一个部分,是单元的功能。IIS 6.0 寄主于 ASP.NET 2.0 Web 程序。为了记录与 IIS 一起运行的 JKE Furniture Catalog 程序,IIS 6.0 单元需要记录它的功能以寄主 ASP.NET 程序。

  1. 假设 IIS 6.0 单元在图表中仍然是选中的,在 Properties 视图中切换至 Capabilities 项。
  2. 通过使用 Add a new capability by using the Property 视图的 Add Capability 按钮来添加一个新的功能,在 Add Capability 窗口中,选择 core.Capability,如图 12 所示。
图 12. 添加一个核心功能
显示选择的屏幕截图
显示选择的屏幕截图

图 12 的大图

  1. 在创建功能之后,将功能的 Caption 设置成“ASP.NET Runtime”,并从 Link 类型下拉区域中选择 hosting
  2. 为了让这项功能独一无二,这样其他的功能可以需要这项功能,您可以点击 Stereotypes 子项,并添加名为 ASP.NET Runtime 的 Stereotype。

图 13 显示了需要的导航步骤。

图 13. 向功能添加一个构造型
显示选择
显示选择

图 13 的大图

  1. 通过点击 Property 视图的 Customize Attributes 按钮,来在添加构造型之后,回到 Main 子项并添加一个属性。
  2. 将新属性命名为 Version,如图 14 所示。
  3. 确定保持属性的类型为 String。
图 14. Customize Attributes 窗口
Customize Attributes 视图中的 Navigation 路径
Customize Attributes 视图中的 Navigation 路径

图 14 的大图

  1. 在您点击 Customize Attributes 对话框的 OK 按钮,功能窗格会为新创建的属性显示条目区域。
  2. 将 Version 属性的值设置为 2.0

在您完成以上的更新之后,ASP.NET 运行时属性看起来如图 15 所示。

图 15. ASP.NET 运行时功能
Properties 项细节信息
Properties 项细节信息

图 15 的大图

像需求一样,功能会得到进一步的记录,但是功能现在已经得到了足够的记录,以便能够记录 JKE Furniture Catalog 程序。

为 JKE Web 程序创建一个单元

  1. 通过使用 CTRL+T 或者配置板,来创建一个新的 Software Install 单元,通过点击铅笔图标,并将名字链接为产品名,就像前面您对 IIS 所做的那样,将其命名为 JKE Furniture Catalog Web App
  2. 对 Internet Information Server 6.0 单元使用相同的步骤,将单元标题更新为 ASP.NET 2.0 Web Component

您的图表看起来如图 16 所示。

图 16. 为 JKE Furniture 类别新创建的 Web app
拓扑图的屏幕截图
拓扑图的屏幕截图

JKE Web App 的外观现在就是合适的了。但是,它的需求需要得到更改,以反映程序的运行时需求。

  1. 在图表中选择 JKE Furniture Catalog Web App
  2. 然后在 Properties 视图中,选择 Requirements 项。

单元的主机需求需要得到更新,以反映 ASP.NET 运行时需求。

  1. 将“Host on an Operating System" requirement”的选项更改为 Host on an ASP.NET Runtime
  2. 将 Type 属性更改为 core.Capability

通常来说,Web 程序现在部分需要 IIS 6.0 单元,因为需求类型匹配 IIS 6.0 单元的功能类型(核心功能)。但是,主机需求需要使用限制因素来进行进一步的精简。

  1. 停留在“Host on an ASP.NET Runtime”需求上,点击 Constraints 子项。
  2. 通过使用 Add Constraint 按钮,来添加一个 Stereotype 限制因素。
  3. 用以下的值来设置新的约束:
    • Caption:Requires ASP.NET Runtime
    • Includes:ASP.NET Runtime
  4. 通过使用 Add Constraint 按钮,来添加 Equals 限制因素的第二个限制因素。
  5. 用下述值设置新的约束:
    • Attribute:Version
    • Caption:.NET 2.0
    • Value:2.0

这些约束与 IIS 6.0 单元的值相同。图 17 强调显示了需要的鼠标点击并显示了约束。

图 17. ASP.NET 运行时约束
带有选择的属性视图
带有选择的属性视图

图 17 的大图

现在您已经满足了需求,确保 ASP.NET Web 构件寄主在 ISS 服务器(单元)上。

记录数据库需求

JKE 程序同样使用来自 FURNDB 数据库的数据,这样下一步就是记录这个需求。

您可以手动创建相应的需求以及功能,就像您对 ASP.NET 运行时所做的那样,但是创建相应的附件还有一种更加简单的方式。

提示:
在 Preferences 的 Topology Editor章节中,您可以配置 Rational Software Architect 以自动创建并匹配单个需求与功能之间的附件。选中 Create a link automatically when only one match exists 区域。推荐您选中这个区域,以处理 Version 7.5.4 中已知的缺陷。

  1. 在 Palette 视图中,选择 Dependency Link 工具,并从 JKE Furniture Web App 单元拖拉一条链接到 FURNDB 单元上。Rational Software Architect 将会报告说没有这样的匹配,但是在您释放鼠标按钮之后,Dependency Link 对话框仍然会出现。
  2. 在 Source Unit(s)列中,选中 JKE Furniture Catalog Web App 单元,并点击 Create Both 按钮。

图 18 显示了导航的路径。

图 18. 创建一个附件链接
Dependency 连接菜单
Dependency 连接菜单
  1. 在创建匹配的需求和功能之后,在左边选择新创建的需求并点击 Edit Properties 按钮。
  2. 将需求重命名为 Requires FURNDB ,并为 FURNDB 添加一个构造型约束。
  3. 然后在右边选择功能并点击 Edit Properties 按钮,来重命名功能。功能的 Properties 对话框会与需求对话框出现在相同的位置。将功能重命名为 Provides FURNDB,然后在 Create Dependency Link 对话框上点击 OK

在完成这个对话框之后,图表将会出现错误(见于图 19)。

图 19. 出现附件错误的 Web 程序
带有错误拓扑图的屏幕截图
带有错误拓扑图的屏幕截图
  1. 点击附件链接的错误,并选择这个快速修复:
    向功能“Provides FURNDB”添加丢失的构造型

JKE Furniture Catalog Web 程序的需求现在会得到全部的记录。

  1. 将您的鼠标停留在单元的红色 X 上,将会只显示出一个错误。使用快速修复,在 Internet Information Server 6.0 上寄主 JKE Furniture Catalog Web app 。

在您点击快速修复之后,图表现在看起来如图 20 所示。

图 20. 寄主在 ISS 6.0 并依赖 FURNDB 的 JKE Furniture Catalog Web app
拓扑图,箭头指向 FURNDB
拓扑图,箭头指向 FURNDB

寄主在 Windows 服务器上的 ASP.NET 服务器

现在在拓扑图上您已经记录了目录程序。最后的一步是记录它将会寄主在 Windows 服务器上,并在上面运行。

记录服务器及其操作系统的步骤,在 Host the database on a Linux server 章节中有所描述。因此,本章节将会只简洁地解释这些步骤;查看早一些的章节以得到细节信息。

JKE Furniture 在物理服务器上运行它的 Web 程序。物理服务器相似于数据库服务器。

  1. 创建一个 x86 Server 单元并将其命名为 IBM x3450。将机器的 CPU Count 设置为2,而它的内存是 2GB,然后更新单元的陈述,这样两个属性就会显示在图表上。
  2. 接下来,创建一个 Windows Server 2003 单元,并将它的主机名属性设置为“furn-www.jke.com”。Windows Server 单元的 Administrator 用户拥有一个错误,因为密码尚未设置;但是,因为用户帐户对于该拓扑图来说并不重要,所以从 Windows 服务器单元中删除所有的用户帐户以及用户组单元。
  3. 在删除用户以及用户组之后,将 furn-www.jke.com 单元拖拉到最近创建的 IBM x3450 服务器上。
  4. 然后将 Internet Information Server 6.0单元拖拉到 WindowsServer 2003单元上。
  5. 在上面的操作之后,将 the JKE Furniture Catalog Web App 单元拖拉到 Internet Information Server 6.0 单元上。

此时,您的部署拓扑图已经实现了零错误,也就是完成了。最后的图表应该如图 21 所示。

图 21. 完成程序物理操作性模型
最终拓扑图的屏幕截图
最终拓扑图的屏幕截图

为 ASP.NET 服务器单元创建一个 Palette 项

部署拓扑图现在已经完成了。记录 ASP.NET 单元功能和需求的步骤,有一点费时,因为软件并没有包含 .NET 域的模板。但是,Rational Software Architect 使得使用可再用单元,以及共享配置板条目变得更加容易。

使用单元的最简单方式,是右键点击单元,并从下拉菜单中选择 Add to Palette 菜单项。但是,使用并共享单元的更好方式,是使用模板拓扑图。模板拓扑图更好,因为模板拓扑图可以存储,并在版本控制系统或者 IBM® Rational® Asset Manager 中,来得到存储和共享。

在本章节中,您可以创建两个模板拓扑结构:一个为 Internet Information Server 6.0 单元创建,一个为 ASP.NET 2.0 Web Component 单元创建。每一个模板都会产生其他人可以再使用的配置板项。

创建一个模板

  1. 如果您想创建一个模板,那么您可以从 File>New>Topology 菜单项中创建一个新的 Topology 。图 22 在 New Topology 窗口中显示了值。有一些需要设置的关键值:
    • 名字:MicrosoftInternetInformationServer6
    • 源:FurnitureCatalogModels/templates
    • 名字区:com.jke.templates
    • 类型:Template Design
    • 向模板项添加拓扑图:Checked
  2. 然后点击 Next
图 22. 创建配置板条目的 New Topology 窗口
新模板拓扑图的值
新模板拓扑图的值
  1. 图 23 为 Add Topology to Palette 页面显示了最终值和图标。该页面需要设置的关键值是:
    • 标签:Internet Information Server 6
    • 栈:Microsoft
    • 维持可视化的结构:Checked
  2. 点击 Finish
图 23. 向 Palette 屏幕添加拓扑图
选择标签,描述,图标,折叠项以及栈
选择标签,描述,图标,折叠项以及栈

如果 Welcome to the Topology EditorHelp 文本出现在您的图表中,通过在右上角点击 X 来跳过该对话框。

创建一个模板拓扑图

模板拓扑图基本上可以像正常的拓扑图那样处理。关键的不同点,在于当有人从模板中使用配置板时,会创建一个保存整个图表 UI 格式的拷贝,并将其拷贝到其他的图表中。

早期创建的 ProductionDeployment 拓扑图有一些本模板需要的单元。

  1. 切换至 ProductionDeployment 图,并通过选中它来复制 Internet Information Server 6.0 单元。然后右键点击鼠标,从下拉菜单中选择 Edit>Copy
  2. 回到 Microsoft Internet Information Server 6 图表,右键点击,并从下拉菜单中,选择 Edit>Paste

复制操作会创建 Internet Information Server 6.0 单元和 JKE Furniture Catalog Web App 单元。既然它是为 IIS 准备的模板,所以 IIS 模板并没有 JKE Furniture Catalog Web App 单元。

  1. 选择 Web 程序的单元,并使用 CTRL+DEL,来从该模板拓扑图中删除掉。

在 Web 程序的单元得到删除之后,图表会拥有 Internet Information Server 6.0 的单个单元,如 所示。

注意:
Rational Software Architect V7.5.1 有一个模板的漏洞,以点号码结尾(在 V7.5.4 中得到了修复)。因此,为了简化配置板项的使用,您可以将单元重命名为 Internet Information Server 6

图 24. Internet Information Server 6 模板拓扑图
模板拓扑图的屏幕截图
模板拓扑图的屏幕截图

为 ASP.NET Web Component 创建一个模板拓扑图,非常相似于以下步骤。

  1. 创建一个使用以下关键字的新拓扑图:
    • 名字:MicrosoftASPDotNET2WebComponent
    • 源:FurnitureCatalogModels/templates
    • 名字区:com.jke.templates
    • 类型:Template Design
    • 向配置项添加拓扑图:Checked
    • 标签:ASP.NET 2.0 Web Component
    • 栈:Microsoft
    • 维持可视化的结构:Checked
  2. 再一次,ProductionDeployment 拓扑图拥有该拓扑图所需的单元,所以切换至 Production Deployment 图,从图表复制 JKE Furniture Catalog Web Component 单元,并将其粘贴到 Microsoft ASP Dot Net2 Web Component 图表中。

利用该单元的最大差异,是需要重命名的单元,以及需要调整的需求。

  1. 将单元重命名为 ASP.NET 2.0 Web Component
  2. 在重命名单元之后,切换至 Properties 视图的 Requirements 项。单元仍然有对 FURNDB 数据库的附件。因为该模板配置项快要创建通用的 ASP.NET 2.0 Web 构件,通过使用 Properties 视图的 Delete Requirement 按钮,来删除 FURNDB 需求。

在作出以上更改之后,模板拓扑图现在看起来如图 25 所示。

图 25. ASP.NET 2.0 Web Component 模板拓扑图
模板拓扑图的屏幕截图

模板现在已经可以使用了,而配置板项可以通过配置板的 Local Extensions 折叠项中得到。如果需要做一些改进工作,那么这些模板可以马上进行再利用和更改。记住,如果模板得到了升级,那么早期模板创建的单元并没有随之得到升级。

如果您没有完成上面的所有步骤,那么您可以下载这篇文章的 Rational Software Architect 范例项目(见于下载)。

总结

部署拓扑图获取了方案的软件和硬件部署和配置的信息。部署拓扑图对于程序开发团队以及基层团队的共享信息,是一种非常有用的工具。

通过使用 Rational Software Architect 中包含的模板,可以快速创建一个部署拓扑图。当拓扑图没有得到提供时,创建部署拓扑图会花更多的时间;但是,您可以轻松使用和共享这些域,这样未来的物理拓扑图将会得到快速的创建。


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=456279
ArticleTitle=在 IBM Rational Software Architect 中创建一个部署拓扑图
publish-date=12112009