转自:http://www.ibm.com/developerworks/cn/rational/09/creatingphysicaltopologydiagramrsa/index.html
本文展示了,怎样使用 IBM® Rational® Software Architect 来创建一个部署拓扑图。在完成本文的学习之后,您将能够对 Java™ Enterprise Edition (JEE™)或者 Microsoft® .NET 的 Web 程序的物理部署进行建模。
部署拓扑图能够展示方案的软件和硬件是怎样部署和配置的。该图不但提供了一个强大的交流工具,以在基层的团队成员之间共享关键的部署信息,而且这种交流工具能够使不同的团队之间共享信息。
本文展示了怎样使用 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 模型存储在一起。
- 通过切换到 Deployment 视角,并从主菜单中选择 File>New>Topology,来创建一个拓扑图。
图 1 包含了用于 JKE Furniture Catalog 的部署拓扑图的值。您需要完成四个区域以及值:
- 名字区:com.jke.furniture.deployment
- 种类:Deployment
- 契约:Make All Units Private By Default
- 向配置板添加拓扑图:Unchecked
通常来说,Namespace 区域使用 Java ™ 包结构。该拓扑图是一种部署的拓扑图;因此,包的名字以 deployment 结尾。这种起名规则并不需要,但是出于稳定性的考虑还是很有用的。
Contract 区域被设置为“Make All Units Private By Default”,因为在创建部署拓扑图时,这是最佳的操作方式。部署拓扑图是一种低层次的拓扑图,通过将 Contract 区域设置为“Make All Units Private,”,Rational Software Architect 将会将所有的验证信息显示为错误而不是警告。
注意:
警告作为错误显示,因为警告可以通过将拓扑图导入到另一个拓扑图来得到解决,这个问题可以通过后一个拓扑图来来得到解决。但是,如果单元被标为“私人”,那么所有的问题必须在当前的拓扑图中得到解决,因为私人的单元在由另一个拓扑图导入时不能被访问。使用拓扑图上的“私人”政策,默认条件下会标记所有的私人单元,将警告转化为错误。
- 点击 Finish。
- 通过在右上角点击 X,来阅读“Welcome to the Topology Editor”快速启动 Help 然后忽略 Help 文本。
然后您会得到一个空白的部署拓扑图,该拓扑图显示了单个的拓扑图,这张图的名字与拓扑图模型的名字相同。
注意:
在硬盘上,图表文件与拓扑图文件是分开的。当您在使用版本控制系统时,您需要将两个文件都放置到版本控制系统中。
JKE Furniture Catalog 程序从名为 FURNDB 的 DB2 数据库中得到所有的信息。JKE 在 DB2 版本 8 中得到了标准化;因此,包含的拓扑图单元模板可以用于为数据库的部署建模。
有两种方法可以向拓扑图添加新单元。
- 您可以从配置板中选择单元模板(DB2 数据库模板位于配置板的 Configurations 折叠项中,DB2 栈之下)。
- 或者您可以使用 CTRL+T 键盘快捷方式。
通常来说,CTRL+T 选项是最快的方式,因为您可以输入单元的名字。这样可以帮您节省寻找配置板中单元的时间。
- 为了创建 DB2 数据库,您可以点击新创建的拓扑图然后点击 CTRL+T。
- 当下拉窗口出现时,您可以输入*database(星号是一个通配符搜索字符)。
- 输入之后,对话框将会筛选单元。选择 DB2 Database 单元(见于图 2)。
- 在拓扑图中放置 DB2 单元之后,通过将鼠标移到单元上并点击铅笔状的图标,来将单元重命名为 FURNDB 。在弹出窗口中,保持 Link with Database Name 为选中状态。
提示:
通常来说,在重命名单元时,保持 Link 为选中的 XXXX 属性状态。
现在您已经有了一个单元,它代表了存储数据的实际数据库。如果您对使用 DB2 很有经验,那么您就会知道数据库需要寄主在 DB2 上的实例机上。如果您不知道的话,Rational Software Architect 通过报告主机的错误来通知您出现的问题。您可以通过将鼠标停留在左下角红色的 X上,来看到这个主机的错误。
提示:
默认条件下位于中下部视角的 Topology Status 视图,是一个非常有用的视图,因为它显示出了所有图表的问题。该视图可以帮助您修复出现的错误,来成功地为拓扑图建模。
- 通过使用配置板或者使用 CTRL+T 选项,来创建一个 DB2 8 实例单元,并将单元命名为 FURNINST。
- 在将单元重命名为 FURNINST 之后,将 FURNDB 单元拖拉到 FURNINST 单元上。
拖拉操作将会使 FURDB 单元寄主于 FURNINST 单元上。主机会修复 FURNDB 单元上的错误,而主机关系意味着数据库会在 DB2 实例内运行。
注意新创建的 FURNINST 单元会出现一个错误,说 DB2 Instance 需要位于 DB2 System 安装文件中。修复这个问题是非常容易的:
- 通过使用配置板或者 CTRL+T 键,来简单地创建一个 DB2 8 系统单元,通过将 FURNINST 单元拖拉到新创建的 DB2 8 系统单元上,来创建寄主关系。
在创建 DB2 8 系统,并为系统上的 FURNINST DB2 实例创建主机之后,您的拓扑图现在看起来应该如图 3 所示。
图 3. 寄主在 FURNDB 数据库上的 DB2 安装文件
不像 FURNDB 数据库那样,当这个数据库中寄主于 FURNINST DB2 数据库时,唯一的问题会得到解决,这里的 FURNINST DB2 实例仍然有尚未解决的问题。但是,此时这种问题还是可以接受的,因为在部署拓扑图进一步记录在 DB2 安装文件之后,问题自然会得到解决。
前面的章节记录了寄主于 FURNDB 数据库上 DB2 8 安装文件的拓扑图。本章节记录了物理服务器,该服务器寄主于前面章节中所记录的 DB2 安装文件中。但是,本段准备首先记录服务器,这样服务器就可以寄主 DB2 安装文件了。
JKE Furniture 会在 x86 Linux® 双核 CPUs 的服务器上运行它们的 DB2 安装文件。
- 在拓扑图上,通过使用 x86 Server unit 模板来为 x86 服务器创建单元(该模板位于配置板的 Hardware 折叠项中)。JKE 使用 IBM® System x®,3450 服务器,所以将 x86 服务器单元重命名为 IBM x3450。
注意:
服务器单元应该根据硬件模型名来进行命名,而不是根据它的主机名命名,因为主机名将会在操作系统单元中得到命名。
默认条件下,Rational Software Architect 将 x86 服务器记录为单个 CPU;因为,新创建的单元需要得到更新,以反映以下事实: JKE Furniture 将其当做一个双 CPU 的机器。CPU 的数量存储在单元 x86 服务器功能的属性中。
- 为了更新属性,您可以选择拓扑图上的 IBM x3450 单元,然后切换至 Properties 视图。
- 在 Properties 视图中,选择 Capabilities 项。因为 x86 服务器单元只有一个名为 x86 服务器的功能,所以功能的属性默认条件下会显示出来。
- 将 CPU Count 属性的值设置为 2。
图 4 强调了以下步骤的序列:
- X86 Server > IBM x3450
- Properties tab
- Capabilities
- X86 Server
- CPU Count: [enter] 2
- 默认条件下,JKE Furniture 在数据库服务器中使用 4 GBs 的内存。这样在更新 CPU Count 属性之后,拉下属性的窗格,并将 Memory Size 属性更改为 4 GB。
一般来说,大多数的人想要使用 CPU 数量和服务器的内存容量。从 V7.5.1 Rational Software Architect 开始,以让属性显示在图表中。
- 为了在拓扑图上显示这些属性,您可以在拓扑图上选择 IBM x3450 unit,然后从菜单中选择 Diagram>Unit Details.。
- 在 Show Unit Presentation Details 窗口中,CPU Count 和 Memory Size 属性旁边放一个检查符号,如图 5 所示。
图 5. Show Unit Presentation Details 视图
- 在点击 OK 之后,图表将会显示如图 6 所示服务器单元的属性。
现在既然您已经记录了物理服务器,所以就该记录服务器上安装的操作系统了。
JKE Furniture 运行 SUSE Linux.
- 在拓扑图上创建一个 SUSE Linux Server 9 单元(使用 CTRL+T 选项可能会更加容易)。
- 给新创建的单元命名。在弹出菜单中,保持 Link with Hostname:URI 区域为选中状态。在 Hostname 区域中,输入 furn-db.jke.com。保持 URI 区域为空白状态。
注意:
URI 属性用于识别 UNIX® 服务器硬盘 URI 的位置;我们所假设的在这个虚拟的 JKE Furniture 场景中是不太重要的。
新创建的操作系统需要位于一个服务器上。
- 通过将操作系统拖拉到服务器上,来将 furn-db.jke.com 操作系统单元寄主在 IBM Systemx 3450 服务器。
furn-db.jke.com 服务器栈仍然显示为错误,将您的鼠标停留在栈的红色 Xs 上,将会显示出错误来自根用户账户单元。根用户账户需要拥有它自己的密码集;因此,记录根用户账户并不重要,我们将会从拓扑图中将其删除。
注意:
除了删除根用户单元,另外一个选项就是将根用户账户单元标记为公共可编辑状态,这将会将错误转化为警告。将单元标记为公共可编辑状态,意味着单元值可以通过导入的拓扑图来得到变更。
- 选中一个根用户账户然后使用 CTRL+DEL,来从操作系统中将其删除。这个键盘敲击顺序会从拓扑图模型中删除根用户。
注意:
简单地使用 DEL 键将只会从图表中删除单元,而不是从拓扑图模型中删除。
服务器单元现在拥有零错误。但是,查看 Topology Status 视图将会揭示有一个主机单元错误。
- 在 Topology Status 视图中,展开 Host Units 类别。
- 选择 Unit ("DB2 System") must be hosted (Operating System) 错误。注意,当您这样做时,您有四个选项可以进行快速修复。
- 通过双击下面来修复问题:
Host "DB2 System" on "furn-db.jke.com" on IBM x3450
在 Rational Software Architect 修复这个问题之后,图表看起来应该如图 7 所示。
图 7. 位于 furn-db.jke.com 上的 DB2 系统
图表中的双行箭头是一种提示:寄主于另一个单元上的单元。
DB2 栈上仍然有一系列需要处理的错误。
- 点击 FURNINST 单元上的红色 X。
- 选择 No admin users found in OS Host(FURNIST) 错误,双击 Create DB2 Instance Admin User 快速修复。
- 在 Create DB2 Instance Admin User 窗口中,DB2 Instance Admin User ID 的区域中输入 db2furn,然后把密码设置的尽量简单,例如 abc123。
- 点击 OK。注意 Rational Software Architect 在操作系统中创建了一个用户账户,并在 FURNINST DB2 实例和新创建的 db2furn 用户账户之间创建一个附属连接。
移到另一个错误上,停留在 DB2 System 的红色 X 上,意味着 classpath 条目已经设置成 Windows 路径。
- 用一个前缀更改这样的 classpath 值,例如/opt/IBM/db2v8.2/SQLLIB/,并为每一个错误使用快速修复 。
注意:
通过“错误和快速修复“对话框修复问题的选择,是选择 DB2 System 单元,然后在 Properties 视图的单元不同功能上更新 classpath 属性。这与您对物理服务器的 CPU Count 和 Memory Size 属性所做的更改操作类似。
在解决所有的 classpath 错误之后,拓扑图就实现了零错误。
- 出于稳定性的考虑,将 DB2 System 单元拖拉到 furn-db.jke.com 单元之上。
这将会更新图表,这样单元的所有属性将会在树视图中显示。树形结构在显示大量信息的同时,能够保持图表的简洁。在将 DB2 系统拖拉到 furn-db.jke.com 单元并重新设定大小之后,图表看起来应该如图 8 所示。
图 8.寄主于 Linux 操作系统上 DB2 数据库上的 IBM System x 3450 服务器
总会存在 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 单元,您可以通过使用 CTRL+T 或者配置板,来在拓扑图图表上创建一个新的 Software Install 单元。
- 通过点击铅笔图标,来编辑单元的名字。在弹出的菜单中,选中 Link with Product Name:Version String:Release:Major Version:Modifier。
- 用以下值来设置新的弹出值:
- 产品名字:Internet Information Server
- 版本字符串:6.0
- Major 版本:6
- 默认条件下,新创建的单元叫做“SoftwareInstallUnit”。为了更改单元的名字,您可以选中新的单元,然后选中 Diagram>Unit Style 菜单项。
- 在 Unit Style. 窗口中,将 Unit 标题中的值更改为 Internet Information Server 6.0,如图 10 所示,然后点击 OK。
现在单元精确地反应了外边的软件;从图表的可见视角来看,单元就是正确的了。但是,使用 Rational Software Architect 进行类别建模,单元知道什么是它们的需求以及功能。因此,接下来的步骤涉及到了记录 IIS 6.0 需求和功能。
将鼠标移到 IIS 6.0 单元的红色 X 上,揭示单元有一个位于操作系统的需求。尽管该需求在通常意义上讲是正确的,注意对 Linux 服务器上的主机 IIS 6.0 会有快速修复。这种快速修复并不真正有效的,这样单元的主机需求将会得到精简,以反映 IIS 需要寄主于 WindowsO/S 系统上(于是,有一些没有多少经验的人就不会计划将 IIS 寄主在 Linux 上了)。
- 通过选择 IIS 6.0 单元,并在 Properties 视图中选择 Requirements 项,来更新操作系统需求。
- 选择 Host on an Operating System 需求并点击 Type Selector 按钮(Type 属性区域的右边,带有省略号,或者三个句话)。
- 在 Set Requirement Type 对话框中,选择 os.WindowsOperatingSystem 类型。
图 1 显示了过程的屏幕截图,并强调显示了 Type Selector 按钮。
图 11. 将 Operating System 需求更新为 Windows
- 在更新需求的 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 程序。
- 假设 IIS 6.0 单元在图表中仍然是选中的,在 Properties 视图中切换至 Capabilities 项。
- 通过使用 Add a new capability by using the Property 视图的 Add Capability 按钮来添加一个新的功能,在 Add Capability 窗口中,选择 core.Capability,如图 12 所示。
- 在创建功能之后,将功能的 Caption 设置成“ASP.NET Runtime”,并从 Link 类型下拉区域中选择 hosting。
- 为了让这项功能独一无二,这样其他的功能可以需要这项功能,您可以点击 Stereotypes 子项,并添加名为 ASP.NET Runtime 的 Stereotype。
图 13 显示了需要的导航步骤。
- 通过点击 Property 视图的 Customize Attributes 按钮,来在添加构造型之后,回到 Main 子项并添加一个属性。
- 将新属性命名为 Version,如图 14 所示。
- 确定保持属性的类型为 String。
- 在您点击 Customize Attributes 对话框的 OK 按钮,功能窗格会为新创建的属性显示条目区域。
- 将 Version 属性的值设置为 2.0。
在您完成以上的更新之后,ASP.NET 运行时属性看起来如图 15 所示。
像需求一样,功能会得到进一步的记录,但是功能现在已经得到了足够的记录,以便能够记录 JKE Furniture Catalog 程序。
- 通过使用 CTRL+T 或者配置板,来创建一个新的 Software Install 单元,通过点击铅笔图标,并将名字链接为产品名,就像前面您对 IIS 所做的那样,将其命名为 JKE Furniture Catalog Web App。
- 对 Internet Information Server 6.0 单元使用相同的步骤,将单元标题更新为 ASP.NET 2.0 Web Component。
您的图表看起来如图 16 所示。
图 16. 为 JKE Furniture 类别新创建的 Web app
JKE Web App 的外观现在就是合适的了。但是,它的需求需要得到更改,以反映程序的运行时需求。
- 在图表中选择 JKE Furniture Catalog Web App。
- 然后在 Properties 视图中,选择 Requirements 项。
单元的主机需求需要得到更新,以反映 ASP.NET 运行时需求。
- 将“Host on an Operating System" requirement”的选项更改为 Host on an ASP.NET Runtime。
- 将 Type 属性更改为 core.Capability。
通常来说,Web 程序现在部分需要 IIS 6.0 单元,因为需求类型匹配 IIS 6.0 单元的功能类型(核心功能)。但是,主机需求需要使用限制因素来进行进一步的精简。
- 停留在“Host on an ASP.NET Runtime”需求上,点击 Constraints 子项。
- 通过使用 Add Constraint 按钮,来添加一个 Stereotype 限制因素。
- 用以下的值来设置新的约束:
- Caption:Requires ASP.NET Runtime
- Includes:ASP.NET Runtime
- 通过使用 Add Constraint 按钮,来添加 Equals 限制因素的第二个限制因素。
- 用下述值设置新的约束:
- Attribute:Version
- Caption:.NET 2.0
- Value:2.0
这些约束与 IIS 6.0 单元的值相同。图 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 中已知的缺陷。
- 在 Palette 视图中,选择 Dependency Link 工具,并从 JKE Furniture Web App 单元拖拉一条链接到 FURNDB 单元上。Rational Software Architect 将会报告说没有这样的匹配,但是在您释放鼠标按钮之后,Dependency Link 对话框仍然会出现。
- 在 Source Unit(s)列中,选中 JKE Furniture Catalog Web App 单元,并点击 Create Both 按钮。
图 18 显示了导航的路径。
- 在创建匹配的需求和功能之后,在左边选择新创建的需求并点击 Edit Properties 按钮。
- 将需求重命名为 Requires FURNDB ,并为 FURNDB 添加一个构造型约束。
- 然后在右边选择功能并点击 Edit Properties 按钮,来重命名功能。功能的 Properties 对话框会与需求对话框出现在相同的位置。将功能重命名为 Provides FURNDB,然后在 Create Dependency Link 对话框上点击 OK。
在完成这个对话框之后,图表将会出现错误(见于图 19)。
- 点击附件链接的错误,并选择这个快速修复:
向功能“Provides FURNDB”添加丢失的构造型
JKE Furniture Catalog Web 程序的需求现在会得到全部的记录。
- 将您的鼠标停留在单元的红色 X 上,将会只显示出一个错误。使用快速修复,在 Internet Information Server 6.0 上寄主 JKE Furniture Catalog Web app 。
在您点击快速修复之后,图表现在看起来如图 20 所示。
图 20. 寄主在 ISS 6.0 并依赖 FURNDB 的 JKE Furniture Catalog Web app
现在在拓扑图上您已经记录了目录程序。最后的一步是记录它将会寄主在 Windows 服务器上,并在上面运行。
记录服务器及其操作系统的步骤,在 Host the database on a Linux server 章节中有所描述。因此,本章节将会只简洁地解释这些步骤;查看早一些的章节以得到细节信息。
JKE Furniture 在物理服务器上运行它的 Web 程序。物理服务器相似于数据库服务器。
- 创建一个 x86 Server 单元并将其命名为 IBM x3450。将机器的 CPU Count 设置为2,而它的内存是 2GB,然后更新单元的陈述,这样两个属性就会显示在图表上。
- 接下来,创建一个 Windows Server 2003 单元,并将它的主机名属性设置为“furn-www.jke.com”。Windows Server 单元的 Administrator 用户拥有一个错误,因为密码尚未设置;但是,因为用户帐户对于该拓扑图来说并不重要,所以从 Windows 服务器单元中删除所有的用户帐户以及用户组单元。
- 在删除用户以及用户组之后,将 furn-www.jke.com 单元拖拉到最近创建的 IBM x3450 服务器上。
- 然后将 Internet Information Server 6.0单元拖拉到 WindowsServer 2003单元上。
- 在上面的操作之后,将 the JKE Furniture Catalog Web App 单元拖拉到 Internet Information Server 6.0 单元上。
此时,您的部署拓扑图已经实现了零错误,也就是完成了。最后的图表应该如图 21 所示。
部署拓扑图现在已经完成了。记录 ASP.NET 单元功能和需求的步骤,有一点费时,因为软件并没有包含 .NET 域的模板。但是,Rational Software Architect 使得使用可再用单元,以及共享配置板条目变得更加容易。
使用单元的最简单方式,是右键点击单元,并从下拉菜单中选择 Add to Palette 菜单项。但是,使用并共享单元的更好方式,是使用模板拓扑图。模板拓扑图更好,因为模板拓扑图可以存储,并在版本控制系统或者 IBM® Rational® Asset Manager 中,来得到存储和共享。
在本章节中,您可以创建两个模板拓扑结构:一个为 Internet Information Server 6.0 单元创建,一个为 ASP.NET 2.0 Web Component 单元创建。每一个模板都会产生其他人可以再使用的配置板项。
- 如果您想创建一个模板,那么您可以从 File>New>Topology 菜单项中创建一个新的 Topology 。图 22 在 New Topology 窗口中显示了值。有一些需要设置的关键值:
- 名字:MicrosoftInternetInformationServer6
- 源:FurnitureCatalogModels/templates
- 名字区:com.jke.templates
- 类型:Template Design
- 向模板项添加拓扑图:Checked
- 然后点击 Next。
图 22. 创建配置板条目的 New Topology 窗口
- 图 23 为 Add Topology to Palette 页面显示了最终值和图标。该页面需要设置的关键值是:
- 标签:Internet Information Server 6
- 栈:Microsoft
- 维持可视化的结构:Checked
- 点击 Finish。
如果 Welcome to the Topology EditorHelp 文本出现在您的图表中,通过在右上角点击 X 来跳过该对话框。
模板拓扑图基本上可以像正常的拓扑图那样处理。关键的不同点,在于当有人从模板中使用配置板时,会创建一个保存整个图表 UI 格式的拷贝,并将其拷贝到其他的图表中。
早期创建的 ProductionDeployment 拓扑图有一些本模板需要的单元。
- 切换至 ProductionDeployment 图,并通过选中它来复制 Internet Information Server 6.0 单元。然后右键点击鼠标,从下拉菜单中选择 Edit>Copy。
- 回到 Microsoft Internet Information Server 6 图表,右键点击,并从下拉菜单中,选择 Edit>Paste。
复制操作会创建 Internet Information Server 6.0 单元和 JKE Furniture Catalog Web App 单元。既然它是为 IIS 准备的模板,所以 IIS 模板并没有 JKE Furniture Catalog Web App 单元。
- 选择 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 创建一个模板拓扑图,非常相似于以下步骤。
- 创建一个使用以下关键字的新拓扑图:
- 名字:MicrosoftASPDotNET2WebComponent
- 源:FurnitureCatalogModels/templates
- 名字区:com.jke.templates
- 类型:Template Design
- 向配置项添加拓扑图:Checked
- 标签:ASP.NET 2.0 Web Component
- 栈:Microsoft
- 维持可视化的结构:Checked
- 再一次,ProductionDeployment 拓扑图拥有该拓扑图所需的单元,所以切换至 Production Deployment 图,从图表复制 JKE Furniture Catalog Web Component 单元,并将其粘贴到 Microsoft ASP Dot Net2 Web Component 图表中。
利用该单元的最大差异,是需要重命名的单元,以及需要调整的需求。
- 将单元重命名为 ASP.NET 2.0 Web Component。
- 在重命名单元之后,切换至 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 范例项目。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780914/viewspace-622664/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14780914/viewspace-622664/