简介: IBM® Rational® Automation Framework for WebSphere® 是用于管理 IBM WebSphere 产品安装、配置和应用程序部署的产品。它提供沿开发生命周期各阶段轻松移动资源配置和应用程序的能力,从而帮助您控制您的现有 WebSphere 产品环境。 本文来自于 IBM WebSphere Developer Technical Journal 中文版。
在每一篇专栏文章中,权威支持均会对可用于 WebSphere ® 产品的资源、工具以及其他 IBM® Technical Support 元素进行讨论,讨论主题还将包括可进一步增强 IBM 支持体验的新技术和新概念。
最新快报
按照惯例,我们将首先介绍整个 WebSphere 社区都会感兴趣的新项目:
继续关注 与支持相关的各个网站 以及本专栏,了解我们所遇到的其他工具的相关新闻。
现在,让我们言归正传......
使用 Rational Automation Framework for WebSphere 管理现有环境
IBM Rational Automation Framework for WebSphere(以下简称为 Rational Automation Framework)是用于管理 IBM WebSphere 产品的安装、配置和应用程序部署的一个解决方案。Rational Automation Framework 通过数据驱动来提供准确性和一致性,以及以并行执行形式提供的高速度 — 超出了通过自动化获取的性能收益。
此框架自带 500 多个动作,它们是可用于为您的 WebSphere 产品构建自动化解决方案的粒度构建块。Rational Automation Framework 在一个可靠的企业级自动化平台上构建,采用 IBM Rational Build Forge 形式,目前支持 WebSphere Application Server V6.0、6.1 和 7.0,WebSphere Portal V6.0 和 6.1,以及 IBM HTTP Server V6.0、6.1 和 7.0。另外,Rational Automation Framework 团队已为 IBM WebSphere Virtual Enterprise 和 IBM WebSphere Business Process Management 套件提供了孵化器代码,这个套件包括 IBM WebSphere Process Server、IBM WebSphere Enterprise Service Bus、IBM WebSphere Business Monitor 和 IBM WebSphere Service Registry and Repository.
Rational Automation Framework for WebSphere and Rational Build Forge 允许您管理您的 IBM WebSphere 产品单元。Rational Automation Framework 提供两种选择以将一个单元置于此框架的管理之下:
图 1. Rational Automation Framework 现有单元向导的示例运行
将单元的拓扑导入 Rational Automation Framework 后,将创建一个自动化计划来在所有应用程序范围内运行动作 was_common_configure_all。这将导入现有单元的几乎所有配置。这里描述的示例环境是一个 WebSphere Application Server Network Deployment 环境,因此该自动化计划将在单元、集群和服务器范围内运行这个 import all 动作(见图 2)。
捕获配置
Rational Automation Framework 支持几种模式的操作。这些模式根据动作的不同而不同,但许多动作都支持 Import 模式。由于 Rational Automation Framework 动作设计用于处理配置的一个特定部分,因此您可以使用一个动作来准确确定需要捕获的内容。
例如,您可以在单元范围内以 Import 模式运行 was_common_configure_jdbc_providers 动作,以只将在单元范围内定义的数据提供者导入 Rational Automation Framework。然后,数据以一种规范化的、版本不可知的 XML 格式存储在 Rational Automation Framework 服务器上。然后可以对这些文档进行版本控制。与应用程序服务器(其中许多资源类型存储在单个 XML 文件中)不同,Rational Automation Framework 将相关资源存储在其自己的 XML 文件中。例如,数据资源、JDBC 提供者和 was40 数据源都存储在 jdbc.xml 文件中。另外,其中运行一个对应的 Import 模式命令的每个范围内都将创建一个 jdbc.xml 文件。
假设您定义了一个 TEST_PROMOTE 环境,则可以运行以下命令:
rafw_home\bin\rafw.bat -env TEST_PROMOTE -cell qa -cluster cluster1 -import was_common_configure_jdbc_providers
这个命令完成后,文件 rafw_home/user/environments/TEST_PROMOTE/cells/qa/clusters/cluster1/jdbc.xml 将包含在 cluster1 范围内定义的所有 JDBC 提供者的定义(见清单 1)。
清单 1. 在一个定义了一个 JDBC 提供者的范围内运行的 Import 模式的示例输出
在该例中,仅有一个 JDBC 提供者位于 cluster1 范围内。
将 Rational Automation Framework 的知识库配置应用到一个单元
在 Rational Automation Framework 中捕获配置信息后,现在可以以 Execute 模式使用相同的动作来在 Rational Automation Framework 中回放配置数据。Execute 模式将首先删除指定类型的所有配置元素,然后根据 Rational Automation Framework 配置知识库中存储的信息重新创建它们。注意,正在从 WebSphere Application Server 配置移除的每个现有数据源正在基于 Rational Automation Framework 配置知识库中的模型被创建。
将资源添加到配置
Rational Automation Framework 中的 Augment 模式允许您将一些配置元素添加到一个 WebSphere Application Server 单元。Augment 模式是真正附加的,不会更新现有的配置元素。此模式将执行一个检查以确定是否存在一个指定配置元素;如果存在,则显示一条警告消息并跳过该元素。将被扩大的资源的定义在一个名为 _augment.xml 的文件中指定;例如,JDBC 资源将使用 jdbc_augment.xml。图 3 展示现有资源的警告消息,以及如何将新资源添加到 WebSphere Application Server 配置。
图 3. 标示将被跳过的现有元素和已添加的新资源的 Augment 模式动作
比较 Rational Automation Framework 的知识库和一个活动单元
“配置漂移” 指的是当随时间变化在一个 WebSphere 产品中引入差异时可能发生的一种情况。尽管大多数用户努力尝试保持阶段化(staging)和生产环境同步,但一个更改的引入仍然不可避免,而且这种更改通常不会被注意到。这样的秘密更改的一个常见来源是企图调试生产中的问题。当一个关键应用程序在 2:00 AM 关闭时,企图使该应用程序返回在线状态而进行的所有更改有可能不会被全部记录 — 或者恢复,如果不必要的话。这些应用程序中的更改在短期内似乎没有危害,但一旦您部署一个新应用程序,它就开始在您的生产和阶段化环境的同步中表现异常。或者,您的东部和西部沿海数据中心之间可能会出现一个差异。在 “激战阶段” 进行的更改一开始好像没有危害,但当它开始导致问题时,那么要找出问题所在仿佛是大海捞针。
Rational Automation Framework 中的 Compare 模式将比较 Rational Automation Framework 的知识库中存储的配置和活动单元中的对应配置,并标记任何差异。使用 Rational Build Forge 自动化平台,您可以将这些比较安排在非高峰时间并定期运行它们。更改发现得越早,就越容易就应该接受还是恢复该更改做出明智的决定,而不是绞尽脑汁回忆 6 个月前为何要进行更改。
图 4 展示了一个比较结果,其中 Rational Automation Framework 配置包含一个 WebSphere 生产单元中不存在的数据源资源。
图 5 展示了一个比较示例,该比较标记了对一个数据源的连接池属性上的最大连接设置的更改。
一旦 Rational Automation Framework 的 Compare 模式中标记出一个差异,您可以选择保持更改并使用新值更新 Rational Automation Framework 知识库。操作方法是以 Import 模式运行对应的 Rational Automation Framework 动作。如果您决定不保留更改,您可以通过以 Execute 模式运行对应的动作重新应用 Rational Automation Framework 中存储的配置。这将根据 Rational Automation Framework 中保存的值重新创建配置。
部署企业应用程序
Rational Automation Framework 使用一个属性文件,该文件描述企业应用程序部署选项,并表明将部署的 .ear 文件的位置。动作 was_common_deploy_install_app -a 用于部署 EAR 文件。这个应用程序属性文件可以采用两种格式:
清单 2
# Precompile JavaServer Pages files options.preCompileJSPs=false # Distribute application options.distributeApp=true # The MapModulesToServers option specifies the application server where # you want to install modules that are contained in your application. options.multi.one.MapModulesToServers=["Default Application" default_app.war, WEB-INF/web.xml WebSphere:cell=mycell,node=mynode,server=server1] options.multi.two.MapModulesToServers=["Default Application" default_app.war, WEB-INF/web.xml WebSphere:cell=mycell,node=mynode,server=server2 options.multi.three.MapModulesToServers=["Examples Application" examples.war, WEB-INF/web.xml WebSphere:cell=mycell,node=mynode,server=server2+WebSphere:cell=mycell, node=yournode,server=server1] |
沿开发生命周期提升资源
当一个应用程序及其配置更改沿开发生命周期移动时,必须非常小心地将相关资源从一个阶段移动到另一个阶段;例如,将一个新应用程序需要的数据源从共享测试环境移动到阶段化环境中。尽管理想情况是保持几乎所有数据(比如数据库和 JNDI 名称)不变,但也有其他一些值应该从一个环境更改到另一个环境。您不会希望您的数据源指向您的生产数据库服务器。
Rational Automation Framework 的 Promote 模式旨在应对这种特定挑战。Promote 模式充当一个拉动(pull)操作,用于将配置从一个 Rational Automation Framework 环境拉到另一个环境。具体而言,这意味着您将把配置从共享测试环境拉到阶段化环境。但是,双向提升受到支持。当您在您的生产环境中发现一个问题并希望将那个配置提升到您的测试环境以测试和调试该问题时,这种支持就能派上用场。另外,您还能在提升期间更改范围。例如,如果一个开发人员正在一个独立的单一服务器环境中工作并在服务器范围内创建它的数据源,那么那些数据源可以在向 Network Deployment 集群共享测试环境的提升过程中移动到集群范围。为了处理已知的环境差异,Rational Automation Framework 通过一个过滤器传递已提升的数据。这种过滤器理解两种表达式类型:
MyMaxHeapSetting.xpath=//JavaProcessDef/JavaVirtualMachine/@maximumHeapSize MyMaxHeapSetting.value=512 |
另一个示例更改一个 widgetDB Data Source 以指向生产数据库服务器并使用端口 5001。
dbname.xpath=//DataSource[@name='widgetDB']/J2EEResourcePropertySet/ J2EEResourceProperty[@name='serverName']/@value dbname.value=production.db.server.com dbport.xpath=//DataSource[@name='widgetDB']/J2EEResourcePropertySet/ J2EEResourceProperty[@name='portNumber']/@value dbport.value=50001 |
结束语
IBM Rational Automation Framework for WebSphere 是一个经过实践验证的产品,用于管理 IBM WebSphere 产品安装、配置和应用程序部署。利用 IBM Rational Build Forge 中的核心企业自动化平台,您可以使用 Rational Automation Framework 来创建一个适合您的 WebSphere 产品环境的可重复、准确和快速的自动化基础设施。借助 500 多个动作和 30 多个自动化库(和计数),Rational Automation Framework 为管理您的开箱即用 WebSphere Application Server 环境提供了大量可能性。底层自动化平台和 Rational Automation Framework 本身为那些已在 WebSphere Application Server 脚本编写方面投入大量精力的开发人员提供了大量可扩展性。
原文链接:http://www.ibm.com/developerworks/cn/websphere/techjournal/1007_supauth/1007_supauth.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-675109/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14789789/viewspace-675109/