使用RAFW管理您的 WebSphere 产品安装、配置和应用程序部署

Tim Robertson, 软件工程师, IBM
Tim Robertson 是一名软件工程师,负责开发 IBM Rational Automation Framework for WebSphere,他居住在德克萨斯州奥斯汀市。在 IBM 工作期间,他还从事过 IBM Rational Build Forge 产品以及 z/OS 问题诊断工具、语言和 CICS 相关工作。
Dr. Mahesh Rathi, WebSphere Application Server SWAT 团队, IBM
Mahesh Rathi 博士自从 WebSphere Application Server 问世以来就一直从事 WebSphere Application Server 产品方面的工作。在加入 L2 Support 团队之前,他领导安全开发团队,并于 2005 年加入了 SWAT 团队。他全身心投入与苛刻的客户就热点问题进行的合作,并在压力环境中保持旺盛的精力。他从普渡大学获得了计算机科学博士学位,在加入 IBM 之前,他在威奇托州立大学从事软件工程教学。

简介: IBM® Rational® Automation Framework for WebSphere® 是用于管理 IBM WebSphere 产品安装、配置和应用程序部署的产品。它提供沿开发生命周期各阶段轻松移动资源配置和应用程序的能力,从而帮助您控制您的现有 WebSphere 产品环境。 本文来自于 IBM WebSphere Developer Technical Journal 中文版

在每一篇专栏文章中,权威支持均会对可用于 WebSphere ® 产品的资源、工具以及其他 IBM® Technical Support 元素进行讨论,讨论主题还将包括可进一步增强 IBM 支持体验的新技术和新概念。

最新快报

按照惯例,我们将首先介绍整个 WebSphere 社区都会感兴趣的新项目:

  • 查看 IBM Conferences & Events 页面,获取即将举行的会议列表。在 7 月 10 日之前注册 IBM European WebSphere Technical Conference享受 100 欧元的提前注册会议费用折扣。本届会议为期四天半,将于 2010 年 10 月 11-15 日在德国杜塞尔多夫市举行。本届会议将以前年度的 WebSphere 会议和 Transaction & Messaging Conferences 无缝合并为一个统一日程,只需一次付款,即可参加两个盛大会议。今年的会议将于 Portal Excellence Conference 在同一城市举行,后者将就门户业务解决方案和技术策略进行专题研讨......
  • 上月,IBM Support Portal 荣获 Association of Support Professionals 评选的 2010 年度十佳支持网站 称号。您尝试访问过 IBM Support Portal 吗?IBM Support Portal 目前涵盖所有 IBM 软件产品,取代了所有软件产品的支持页面。请参阅权威支持的 新 IBM Support Portal 简介 了解详细信息。
  • 在 developerWorks 上的 IBM Electronic Support Community 博客 学习、共享并联网。
  • websphereusergroup.org 查看新的 Global WebSphere Community。定制您的个人 GWC 页面上的内容,连接与您志趣相投的其他 “WebSphere 人”。
  • WebSphere Technical Exchange 将在 7 月和 8 月安排一些令人兴奋的网络广播。请查看此站点了解详细信息,也可以通过 Facebook 成为一名粉丝!

继续关注 与支持相关的各个网站 以及本专栏,了解我们所遇到的其他工具的相关新闻。

现在,让我们言归正传......

使用 Rational Automation Framework for WebSphere 管理现有环境
本文适用 IBM Rational Automation Framework for WebSphere V7.1.1.4。本文描述的部分特性在以前的版本中不可用。

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 提供两种选择以将一个单元置于此框架的管理之下:

  • 第一个选择是使用新的单元向导来定义一个新 WebSphere 产品单元的拓扑。通过新的单元向导运行后,一个自动化计划将被创建来安装 WebSphere 产品位元,创建和联合配置文件,安装 IBM HTTP Server,安装插件,等等。
  • 另一个选择是将一个现有 WebSphere 产品单元导入 Rational Automation Framework。使用现有单元向导,您只需指定一个关于该现有单元的最小信息集合,比如一个节点的主机名,操作系统和 WebSphere 产品用户的凭证以及一个配置文件位置。Rational Automation Framework 将发现该单元的拓扑并在 Rational Automation Framework 中构建一个表示,以及一个自动化计划来从该单元导入配置数据(见图 1)。


图 1. Rational Automation Framework 现有单元向导的示例运行
使用RAFW管理您的 WebSphere 产品安装、配置和应用程序部署_第1张图片

将单元的拓扑导入 Rational Automation Framework 后,将创建一个自动化计划来在所有应用程序范围内运行动作 was_common_configure_all。这将导入现有单元的几乎所有配置。这里描述的示例环境是一个 WebSphere Application Server Network Deployment 环境,因此该自动化计划将在单元、集群和服务器范围内运行这个 import all 动作(见图 2)。


