简介: 构建、部署、配置并重建中间件应用程序是 IT 组织的关键任务,但是这些任务通常伴随着效率低下的问题。构建和部署需要的时间太长;配置需要的经验太多;而且要一致地重建中间件应用程序环境简直不太可能。在本文中,作者向您展示了如何结合 WebSphere® CloudBurst 和 Rational® Automation Framework for WebSphere 来强化您的动态 WebSphere 云应用程序基础架构。
<!--构建、部署和配置 WebSphere® 中间件应用程序基础架构以及运行在该架构上的应用程序,对于企业 IT 组织来说是核心任务。完成这些任务的传统方法容易出问题,且导致效率低下和浪费问题。这些问题包括:
- 设置和配置环境需要较长时间。
- 无法根据需要一致地重建环境。
- 需要测试和开发人员有较多的基础架构经验。
使用 IBM WebSphere CloudBurst Appliance 和 Rational® Automation Framework for WebSphere 的一个集成解决方案提供一种虚拟化、自动化、数据驱动的方法来解决这些低效率问题。
WebSphere CloudBurst 提供一种简单的方式,以 WebSphere CloudBurst 模式的形式建模您的应用程序环境。您可以使用一个图形接口构建这些模式,它们基于 IBM® Hypervisor Edition 虚拟映像。这些映像封装构建 WebSphere 中间件环境所需的许多基础架构经验;可在几分钟之内部署和初始化完整的、企业就绪的环境。最重要的是,这些模式存储在设备上,这更易于我们在必要时一致地重建相同的环境。
WebSphere CloudBurst 解决快速一致地部署一个 WebSphere 应用程序基础架构所需的很多要求,而 Rational Automation Framework for WebSphere 在配置应用程序及其对基础架构的依赖性方面提供类似的优势。
Rational Automation Framework for WebSphere 自带超过 500 个开箱即用 WebSphere 配置操作。这些操作包括配置 JDBC 资源、设置 JMS 队列、调优应用程序容器、部署应用程序等等,几乎应有尽有。
首先构建包含任意多个配置步骤的 Rational Automation Framework for WebSphere 项目,构建好之后,针对一个目标 WebSphere 单元自动化对该项目的调用。因此,无需您提供任何脚本就能实现对应用程序及其依赖项的配置和部署。
虽然可能会有功能上的重叠(Rational Automation Framework for WebSphere 可用于安装 WebSphere 产品,不过它不支持 WebSphere CloudBurst 提供的基于模式的方法或快速部署能力),WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 的有效集成明显凸现了每个产品的最佳特征和功能。最终形成一个用于设置应用程序环境的快速、有效、自动化且可重复的流程。
图 1 向您展示每个软件的职责。
图 1. WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 的责任划定
![WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 的责任划定](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image001.gif)
既然我们已经确立了集成 WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 的原因,现在让我们看一下如何 以及何时 集成这两个解决方案。
实现 WebSphere CloudBurst 与 Rational Automation Framework for WebSphere 的集成很简单 — 特别是在构建表示所需 WebSphere 拓扑的 WebSphere CloudBurst 模式并将特殊脚本包附加到 Rational Automation Framework for WebSphere 产品上时。
脚本包是 WebSphere CloudBurst 部署与 Rational Automation Framework for WebSphere 之间的粘合剂。在部署期间,WebSphere CloudBurst 调用集成脚本包;这个调用导致 Rational Automation Framework for WebSphere 项目的执行,该执行针对 CloudBurst 创建的 WebSphere 单元。图 2 展示两个程序之间的相互作用。
图 2. WebSphere CloudBurst 与 Rational Automation Framework for WebSphere 集成图
![WebSphere CloudBurst 与 Rational Automation Framework for WebSphere 集成图](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image002.gif)
调用的 Rational Automation Framework for WebSphere 项目以及项目使用的 Rational Automation Framework for WebSphere 在脚本包定义的参数中。这意味着您可以将这些值锁定到模式中或在部署之后立即提供这些值。(我将在文章稍后详细讨论脚本的参数以及为其提供值的方式。)
必须注意:
WebSphere CloudBurst 与 Rational Automation Framework for WebSphere 的集成意味着您可以将整个应用程序环境封装到一个模式中,无需编写自己的脚本。
而且,您可以利用 Rational Automation Framework for WebSphere 提供的 500 多个开箱即用的 WebSphere 配置操作。
除了开箱即用的 WebSphere 专业经验优势之外,这个集成解决方案适用于其他关键场景,比如为现有 WebSphere 环境创建模式、配置 WebSphere 单元更改,然后捕获并重用该配置。
设想一下:您现在已有 WebSphere 环境,想在 WebSphere CloudBurst Appliance 中将其 “导入” 为一个模式。该设备不提供特性来支持您将其指向一个现有环境并将该环境作为一个新模式引入。
但是您可以将 Rational Automation Framework for WebSphere 指向现有的 WebSphere 单元,并使用其环境生成工具从现有单元创建一个新的 Rational Automation Framework for WebSphere 环境,有效存储您的 WebSphere 设置的配置。
然后您可以创建一个模式,使用特殊的脚本包,并将其指向一个 Rational Automation Framework for WebSphere 项目,该项目在您在导入过程中创建的 Rational Automation Framework for WebSphere 环境中应用配置数据。从而使您可以创建一个与现有 WebSphere 单元完全相同的 WebSphere CloudBurst 模式(图 3)。
图 3. 现有 WebSphere 环境的点击模式
![现有 WebSphere 环境的点击模式](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image003.gif)
在某些情况下,您可能会向您的 WebSphere 单元手动应用配置更改,然后希望捕获和重用生成的配置。
例如,在应用程序测试过程中,您可能会发现某些能产生优化行为的配置调整 — 您绝不想错过这样的机会。
另一个示例:对给定应用程序环境进行初次设置时,您可能喜欢使用 WebSphere CloudBurst 快速部署单元,然后手动配置应用程序及其资源。
不管是哪一种情况,您都可能想捕获更新后的配置并按需重用它。如前所述,您可以使用 Rational Automation Framework for WebSphere 捕获配置,然后集成 WebSphere CloudBurst 模式的部署与应用已捕获配置的 Rational Automation Framework for WebSphere 项目。这类似于第一个场景,只是旧有环境并非目标(图 4)。
图 4. 配置、捕获和重用
![配置、捕获和重用](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image004.gif)
可能您的应用程序升级周期同时跨越虚拟和物理域。例如,您可能使用 WebSphere CloudBurst 部署从测试到预生产环境的一切内容,但是在迁移到生产环境之后,您可能希望在物理硬件上建立相同的环境。
从使用 WebSphere CloudBurst 模式的虚拟 WebSphere 环境到直接安装在硬件上的传统 WebSphere 环境的跨越很难。您不能将 WebSphere CloudBurst 模式直接部署到一个物理服务器上。这会使您难以确保是否在将已经测试和验证过的同一环境放入生产阶段。
不过,如果您将 WebSphere 应用程序环境的配置存储为一个 Rational Automation Framework for WebSphere 环境,就不能将该配置应用到使用同一 Rational Automation Framework for WebSphere 项目的虚拟或物理 WebSphere 单元中。这可以让您安心将一个环境放入生产阶段,因为您知道它一定会奏效(图 5)。
图 5. 跨越虚拟和物理域
![跨越虚拟和物理域](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image005.gif)
现在您已经了解了如何集成 WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 以及何时使用该集成,该是时候逐步探究一个样例场景了。
让我们来看一个用例,该用例遵循我在上一节引入的配置、捕获和重用 模式。特别地,我们将手动设置 Apache DayTrader J2EE 应用程序环境,将其作为一个 Rational Automation Framework for WebSphere 项目和环境予以捕获,然后将其作为一个 WebSphere CloudBurst 模式加以重用。
模式的部署将引起 WebSphere Application Server 单元的创建和 Rational Automation Framework for WebSphere 项目的调用,以设置 Apache DayTrader 应用程序环境。该集成将允许您完全自动化从 WebSphere Application Server 单元的部署和配置到 Apache DayTrader 应用程序环境的部署和配置这一流程。
为完成该工作,您需要执行以下步骤:
- 使用 Rational Automation Framework for WebSphere 集成脚本包创建一个自定义 WebSphere CloudBurst 模式。
- 部署 WebSphere CloudBurst 模式以创建一个 WebSphere Application Server 单元。
- 手动安装、配置和验证 Apache DayTrader 应用程序。
- 使用 Rational Automation Framework for WebSphere 捕获 WebSphere Application Server 单元的配置。
- 设置 Rational Automation Framework for WebSphere 来应用捕获的配置并部署 Apache DayTrader 应用程序。
- 部署一个 WebSphere CloudBurst 模式,该模式使用新的 Rational Automation Framework for WebSphere 项目和环境自动化 Apache DayTrader 应用程序的构建。
讲到这里,我差点忘了告诉您 — 您将能够在无需编写任何自定义脚本的情况下完成全部工作!
第一步是要创建一个包含 Rational Automation Framework for WebSphere 集成脚本包的新的 WebSphere CloudBurst 模式。不过在此之前,您需要将 Rational Automation Framework for WebSphere 集成脚本包加载到 WebSphere CloudBurst Appliance 的目录中。
同样,您可以从 Rational Automation Framework for WebSphere 安装文件(位于 Rational Automation Framework for WebSphere_HOME/framework/wca 目录)中获取脚本包。获得存档文件(ZIP)之后,导航到 WebSphere CloudBurst 目录的 Script. Package 部分并上传新内容。完成上传过程之后,单击右上方工具栏中的刷新按钮。(图 6 显示集成脚本包。)
图 6. 集成脚本包
![集成脚本包](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image006.jpg)
点击刷新按钮之后,您应当会看到描述脚本包的数据,它来源于存档文件中包含的 cbscript.json 文件。该数据告诉 WebSphere CloudBurst 要调用什么(在本例中为包含在脚本包中的一个 shell 脚本),且它定义各个环境变量。您可以将这些变量的值锁定到模式中或在部署流程中提供它们;它们提供诸如以下内容的重要集成信息:
- RAFW_SERVER_HOST:Rational Automation Framework for WebSphere 服务器的主机名。
- RAFW_SERVER_USER:用于登录到 Rational Automation Framework for WebSphere 服务器的用户名。
- RAFW_SERVER_PASSWORD:用于登录到 Rational Automation Framework for WebSphere 服务器的密码。
- RAFW_AUTOMATION_PLAN:部署过程中要调用的 Rational Automation Framework for WebSphere 项目的名称。
- RAFW_ENVIRONMENT:Rational Automation Framework for WebSphere 项目使用的 Rational Automation Framework for WebSphere 环境的名称。该环境包含 WebSphere Application Server 单元的配置数据。
- RAFW_HOME_PATH:用于在虚拟机上解压 Rational Automation Framework for WebSphere 二进制的文件系统位置。该值应与 Rational Automation Framework for WebSphere 上 RAFW_HOME/configure.properties 文件中的 LINUX_RAFW_HOME 的值相匹配。为方便使用,这些库包含在脚本包中。
- RAFW_AUTOMATION_TIMEOUT:这是 WebSphere CloudBurst 等待指定的 Rational Automation Framework for WebSphere 项目完成所需的最大时间量,以分钟计量。如果 Rational Automation Framework for WebSphere 项目完成之前就已超时,Rational Automation Framework for WebSphere 项目将继续运行,但 WebSphere CloudBurst 将报告虚拟系统处于启动状态。
当脚本包在目录中时,您可以构建新的自定义模式。导航到 Patterns 页面,克隆一个已有模式或创建一个全新模式。对于该场景,您将使用部署管理器、自定义节点和 IBM HTTP Server 部件配置一个模式,如图 7 所示。
图 7. 自定义 DayTrader 模式
![自定义 DayTrader 模式](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image007.jpg)
在离开 Pattern Editor 之前,点击 Advanced Options 链接。取消选中 Enable messaging 选项,但要让 Define clusters 处于选中状态。WebSphere CloudBurst 更新该模式,以包含部署期间创建 WebSphere Application Server 集群所需的配置。
点击 Advanced Options 面板上的 OK,您将看到一个集群配置徽章添加到了 Deployment manager 部分。单击该徽章旁边的配置图标并为集群提供配置数据,如图 8 所示。
图 8. 集群配置数据
![集群配置数据](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image008.jpg)
通过该配置数据,WebSphere CloudBurst 将自动创建一个 WebSphere Application Server 集群,其中在每个自定义节点上包含一个成员。以 TradeCluster 作为集群名的前缀,然后 WebSphere CloudBurst 在无需用户提供脚本的情况下创建并调优集群。
在试图集成 WebSphere CloudBurst 模式部署与 Rational Automation Framework for WebSphere 之前,您需要确保托管 Rational Automation Framework for WebSphere 服务器的机器可以成功与 WebSphere CloudBurst 创建的虚拟机建立网络连接。此外,确保 Rational Automation Framework for WebSphere 服务器具有与这些虚拟机建立 SSH/SFTP 连接所需的密钥,或配置托管 Rational Automation Framework for WebSphere 服务器的机器,从而在初始化这些连接之后自动接受密钥。注意,配置对新密钥的自动接受可能具有安全风险。
在完成对该模式的构建之后,您可以着手进行初步部署。在部署过程中配置 Deployment manager 部分时,您要提供 Rational Automation Framework for WebSphere 的集成信息。
图 9 显示 DayTrader 模式的部署。
图 9. 部署 DayTrader 模式
![部署 DayTrader 模式](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image009.jpg)
该部署针对 eastgrand.austin.ibm.com 上的 Rational Automation Framework for WebSphere 服务器,使用 cloudburst 的用户名和密码登录进去。由于在首次部署时我们打算手动配置该环境,Rational Automation Framework for WebSphere 项目的名称(RAFW_AUTOMATION_PLAN)不是很重要。Rational Automation Framework for WebSphere 运行时将自动生成一个我们可以重用的项目。本例中的 Rational Automation Framework for WebSphere 环境名称是 DayTrader,并且我们采用默认超时设置。
对 RAFW_HOME_PATH 使用 /opt/IBM/WebSphere/Profiles/RAFW 路径。这里不用默认路径而使用该路径是因为,Rational Automation Framework for WebSphere 会试图以 virtuser 操作系统用户的身份在我们的虚拟系统中的每个虚拟机上创建目录和文件。
您需要确保 Rational Automation Framework for WebSphere 试图创建文件和目录的位置是可由 virtuser 访问的。您也可以使用设置有适当文件权限的一个自定义映像。
不管是哪一种情况,您都必须更改 Rational Automation Framework for WebSphere 上 RAFW_HOME/configure.properties 文件中的 LINUX_RAFW_HOME 参数的值,以匹配部署过程中使用的 RAFW_HOME_PATH 值。
一旦新虚拟系统处于启动状态,您可以访问 WebSphere Application Server 管理控制台来设置 Apache DayTrader 应用程序环境。
在此之前,我们先看一下作为部署流程一部分的 Rational Automation Framework for WebSphere 工件。登录到 Rational Automation Framework for WebSphere 控制台(打开 URL http://eastgrand.austin.ibm.com)并点击 Environments 链接。您应当会看到一个名为 RAFW_DayTrader_CloudBurstCell0 的环境。您可以单击链接来查看 Rational Automation Framework for WebSphere 为您提供的内容(图 10)。
图 10. 自动生成的 Rational Automation Framework for WebSphere 环境
![自动生成的 Rational Automation Framework for WebSphere 环境](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image010.jpg)
集成脚本包使用 WebSphere CloudBurst 部署中可用的数据创建了该环境。安装和配置 DayTrader 应用程序环境之后要更新该环境,以包含更新的信息。
除 Rational Automation Framework for WebSphere 环境之外,如果您单击 Projects 链接,还应当看到一个新创建的 Rational Automation Framework for WebSphere 项目。它与生成的 Rational Automation Framework for WebSphere 环境具有相同的名称(图 11)。
图 11. 自动生成的 Rational Automation Framework for WebSphere 项目
![自动生成的 Rational Automation Framework for WebSphere 项目](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image011.jpg)
起初,项目包含一个简单步骤,实际上是对 RAFW_WAS_70_ND_Configure 库的一个调用。该库是 Rational Automation Framework for WebSphere 产品自带的,您可以使用它应用和导入对整个 WebSphere Application Server 7.0 单元的配置。在设置好 DayTrader 环境之后,您要使用该项目导入对单元的配置。
导入配置之后,对项目稍作更改,仅应用能降低总部署时间所需的配置。不过,您仍然要使用自带库,而不需要编写任何自定义脚本。
Apache DayTrader 应用程序是一个建模在线股票交易系统的性能基准应用程序。应用程序由 servlets、JSPs、多种 Enterprise JavaBeans、一个后端数据源等组成。图 12 是引用自 Apache DayTrader 网站的一幅图,描述应用程序环境的布局。
图 12. Apache DayTrader 架构
![Apache DayTrader 架构](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image012.gif)
您不需要逐步探究部署 DayTrader 应用程序的安装步骤,只需到网站上查找应用程序源以及构建和部署说明(参见 参考资料)。
在本文末尾,我们要将该环境及其依赖的基础架构映射到与 Rational Automation Framework for WebSphere 项目集成的一个 WebSphere CloudBurst 模式。一个 WebSphere CloudBurst 模式将表示映射到图表 JavaEE Application Server 部分的 WebSphere Application Server 单元。当前的 WebSphere CloudBurst 模式不包含数据库设置,不过在 WebSphere CloudBurst 2.0 中,您可以轻松地在模式中包含一个 DB2® 部分,以封装环境的数据库服务器。
Rational Automation Framework for WebSphere 环境将包含应用程序的配置数据、其资源以及依赖项。这将确保对应用程序及其 servlets、JSPs 和 Enterprise JavaBeans 的正确部署。此外,Rational Automation Framework for WebSphere 环境将包含在 DayTrader 应用程序、应用程序客户端和后端数据源中正确配置集成组件所需的数据。
根据本文前面构建和部署的模式,您应当设置 Apache DayTrader 应用程序以在 WebSphere Application Server 集群中运行。该集群将在部署过程中的每个自定义节点上包含一个成员。图 13 描述期望的部署结果。
图 13. WebSphere Application Server 单元中的 DayTrader
![WebSphere Application Server 单元中的 DayTrader](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image013.gif)
在安装应用程序、配置所需资源和依赖项并成功启动应用程序之后,您可以导航到 http://:9080/daytrader URL 来检验它是否在运行。登录到网站之后,单击 Configuration 选项卡,您应当会看到以下页面(图 14):
图 14. DayTrader 配置页面
![DayTrader 配置页面](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image014.jpg)
开始验证时,首先单击 (Re)-create DayTrader Database Tables and Indexes,在该页面上完成必要的步骤之后,单击 (Re)-populate DayTrader Database。创建并填充数据库表之后,可以单击 Test DayTrader Scenario 链接并遵循页面指示测试应用程序。
如果您对配置的环境满意,接下来就可以使用该新配置更新 Rational Automation Framework for WebSphere 环境。
在完成手动配置和验证 Apache DayTrader 环境的流程之后,您可能不太想重新再来一遍(更不用说每次进行一个新部署了)。您希望捕获可行的设置并在需要时使用该配置。这正是您要做的;首先要使用 Rational Automation Framework for WebSphere 捕获现有配置。
在初始模式部署期间,集成脚本包促成 Rational Automation Framework for WebSphere 项目的自动生成(如 图 10 所示)。您可以在 Import 模式下运行该项目,从而导入 DayTrader 环境的现有配置。
为此,登录到 Rational Automation Framework for WebSphere 控制台,单击 Projects 链接,然后单击 RAFW_DayTrader20_CloudBurstCell0 项目。在项目详细信息页面上,单击顶部工具栏中的 Start Project 创建一个新的作业。在作业详细信息页面上,只需将 Mode 字段更改为 Import,如图 15 所示。
图 15. 在 import 模式下启动项目
![在 import 模式下启动项目](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image015.jpg)
此时,只需单击 Execute,Rational Automation Framework for WebSphere 作业就开始执行。这将针对部署有 DayTrader 应用程序的 WebSphere Application Server 单元开始 RAFW_WAS70_ND_CONFIGURE 库的执行。
注意,WebSphere Application Server 环境的位置和其他有关细节,比如单元和节点名称,已经存在于项目的环境中。脚本包在初步部署期间创建 DayTrader 环境时自动执行设置这些细节。
单击 Execute 之后,Rational Automation Framework for WebSphere 重新将您带到刚才创建的作业的详细信息页面。您可以监控导入任务的进度,并在任务完成时看到图 16 所示的状态。
图 16. 完成的导入作业
![完成的导入作业](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image016.jpg)
现在的 DayTrader 环境含有来自 Apache DayTrader 应用程序环境的最新配置信息。这包括对 JDBC 资源、JMS 队列、消息传送引擎等的配置。但是,您仍然需要导入实际应用程序并将其存储在 DayTrader 环境中。
为此,您可以创建一个简单的 Rational Automation Framework for WebSphere 项目,通过该项目导入应用程序二进制文件,然后创建一个属性文件,稍后 Rational Automation Framework for WebSphere 将使用该文件安装应用程序。
单击左边工具栏中的 Projects 链接打开项目页面,然后单击顶部的 Add Project。在屏幕底部出现新项目的详细信息区域。输入 Import DayTrader Application 作为新项目名,并选择 RAFW_DayTrader_CloudBurstCell0 为新项目的环境。您还需要确保有正确的 Selector,它是基于 Rational Automation Framework for WebSphere 配置定义的。完成全部操作后,单击 Save(图 17)。
图 17. 添加导入应用程序的新项目
![添加导入应用程序的新项目](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image017.jpg)
这个新项目包括三个步骤,旨在完成以下操作:
- 创建一个属性文件,用于部署 DayTrader 应用程序。
- 使用一个提供应用程序名称的键值对更新属性文件。
- 从现有 WebSphere Application Server 单元导入应用程序二进制文件。
要创建一个新步骤,单击 Import DayTrader Application 项目,然后单击顶部工具栏中的 Add Step。当步骤详细信息面板出现在屏幕底部时,输入 Create properties file 作为第一步的名称。图 18 显示该步骤的完整命令。
图 18. 创建 DayTrader 属性文件
![创建 DayTrader 属性文件](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image018.jpg)
第二步使用提供应用程序名称的一个键值对更新第一步中创建的属性文件。这是成功部署 Apache DayTrader 应用程序所必需的。单击 Add Step 并创建一个名为 Add application name 的新步骤。图 19 显示该新步骤的命令。
图 19. 添加应用程序名称
![添加应用程序名称](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image019.jpg)
第三步将真正导入 DayTrader 应用程序二进制文件并将其本地存储在 Rational Automation Framework for WebSphere 服务器上。再次单击 Add Step,创建一个名为 Get application binaries 的新步骤。图 20 显示该新步骤的命令。
图 20. 检索 DayTrader 应用程序二进制文件
![检索 DayTrader 应用程序二进制文件](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image020.jpg)
运行项目之前,您需要确保在 Rational Automation Framework for WebSphere 服务器上有正确的文件夹。在托管您正使用的 Rational Automation Framework for WebSphere 服务器实例的机器上,确保 /users/environments/DayTrader/cells//clusters//apps/properties 文件夹存在。 在 Rational Automation Framework for WebSphere 上验证或创建该文件夹后,单击 Start Project 然后单击 Execute 开始作业。 Rational Automation Framework for WebSphere 会将您带到一个详细信息页面,您可以在此处监控项目中每一步的状态。
项目完成时,您可以验证是否获得预期结果,方法就是检查下面两个文件是否存在:
- /users/environments/DayTrader/cells//clusters//apps/properties/DayTrader2-EE5.properties
- /users/environments/DayTrader/cells//apps/media/DayTrader2-EE5.ear
注意,根据在流程前面手动安装过程中使用的应用程序名称,属性和 EAR 文件的名称可能有所不同。
更新 Rational Automation Framework for WebSphere 项目
您可以使用现有 DayTrader Rational Automation Framework for WebSphere 环境和 RAFW_DayTrader_CloudBurstCell0 项目重新应用 Apache DayTrader 应用程序配置到随后的 WebSphere CloudBurst 模式部署中。不过首先要对现有项目进行两项更改。
添加一个步骤来部署您导入的应用程序。为此,单击 Rational Automation Framework for WebSphere 控制台中左边工具栏中的 Projects 链接,然后单击 RAFW_DayTrader_CloudBurstCell0 项目。在打开的项目详细信息页面上,单击 Add Step 并输入 Deploy DayTrader 作为步骤名称。图 21 展示了部署应用程序的命令。
图 21. 部署 DayTrader 应用程序
![部署 DayTrader 应用程序](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image021.jpg)
现在,使用对单个库的多个调用替换项目中对 RAFW_WAS70_ND_CONFIGURE 复合库的一个调用。您当然可以继续使用一个步骤调用 RAFW_WAS70_ND_CONFIGUE 复合库,但是使用多个步骤替换这一个步骤可以让您仅执行对于 Apache DayTrader application 环境必需的配置操作。您仍然要使用自带的配置库,因此需要提供自定义脚本。
将项目分解成多个仅执行所需配置操作的步骤,其优势在于,您可以显著减少对应用程序环境的总体部署和配置时间。
特别是对于 Apache DayTrader 应用程序环境的设置,您要利用下面这些预定义的 Rational Automation Framework for WebSphere 库:
- RAFW_was_common_configure_environments
- RAFW_was_common_configure_resources
- RAFW_was_common_configure_security
- RAFW_was_common_configure_servers
- RAFW_was_common_configure_service_integration
- RAFW_was_common_configure_users_and_groups
您要创建 6 个新步骤来使用这 6 个库。每个步骤将有一个 Inline 属性,该属性值与上面的其中一种库相对应。图 22 显示使用 RAFW_was_common_configure_environments 库时的步骤声明。
图 22. 使用 RAFW_was_common_configure_environments 库
![使用 RAFW_was_common_configure_environments 库](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image022.jpg)
Inline 属性被设置为 RAFW_was_common_configure_environments,从而可以确保该步骤能触发对这个库的调用。注意 Command 字段中的 echo 语句。Rational Automation Framework for WebSphere 需要您为每个步骤提供一个有效命令。在项目中执行该步骤时,Rational Automation Framework for WebSphere 会首先调用这个命令,然后调用 Inline 属性中指定的库。
还需要向项目中再添加一步。项目中的最后一步将启动单元中的所有进程,包括部署管理器、节点代理和应用程序服务器集群。为此,仅需添加一个名为 RAFW_start_cell 的新步骤。在新步骤的 Inline 属性中,选择 RAFW_start_cell 库并记得提供一个有效命令(比如 echo 'calling RAFW_start_cell')。这是让 Rational Automation Framework for WebSphere 启动单元的进程所需做的所有事情。
完成步骤的创建之后,您应当会看到一个类似于图 23 的项目。
图 23. 更新的 Rational Automation Framework for WebSphere 项目
![更新的 Rational Automation Framework for WebSphere 项目](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image023.jpg)
在我们刚才完成的项目中,调用 RAFW_WAS_70_ND_Configure 库的初始步骤被禁用。如果您稍后决定重新应用所有配置,而不是调优多个步骤,您可以再次启用这个步骤,并禁用或删除步骤 2-6。
需要时,您可以进一步调优项目,只需为每个使用中的库选择要执行的配置操作即可。为此,单击 Rational Automation Framework for WebSphere 控制台中左边工具栏中的 Libraries 链接,并选择需要的库。您会看到不同范围内不同配置操作的一个列表;您可以选择性地启用或禁用这些步骤。在本例中,我们将保留默认行为,保持所有操作处于启用状态。
此时您已经完成了对 Rational Automation Framework for WebSphere 环境和项目的必要设置。
现在准备部署之前创建的 WebSphere CloudBurst 模式,不同在于,这次 Rational Automation Framework for WebSphere 项目和 Rational Automation Framework for WebSphere 环境都存在,且它们反映完全自动化 Apache DayTrader application 环境的构建所需的信息和配置操作。
这次在部署 WebSphere CloudBurst 模式时,您将看到一个启动并运行的 WebSphere Application Server 单元,带有一个经安装、启动、充分配置的即用型 DayTrader 应用程序。
要开始部署,登录回 WebSphere CloudBurst 控制台并导航到 Patterns 页面。选择您之前创建的模式,即带有 Rational Automation Framework for WebSphere 集成脚本包的那一个,然后单击右上方工具栏中的部署图标。就像上次一样,您要配置每个模式部分来进行部署。图 24 显示集成脚本包的配置数据。
图 24. 脚本包配置数据
![脚本包配置数据](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image024.jpg)
注意,第一个部署和这一个部署之间的惟一区别在于 RAFW_AUTOMATION_PLAN(或项目名称)的更改。该项目在第一个部署之前不存在,但是脚本包自动在第一个部署期间创建它。在这之后,您更新了 Rational Automation Framework for WebSphere 项目(和环境),您希望确保此次部署能实现对已更新项目的调用。这组配置数据正是为了完成该工作。
值得注意的是,此时您可以将集成脚本包的信息锁定到模式中。这会预防部署期间的数据输入错误,真正将一个特定模式绑定到指定的 Rational Automation Framework for WebSphere 项目和环境中。不过,如果您将这些值锁定到模式中,然后锁定模式本身,您就不能更改对 Rational Automation Framework for WebSphere 项目和环境的引用,除非克隆该模式。
配置完每个部分之后,只需单击 OK 即可开始部署过程。部署完成时,WebSphere CloudBurst 界面应当会显示虚拟系统处于启动状态,如图 25 所示。
图 25. 启动的 DayTrader 虚拟系统
![启动的 DayTrader 虚拟系统](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image025.jpg)
如果您登录到 Rational Automation Framework for WebSphere 控制台,应当会看到有两个作业已成功完成(正如图 26 所示):
图 26. 成功完成的 Rational Automation Framework for WebSphere 作业
![成功完成的 Rational Automation Framework for WebSphere 作业](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image026.jpg)
第一个作业(本例中为 WCA_ENV_UPDATE_52)使用关于新 WebSphere Application Server 单元的信息更新了 Rational Automation Framework for WebSphere DayTrader 环境。这确保对于在不同部署间变化的信息(比如主机名、单元名和节点名),Rational Automation Framework for WebSphere 环境都包含正确、更新过的数据。用于创建该作业的项目 WCA_ENV_UPDATE 是 Rational Automation Framework for WebSphere 产品自带的,WebSphere CloudBurst 模式中的 Rational Automation Framework for WebSphere 集成脚本包在部署过程中自动调用它。
此时,您可以登录到 WebSphere Application Server 管理控制台。在企业应用程序清单中,您应当会看到 DayTrader2-EE5 应用程序处于启动状态。
图 27. 启动的 DayTrader 应用程序
![启动的 DayTrader 应用程序](http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/image027.jpg)
与之前一样,您应当能够访问 DayTrader 配置页面,设置并填充数据库,并验证应用程序是否在运行。
您已经为 Apache DayTrader 应用程序环境完成了对 WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 的设置:
- 首先使用特殊的 Rational Automation Framework for WebSphere 集成脚本包部署一个 WebSphere CloudBurst 模式。
- 待 WebSphere Application Server 单元就绪后,手动安装、配置和验证 Apache DayTrader 应用程序及其依赖项。
- 然后导入对设置的配置并更新自动生成的 Rational Automation Framework for WebSphere 环境。
- 修改 Rational Automation Framework for WebSphere 项目,仅应用必需的配置操作,部署 DayTrader 环境,并启动所有单元进程。
- 最后,使用集成脚本包部署一个 WebSphere CloudBurst 模式,将其指向先前配置的 Rational Automation Framework for WebSphere 环境和项目,然后就会看到单元和 Apache DayTrader 应用程序环境的自动化构建。
现在您有一个 WebSphere CloudBurst 模式和一个 Rational Automation Framework for WebSphere 项目,可用于在必要时可靠快速地重建整个 Apache DayTrader 环境。
设置不常用的 J2EE 应用程序环境会很耗时、复杂且几乎不可能一致地完成,但是如果利用 WebSphere CloudBurst 来交付 WebSphere Application Server 单元,就可以前所未有的速度设置它,并使用来自 Rational Automation Framework for WebSphere 的开箱即用 WebSphere 配置操作来配置这些单元内的复杂应用程序环境。
最重要的是,WebSphere CloudBurst 模式和 Rational Automation Framework for WebSphere 项目编撰端到端的流程,即设置 WebSphere Application Server 单元并配置单元中的应用程序环境。这意味着,您完全能够在必要时反复设置相同的应用程序环境。
简言之,WebSphere CloudBurst 和 Rational Automation Framework for WebSphere 的结合使得对 J2EE 应用程序环境的设置更简单、更快、比以前更一致。
我想感谢 Ruth Willenborg、David Brauneis 和 Leigh Williamson 对本文做出的贡献。
原文链接:http://www.ibm.com/developerworks/cn/cloud/library/cl-hardinfra/index.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-673755/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14789789/viewspace-673755/