[p=30,2,center]学习资料:IT运维管理社区专家讲堂直播300期视频回放
各位朋友,先锋小编为你们选了一篇很好的文章,欢迎讨论!
本文将介绍使用企业架构制定投资决策的功能性设计,以及如何使用该数据对实际系统作出部署变更。对该功能的支持通过集成IBM?Rational?SystemArchitect与IBM?Rational?SoftwareArchitect中所包含的ExtensionsforDeploymentPlanningandAutomationPlanning工具而提供。
本文第一节会解释如何将企业架构数据用作开发部署计划和自动化部署起点的场景。第二节解释如何将数据从RationalSystemArchitect导入到RationalSoftwareArchitect的场景。
在部署计划及自动化的情况下,应用程序顾问是RationalSystemArchitect的主要用户,而IT管理顾问是RationalSoftwareArchitect的主要用户。本文中的用例描述了一个典型的场景,其中应用程序顾问制定所需要的变更决策,以尽量减少因结束支持或灾难恢复计划所造成的风险。在落实这些计划时,IT管理顾问从RationalSystemArchitect获取其输入,并使用RationalSoftwareArchitect计划变更。他们可以使用RationalSoftwareArchitect自动化其变更的部署。在变更已执行并确认后,最新的部署数据会被发送回RationalSystemArchitect,以更新当前模型。
注:
本文的其余部分指的是以下两个人和角色:
- Adam,是一个应用程序顾问,他使用RationalSystemArchitect识别受到硬件或软件合并决策影响的系统。
- Isabell,是一个IT管理顾问,他使用RationalSoftwareArchitect和IBM?Rational?AutomationFrameworkforWebSphere?脚本处理部署。
从实质上说,就是在RationalSystemArchitect中制定“什么”决策,以及在RationalSoftwareArchitect中“如何”制定和实施决策。当变更完成时,这些工具再次同步,使最新的更新在这两个工具中都可用。
一般概念
本节概述了与IT部署相关的RationalSystemArchitect和RationalSoftwareArchitect功能。它也概述了如何集成这两个工具。
RationalSystemArchitect中的企业IT架构
RationalSystemArchitect是企业架构管理软件。典型的用户是企业架构师,他们拥有企业的业务视图以及支持这些业务需求的技术解决方案。您可以使用该工具根据预定义的分析生成受影响系统的热点图(例如,一个受许可证结束日期、灾难管理计划或类似情况影响的系统热点图)。您也可以使用RationalSystemArchitect绘制不同类型的图表,利用它们描述IT资产。最适合本文所述的用例图表是网络概念(NetworkConcept)图表。图1显示了一个样例图表。
图1.RationalSystemArchitect中的NetworkConcept图表
RationalSoftwareArchitect中的IT架构
RationalSoftwareArchitect提供DeploymentPlanningandAutomation组件,IT架构师可以使用这些组件计划并自动化应用程序的部署。IT架构师可以创建一个拓扑,并将部署元素添加到该拓扑中,从而创建一个部署模型。也可以在该拓扑中建立部署元素之间的关系。该拓扑也提供一个机制,绑定某个元素的功能与某个相关元素的需求。例如,一个JavaEnterpriseEdition(JEE)服务器的托管功能可以用来作为一个托管myapplication.ear文件的需求。
DeploymentPlanningandAutomation组件非常灵活,足以涵盖信息的广度(如,中间件服务器、数据库等详细信息)和信息的深度(如,端口配置、主机名称、中间件服务器版本,以及应用程序EAR组件及其内容)。这种灵活性有助于使用IBMRationalAutomationFrameworkforWebSphere等部署自动化框架来实现自动化部署。
图2.RationalSoftwareArchitect中的部署建模图表
使用该拓扑创建模型后,可以使用RationalAutomationFrameworkforWebSphere实现部署的自动化。部署工程师可以利用软件架构师所设计的拓扑来生成一个可执行的项目,并将其发布到自动化框架中,以协助部署工作。该项目是脚本的有序调用,这些脚本中的参数源自于拓扑。然后,这些脚本可以在必须部署该应用程序的服务器上运行。
RationalSoftwareArchitect可以发现已部署系统的当前状态(原样),方式是连接到IBM?Tivoli?ApplicationDependencyDiscoveryManager(有时缩写为TADDM),该工具使用有或无代理的发现技术提取企业中正在运行的现有系统的有关信息。然后,这些数据被聚合到ConfigurationManagementDatabase(CMDB)中,在该数据库中RationalSoftwareArchitect可以连接到预定的部署,并为其提取相关的比特。实际上,原样数据可以作为IT架构师规划其环境变更的起点。
RationalSoftwareArchitect和RationalSystemArchitect集成的概述
以下是简短的摘要:
企业架构师可以从RationalSystemArchitect中将与部署相关的信息导出为XML。
在RationalSoftwareArchitect中,软件架构师可以定义一个JavaEmitterTemplate(JET),描述如何转换XML和填充拓扑元素。
然后,软件架构师选中系统架构师的XML并运行一个JET转换,以填充拓扑及其相关图表。
如图3所示,RationalSystemArchitect将数据维护成SADefinition,它可以被导出为XML。项定义模板会将其转换成RationalSoftwareArchitect内部的Topology对象。
图3.RationalSoftwareArchitect和RationalSystemArchitect集成的概述
例如,如清单1所示,系统架构示例或SA-XML指定了内存、处理器类型以及一些其他元素(如图4所示)。 图4.显示RAM的RationalSystemArchitect定义
清单1.摘自RationalSystemArchitect定义的RAM
| <SAPropertySAPrpName="MaximumInstalledRAM"SAPrpValue="16GB"SAPrpEditType="1"SAPrpLength="50"/> |
<SAPropertySAPrpName="Brand"SAPrpValue=""IBMPowerSeries"">
使用以下JET实例,使用导入资源的信息填充RationalSoftwareArchitect拓扑对象。关键部分:
清单2.JET标记代码摘录
| <deploy:setname="memorySize"value='$definition/SAProperty[@SAPrpName="RAM"]/@SAPrpValue'/><deploy:setname="cpuType"value='$definition/SAProperty[@SAPrpName="ProcessorType"]/@SAPrpValue'/><deploy:setname="manufacturer"value='$definition/SAProperty[@SAPrpName="Brand"]/@SAPrpValue'/> |
图5.RationalSoftwareArchitectJET标记
图5的大图
然后,新添加的属性在RationalSoftwareArchitect中显示为拓扑元素的属性,如图6所示。 图6.RationalSoftwareArchitectProperty视图 集成场景
本节介绍以下工作流:
- 与所有利益相关者沟通对RationalSystemArchitect部署的变更
2.计划在RationalSoftwareArchitect中的部署变更。
3.通过CSVImport或IBM?Tivoli?ApplicationDependencyDiscoveryManager发现部署的当前状态。
4.使用RationalSoftwareArchitect自动化和部署变更。
5.更新模型中IT部署的当前状态。
您可以重用在RationalSystemArchitect和RationalSoftwareArchitect中已提供的功能处理该工作流,对这些产品进行最少的变更。
以下用例列表包括,IT系统相关的信息需要从RationalSystemArchitect共享到RationalSoftwareArchitect,以及在RationalSoftwareArchitect中实现计划的进一步操作。
硬件或软件的EOL或EOS
该用例涵盖了针对生命周期结束(EOL)或销售周期结束(EOS)情况进行影响分析的场景,以及对已部署环境作出变更时要遵循的工作流。
操作者
应用程序顾问(在本例中是Adam)使用RationalSystemArchitect识别有什么系统受到硬件或软件的EOL或EOS影响。(参阅参考资料中的链接,获取有关该角色的更多信息)。
IT管理顾问(在本文中是Isabell)通过使用RationalSoftwareArchitect和RationalAutomationFrameworkforWebSphere脚本对部署作出变更。
背景
Adam已在RationalSystemArchitect对硬件或软件的EOL或EOS执行了影响分析。他拥有一个从分析生成的热点图,识别需要迁移的系统,以管理软件或硬件的EOL或EOS。Isabell使用SA-XML从RationalSystemArchitect获得部署数据。她使用以下用例来实现建议的变更。
事件流
1.Adam将应用程序的当前逻辑模型导出为一个XML文件(在本例中是SA-XML格式)。
2.Isabell准备一个JET来将XML导入为RationalSoftwareArchitect中的一个逻辑模型。
3.Isabell使用一个JET转换项目和模板,将该逻辑模型导入为一个网络概念图表(NetworkConceptDiagram)。
4.Isabell编辑该概念图表,以添加更多部署模型元素,如操作系统版本、应用程序服务器等。
5.Isabell在RationalSoftwareArchitect中编辑Concept模型,以开发部署模型并生成部署脚本。
6.Isabell运行脚本,以使部署变更在实际环境中生效。
7.Isabell在RationalSoftwareArchitect中发现当前部署状态,并协调环境的变更。
完成后
在RationalSystemArchitect中针对硬件或软件的EOL或EOF所识别的变更,被识别并根据计划进行部署。可选:
1.Isabell将部署模型导出为一个XML文件。
2.Adam导入部署模型并更新它所维护的数据。
在收购过程中的硬件或软件整合
该用例涵盖的场景是,应用顾问整合作为收购一部分的硬件和软件。他删除重复的服务,并规划一个整合的部署环境。与IT管理顾问沟通RationalSystemArchitect中的新部署计划,IT管理顾问使用RationalSoftwareArchitect向下钻取该计划,并部署新环境。
操作者
应用程序顾问(Adam)使用RationalSystemArchitect识别有什么系统受到硬件或软件平台的战略性合并决策的影响。
IT管理顾问(Isabell)使用RationalSoftwareArchitect和RationalAutomationFrameworkforWebSphere脚本来计划并作出部署变更。
背景
Adam已执行一个影响分析,并生成系统的热点图,将这些系统合并为单一系统具有重要的战略意义。Isabell将热点图作为一个输入,识别需要合并的节点,并执行变更。
事件流
1.Adam将要实现的新部署模型导出为一个XML文件。
2.Isabell准备用于将新部署模型导入到RationalSoftwareArchitect的JET文件。请参阅“WebSphereApplicationServer域中的模板”链接,了解用于开发模板的标记。
3.Isabell使用RationalSoftwareArchitect的XML导入选项和JavaEmitter将XML内容导入到RationalSoftware中的一个网络概念图表中。导入的内容将显示为拓扑中的概念单元。
4.Isabell也通过CSV或从TADDM服务器(如果存在)将当前部署状态导入到一个新的拓扑图。
5.Isabell将网络概念图中的概念元素链接到导入的当前状态元素,并生成部署脚本。
6.Isabell运行脚本,使部署变更在实际环境中生效。
7.Isabell在RationalSoftwareArchitect中发现当前部署状态,并协调环境的变更。
完成后
根据计划对在RationalSystemArchitect中针对硬件或软件整合所识别的变更进行部署。可选:
1.Isabell将部署模型导出为一个XML文件。
2.Adam导入部署模型并更新它所维护的数据。
灾难恢复
该用例介绍的场景是,应用程序顾问实现一个灾难恢复计划并识别需要恢复的环境。
操作者
应用程序顾问负责识别有什么系统受到灾难的影响,以及什么系统需要使用灾难恢复计划进行恢复。
IT管理顾问负责使用RationalSoftwareArchitect和RationalAutomationFrameworkforWebSphere脚本计划并执行部署变更。
背景
Adam已根据灾难管理计划识别需要恢复的系统。该计划识别备份系统的位置,以及哪些备份系统在灾难过程中应该发挥作用。Isabell将该数据作为输入,识别需要复制的节点,并自动化部署变更。
事件流
1.Adam从RationalSystemArchitect导出要被恢复的环境部署模型。
2.Isabell准备一个JET文件,将部署模型导入到一个新的拓扑图表。
3.根据在所导入的拓扑模型中提供的详细信息,IT管理顾问将更多详细信息添加到所导入的模型,如实际计算机名称、操作系统版本、应用程序服务器版本等等。
4.Isabell通过CSV导入或RationalSoftwareArchitect的TADDM发现功能获取环境的当前状态。
5.Isabell对拓扑执行相应的变更,并生成部署脚本。
6.Isabell运行脚本,使部署变更在实际环境中生效。
7.Isabell在RationalSoftwareArchitect中发现当前部署状态,并协调环境的变更。
完成后
根据计划对在RationalSystemArchitect中针对硬件或软件整合所识别的变更进行部署。可选:
1.Isabell将部署模型导出为一个XML文件。
2.Adam导入部署模型并更新它所维护的数据。
一个典型的集成
Adam将对以下几种数据感兴趣并希望影响它们:
1.硬件服务器(IP、CPU、内存和架构类型)
2.操作系统(OS)
3.中间件软件和版本
4.在这些中间件服务器上安装的应用程序
5.数据库和软件版本
6.网络详细信息:防火墙、负载均衡器、路由器、VLAN等等。
注:
即使还有其他部署数据(如集群、防火墙或负载均衡器),但它们已超出本文所关注的集成范围。
RationalSystemArchitect图表选择
RationalSystemArchitect拥有一些图表可以描绘企业IT或系统架构,如网络概念图表、子系统(Sub-system)图表和系统架构(SystemArchitecture)图表。本文所提供的样例使用网络概念图表,因为它是各用例的根源。
网络概念图表拥有在该场景中所必需的一组最详细的信息。
RationalSystemArchitect中的步骤
在RationalSystemArchitect中,您现在已引入了以下变更:
已添加一些自定义服务器元素,包括WebSphereApplicationServer和TomcatHTTP服务器(其详细信息已超出本文的范围)。
注:
图7显示了为中间件和服务器新添加的RationalSystemArchitect菜单项:JBoss、Tomcat和WebSphere。
图7.显示新添加的菜单项的RationalSystemArchitect
已添加的一些操作系统的自定义元素(参见图8),如MicrosoftWindows2008Server、Linux和Solaris。 图8.为操作系统新添加的菜单项
已添加的一些自定义数据库元素,如DB2、IBM?DB2?数据库和OracleDatabaseServer,等等。
图9.新添加的数据库菜单项
创建了一个网络概念图表。
图10.RationalSystemArchitect的NewDiagram向导
已添加网络元素到概念图表,以使用以下元素创建一个企业Web应用程序的概念模型:客户端、一个HTTP服务器、一个应用程序服务器和一个数据库服务器。还添加了主机元素、这些服务器的操作系统元素,及其数据库计算机的链接。
图11.RationalSystemArchitect中的网络概念图表
图11的大图
已将网络概念图表导出为一个SA-XML文件。
图12.RationalSystemArchitect的ExportXML对话窗口
SA-XML格式拥有两个关键标记:SADiagram和SADefinition。
SADiagram的构建要使用其自身的属性以及一组SASymbol标记与UI特定的元素。
SADefinition拥有特定于模型元素的元素。它是使用其自身的属性和若干个SAProperty标记进行构建的。
清单3显示了这两种标记的样例。
清单3.SADiagram和SADefiniton代码
| <SADiagramSAObjId="_234"SAObjName="Network-concept-karthik"SAObjMinorTypeName="NetworkConcept"SAObjMinorTypeNum="88"…</SADiagram><SADefinitionSAObjId="_276"SAObjName="Webserver01" |
RationalSoftwareArchitect中的步骤
创建一个新的JET转换项目。
图13.创建一个JET转换项目对话窗口
编辑mainlinks.jet文件,以开发一个可以迭代整个SA-XML的模板,并使用RationalSoftwareArchitect拓扑标记库导入模型元素。模型元素信息中有一部分在SADiagram标记中,另一部分则在SADefinition标记中。数据必须从这两个标记及其属性中提取,以生成部署。模板的第一步是使用c:iterate标记迭代全部带有SASymbol标记的元素,并将属性读到变量中。
JET的第一步是使用c:iterate标记迭代全部带有SASymbol标记的元素,并将属性读取到变量中。
表1.迭代SA-XML的JET标记
在RationalSoftwareArchitect中创建部署拓扑元素,使用JET<deploy:template>和<deploy:unit>标记(参见清单4)。 清单4.创建拓扑元素的样例JET标记
| <deploy:templatetopology="$TargetObject"id="server.intel_x86.infra"><deploy:unitvar="server"type="server.X86ServerUnit"name="{$serverName}"> |
您可以在“WebSphereApplicationServer域中的模板”(参见本文的参考资料小节中的链接)中找到创建拓扑元素需要使用的ID。
清单5是JET的样例脚本,它导入了一个计算机服务器。
清单5.RationalSoftwareArchitectJET脚本样例
| <c:iterateselect="//SASymbol"var="symbol"><c:setVariableselect="$symbol/@SAObjMinorTypeName"var="minortypename"/><c:setVariableselect="$symbol/@SAObjName"var="serverName"/><c:setVariableselect='$symbol/SAProperty[@SAPrpName="Stereotype"]/@SAPrpValue'var="isServerMachine"/><c:setVariableselect="//SADefinition[@SAObjName='{$serverName}']"var="definition"/><%--CreateaServerMachinecomponent,representedasWebServer01inthediagram--%><c:iftest="$isServerMachine='ServerMachine'and$minortypename='Computer'"><deploy:templatetopology="$TargetObject"id="server.intel_x86.infra"><deploy:unitvar="server"type="server.X86ServerUnit"displayName="{$serverName}"name="{$serverName}"><%--CreateacapabilityonthenewlycreatedPowerServerunit--%><deploy:capabilityowner="$server"type="server.X86Server"name="x86Server"preferNameMatch="false"linkType="any"><%--Setthecapabilitiesattributes--%><deploy:setname="memorySize"value='$definition/SAProperty[@SAPrpName="RAM"]/@SAPrpValue'/><deploy:setname="cpuType"value='$definition/SAProperty[@SAPrpName="ProcessorType"]/@SAPrpValue'/><deploy:setname="manufacturer"value='$definition/SAProperty[@SAPrpName="Brand"]/@SAPrpValue'/></deploy:capability></deploy:unit></deploy:template></c:if> |
创建一个新的拓扑项目,其中包括一个blank_topology。
为模板创建一个RunConfiguration,以SA-XML作为输入。
以SA-XML作为输入,运行JET,如上图所示。
图14.RunConfiguration对话窗口
图14的大图
当您已完成运行模板时,在RationalSoftwareArchitect的ProjectExplorer中刷新该拓扑项目,查看导入的元素在该项目中是否可用。
图15.RationalSoftwareArchitectProjectExplorer选项卡视图
转到您完成步骤8时所打开的拓扑图表,在该图表上单击右键,并从上下文菜单中选择ArrangeAll。图表会重新排列,如图16所示。
图16.显示导入的单元的拓扑图表 使用ProblemsResolver对话窗口完成以下任务:
设置操作系统中的主机名称。
为WebSphere设置安装目录,以及WebSphereApplicationServer主页目录。
图17.拓扑图表及错误修正对话窗口
解决所有错误后,使用Properties页面设置每个模型元素的图片。
图18.部署单元的属性表 由此产生的拓扑图表如图19所示。
图19.已完成的部署拓扑 使用RationalSoftwareArchitect中的ExtensionforAutomationPlanning为这些项目生成并运行RAFW部署脚本。
通过Tivoli(TADDM)集成或CSV导入器重新导入部署数据。
结束语
这种方法均为业务和技术决策者提供了他们各自领域的正确信息和工具。它使信息从业务决策流到技术决策,并实现部署决策的自动化。
|