图 2. 导入单元的配置的自动化计划
使用RAFW管理您的 WebSphere 产品安装、配置和应用程序部署_第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 模式动作
使用RAFW管理您的 WebSphere 产品安装、配置和应用程序部署_第3张图片

比较 Rational Automation Framework 的知识库和一个活动单元

“配置漂移” 指的是当随时间变化在一个 WebSphere 产品中引入差异时可能发生的一种情况。尽管大多数用户努力尝试保持阶段化(staging)和生产环境同步,但一个更改的引入仍然不可避免,而且这种更改通常不会被注意到。这样的秘密更改的一个常见来源是企图调试生产中的问题。当一个关键应用程序在 2:00 AM 关闭时,企图使该应用程序返回在线状态而进行的所有更改有可能不会被全部记录 — 或者恢复,如果不必要的话。这些应用程序中的更改在短期内似乎没有危害,但一旦您部署一个新应用程序,它就开始在您的生产和阶段化环境的同步中表现异常。或者,您的东部和西部沿海数据中心之间可能会出现一个差异。在 “激战阶段” 进行的更改一开始好像没有危害,但当它开始导致问题时,那么要找出问题所在仿佛是大海捞针。

Rational Automation Framework 中的 Compare 模式将比较 Rational Automation Framework 的知识库中存储的配置和活动单元中的对应配置,并标记任何差异。使用 Rational Build Forge 自动化平台,您可以将这些比较安排在非高峰时间并定期运行它们。更改发现得越早,就越容易就应该接受还是恢复该更改做出明智的决定,而不是绞尽脑汁回忆 6 个月前为何要进行更改。

图 4 展示了一个比较结果,其中 Rational Automation Framework 配置包含一个 WebSphere 生产单元中不存在的数据源资源。


图 4. 标记活动单元中的一个缺失对象的比较模式
使用RAFW管理您的 WebSphere 产品安装、配置和应用程序部署_第4张图片

图 5 展示了一个比较示例,该比较标记了对一个数据源的连接池属性上的最大连接设置的更改。


图 5. 对一个数据源上的一个属性的更改
使用RAFW管理您的 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 文件。这个应用程序属性文件可以采用两种格式:

  • 第一种格式是包含部署的所有 wsadmin 选项的单个 OPTIONS 键。这个选项字符串可以使用 WebSphere Application Server 的大多数版本快速创建,只需使用管理控制台来部署应用程序并选择 View Administration scripting command for last action 链接。
  • 创建这些属性文件的另一个选择是在文件中为 wsadmi 中的每个选项创建自己的键。这种方法允许管理员为文件创建一个可以传递给开发人员的模板版本。这样,开发人员只需关注一小部分选项。清单 2 展示了来自这样一个文件的片段。在这个示例中,开发人员将确定是否应该使用 preCompileJSPs 选项,但管理员会决定将这些模块映射到哪些服务器。Rational Automation Framework 为此框架支持的每个 WebSphere Application Server 版本提供了一些示例文件。


清单 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 通过一个过滤器传递已提升的数据。这种过滤器理解两种表达式类型:

  • 第一种是一个简单的基于文本的替换。为支持基于文本的替换,已提升的来往两个范围都需要一个 promote.properties 文件。这些文件必须包含相同的键。在上述独立服务器到 Network Deployment 集群的提升示例中,每个文件中的键是:
    • 服务器范围内的独立环境:myKey=ABC
    • 集群范围内的 Network Deployment 环境:myKey=XYZ
    当 Promote 模式动作运行时,它将找出所有匹配键并将所有 “ABC” 实例更改为 “XYZ”。这种方法很强大,但不支持细粒度控制。
  • 另一种过滤器类型基于 Xpath 表达式。与关系数据库的 SQL 非常相似,Xpath 支持导航到一个 XML 文档中的各个地方。对于 Xpath 键,您只需在目标环境的 promote.properties 文件中指定键和值。有两个键:一个是包含 Xpath 表达式的后缀为 .xpath 的键,另一个是表示新值的后缀为 .value 的键。在清单 3 中的示例中,Xpath 表达式表明,对于所有 JavaProcessDef 元素,获取 JavaVirtualMachine 元素的 maximumHeapSize 属性。定位该属性后,将值设置为 512。用 WebSphere Application Server 术语来讲,您在将您的每个服务器 JVM 的 MaximumHeapSize 强制设置为 512MB。开发人员可能已经在他的本地桌面上用 2GB 最大堆大小进行了测试,但同样的配置在一个托管大量 JVMs 的共享服务器上不现实。

    清单 3
    						
    MyMaxHeapSetting.xpath=//JavaProcessDef/JavaVirtualMachine/@maximumHeapSize
    MyMaxHeapSetting.value=512

    另一个示例更改一个 widgetDB Data Source 以指向生产数据库服务器并使用端口 5001。



    清单 4
    						
    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/

你可能感兴趣的:(使用RAFW管理您的 WebSphere 产品安装、配置和应用程序部署)