从根本上改变您的应用程序和产品支持

IBM Application Runtime Expert for i 概述

IBM Application Runtime Expert (ARE) 是一个激动人心的新产品,专为 IBM i 而创建。ARE 可能会促使您重新思考您的系统管理、应用程序问题确定、产品支持和测试的整体实现途径。

Mark Schroeder, Web 集成团队负责人, IBM

Mark Schroeder 是一位 IBM Application Runtime Expert for i 架构师。Mark 在 IBM i 上工作了 10 多年,主要处理面向 Classic JVM 和 Web 技术(比如集成 Web 应用程序服务器)的 Java™ Just-In-Time (JIT) 编译器。



2011 年 9 月 22 日

背景知识

在 21 世纪,软件和硬件行业都发生了巨大的变革。硬件虚拟化允许客户将单个系统划分为多个不同的分区。软件的构建基础或框架越来越复杂。很多时候,这种复杂软件可在它自己的虚拟机(比如 JVM)中运行,而虚拟机本身可能在虚拟硬件资源上运行。总之,那些系统,以及系统上运行的软件,比以前的系统和软件要复杂得多。

在这种新场景中,如果某个系统出错,会出现什么情况呢?也许系统刚才还好好的,突然就停止了工作。或者,它也许在某个分区上无法工作,但在另外 5 个分区上却能正常运行。又或者,应用程序还能运行,但性能糟透了。为何操作系统不能工作?发生了什么变化?正常系统和故障系统之间有什么区别?随着应用程序和系统日益复杂,这个问题通常很复杂,不容易回答。

IBM Application Runtime Expert for i (ARE) 是一个新产品,专为 IBM i 而开发,旨在帮助您回答 “应用程序出了什么问题?” 这个重要问题。ARE 支持创建一个可重复的自动化流程,以确定您的系统或系统上运行的应用程序发生了什么变化。ARE 还支持轻松快速地比较系统或分区之间的属性、应用程序、系统和环境。这对于诊断某个组件在一个系统上可以运行、在另一个系统上却无法运行这个问题很有帮助。ARE 的最大好处是有助于轻松快速地发现问题。


产品概览

开始之前,需要重点注意的是,要访问本文讨论的所有特性,则必须已经在您的系统上安装了 IBM Application Runtime Expert for i PTF 5733ARE SI42401 或更新的版本。PTF SI42401 将 Application Runtime Expert 的 Web 用户界面升级到了 1.5.1 版。

一个简单示例

我们首先来看一个简单示例,了解 ARE 有哪些功能。假设您有一个包含 1,000 个文件的应用程序。这些文件可能位于 IFS 中,也可能位于 Library 系统中,或者同时位于二者之中。如果修改某个文件或目录上的权限,则可能导致应用程序停止工作。可以使用 ARE 构建一个工作应用程序模板。应用程序停止工作时,ARE 可以使用该模板比较应用程序的正常工作状态和故障状态。在几分钟之内,ARE 就能发现并修复(没错,ARE 能够为您修复问题)导致应用程序失败的权限问题。

您不相信?您对权限问题不感兴趣?好吧,假设您有一组配置文件,它们包含应用程序用来控制其行为的值。如果更改某个文件中的某个值,则可能需要花费数小时逐一检查所有文件,才能找出发生变化的部分。ARE 可以在几分钟内完成这项任务。可以对 ARE 能够验证的所有属性逐一重复这个示例。ARE 的威力不仅仅在于它的比较和验证能力,还在于它支持构建完整的应用程序配置,可以随时 用它来验证整个 应用程序。


部署模板编辑器

ARE Web 用户界面包含两个 Web 应用程序:部署模板编辑器和控制台。模板编辑器支持创建和修改部署模板的内容,控制台支持使用模板验证网络上的任何 IBM i 系统。可以通过以下 URL 访问这两个 Web 应用程序:

http://hostname:12401/are/index.html

在深入讨论部署模板编辑器之前,我们会先介绍一些术语。“部署模板” 的确切含义是什么?为了更轻松、更准确地理解 “部署模板” 的含义,我们先来看看术语 “部署”。部署是软件及其运行环境的属性的集合。下面是一些常见的部署示例:

  • 任何 IBM i 产品
  • IBM i 上的任意应用程序
    • ISV 或内部编写的应用程序
    • WebSphere Application Server
    • 集成 Web 应用程序服务器
    • RPG 应用程序
    • 目录树
  • 软件、系统和环境信息的自定义选择

简言之,部署就是您想验证的应用程序、系统和环境信息。

模板是部署的属性集合。属性可以特定于您的应用程序,比如目录、文件、库信息(大小、存在性、创建和修改日期、符号链接、所有权限相关属性);也可以特定于系统信息,比如用户 ID、端口信息、系统值、PTF;或者特定于环境信息,比如网络完整性、配置文件的内容、依赖产品、环境变量。构建好模板后,即可使用它来验证同一个或另一个 IBM i 系统上的部署状况。模板包含验证系统所需的所有信息。下一节将介绍用于构建和管理模板的 Web 用户界面。

新建模板

登录 ARE Web 用户界面后,系统会将您转到部署模板编辑器主页,如图 1 所示。

图 1. 部署模板编辑器主页
部署模板编辑器主页屏幕快照

首次使用 ARE Web 用户界面时,没有可以显示或使用的模板。因此,列示系统上的模板的表为空。要新建模板,请单击 Create 按钮,然后只需提供模板名称即可。单击 Create 按钮将转到 Plugin Selection and Customization 页面(参见图 2)。

图 2. Plugin Selection and Customization 页面
Plugin Selection and Customization 页面的屏幕快照

Plugin Selection and Customization 页面显示了 5 个不同的插件类别。可以使用这些插件对特定的应用程序或系统属性类型执行验证。例如,File and Directory Authorities 插件可以验证 IBM i 系统上的文件、目录和库对象的权限。另一个示例是用户 ID 插件,用于验证 IBM i 用户 ID 的属性。要查看每个类别中的可用插件,请单击类别图标或名称。

这个 GUI 的一项出色的功能是,如果您对某事不确定,则可以通过单击 Learn more 链接获得更多信息。这些 Learn more 链接贯穿 GUI 始终,无论您位于何处,都可以通过它们获得特定于上下文的帮助。

模板编辑器提供能够验证广泛的应用程序属性的插件,还提供了主要关注 IBM i 系统级属性(包括联网)的插件。如果您的应用程序拥有独特的特性需要验证,或者还有某种功能 ARE 还没有提供,要验证它们都是不成问题的。您可以轻松编写自己的自定义插件,可以直接将它们无缝集成到任何模板中。

构建模板很简单,只需选择感兴趣的插件,然后选择与想要验证的应用程序相关的属性。如果您想验证对象权限,那么可以选择 File and Directory Authorities 插件。您可以从该插件内部浏览整个文件系统,选择要验证的文件和库。如果想验证用户 ID,可以 要验证的用户 ID,甚至指定要验证用户 ID 的哪些属性。同样的概念也适用于其他插件:只需选择 想要验证的内容即可。这就是 ARE 的威力和潜能所在;实际上,每个应用程序都有自己独特的文件、系统值、用户配置文件、产品等,应用程序依赖它们,ARE 允许您指定应用程序需要验证的重要内容。因此您可以获得验证您的应用程序是否正确所需的灵活性。最好的做法是通过这个 Web 用户界面完成所有的选择和定制,这使得构建模板变得既快又容易。

选择想要验证的内容后,剩下的事就是构建模板。如果您还有没有选择的内容,或者对已经选择的内容拿不准,不用担心。模板编辑器假定您在构建模板之后还需要编辑它们,因此已经为您准备了编辑现有模板的功能。要构建模板,请单击 Plugin Selection and Customization 页面底部的 Build template 按钮。

图 3. 模板构建摘要页面
模板构建摘要页面的屏幕快照

摘要页面上包含您选择的每个插件的选项卡,它们汇总您所做的选择和定制。这是检查您所进行的选择的绝好机会;如果有错误或缺项,请单击 Cancel 按钮返回 Plugin Selection and Customization 页面。在确认您的选择后,请单击 Confirm 按钮。这将启动模板构建过程,这引出一个明显的问题:GUI 在模板实际构建中做了什么?在模板构建过程中,GUI 实际上是在从系统挖掘您选择的属性/项目的相关信息。例如,如果您选择文件以验证权限属性,GUI 会挖掘您选择的每个文件的所有者、主组等属性。这些信息都存储在一系列 XML 文件中,它们描述您所选择的项目和 GUI 挖掘的所有属性信息。生成这些 XML 文件后,它们将随同 ARE 需要的其他配置信息一起打包为一个 JAR 文件。这个 JAR 文件就是您的部署模板。

模板构建时间通常低于一分钟,但也可能需要几分钟,具体取决于几个因素(系统速度、可用内存、选择的项目的数量等)。模板构建过程的一个绝佳特性是向您实时显示整个过程。图 4 展示了一个构建状态页面的示例。

图 4. 模板构建状态
模板构建状态的屏幕快照

构建好模板后,请单击 Home 按钮返回部署模板编辑器主页。现在您已经成功构建了您的第一个模板,就是这么简单!您的模板现在已出现在 Manage templates 表中。另外,还有一个新按钮:Actions。Actions 按钮列出了选中的模板上可以执行的所有操作,比如复制、编辑、导出等。

更新现有模板

系统预期您在构建模板后需要更新它们,因此更新现有模板的过程比较简单。请从 Manage templates table 选择 Edit 操作,这将返回 Plugin Selection and Customization 页面,您可以在该页面中更改、移除、修改或添加之前选择的所有属性。只需进行更新并重建模板即可。现有模板的构建过程也很快,因为构建过程只需要更新已修改或添加的属性。因此,总的来说,更新现有模板非常简单,它本来也应该如此。


控制台

模板构建好后,您可能想用它验证系统上的应用程序。可以用两种方法验证应用程序:使用 GUI 控制台或 Qshell 脚本。在这里我们只讨论控制台,您可以在 参考资料 部分列出的 ARE 产品网站中找到关于 ARE 的脚本接口的信息。

ARE 控制台(或简称控制台)是一个 Web 用户界面,可以在其中使用模板来验证本地系统上或网络上的任何 IBM i 系统上的应用程序。使用控制台的一个主要好处是不需要手动将模板传输到目标系统;控制台将为您完成相关工作。您只需选择要使用的模板,提供目标系统名称或 IP 地址、用户名和密码即可。控制台会使用您提供的信息来验证目标系统。验证结果可直接从目标系统中进行检索,以便从 Web 浏览器直接查看它们。控制台可以同时验证多个分区或系统,这使得从单个位置验证您的整个企业环境中的多个应用程序变得非常简单。

要访问控制台主页,只需单击 Deployment Template Editor 页面底部的 Launch console 按钮即可。控制台主页是指定要验证的系统的相关信息的地方,如图 5 所示。

图 5. 控制台主页
控制台主页的屏幕快照

表中的一行代表要验证的一个分区或系统。可以指定任意数量的分区或系统,也可以为不同系统指定不同模板。单击 Veriry systems 按钮即可启动验证过程。单击按钮后,会显示 System verification status 页面,该页面中显示了每个系统的验证进度。系统验证状态会自动刷新,您也可以单击验证状态表右上角的 Refresh 链接手动刷新它。

完成系统验证后,该系统的状态栏上将显示一个 Complete 图标,Result 列会显示验证结果摘要。Result 列不仅仅是一个验证结果摘要,结果列文本本身就是一个链接,如图 6 所示。该链接将链接到目标系统验证过程中生成的报告。可以通过结果列中的链接来查看三个报告:摘要、详细和 XML。还有一个链接到运行时日志的链接。运行日志包含目标系统验证过程中写入控制台日志的事件。

图 6. 验证报告链接
验证报告链接

在这三个报告中,最有趣的是摘要报告。摘要报告是一个定制的、Web 浏览器友好的报告,包含系统验证过程中检测到的所有问题的摘要。摘要表中的每一行都包含针对某个特定插件的结果,比如 Authority Verifier 或 System Value Verifier 插件。插件名称前面紧邻的图标表示插件发现的最严重问题。每行中的其他项目表示插件验证的属性数量以及每个严重性级别(错误、警告和信息)上发现的问题的数量。要查看每个插件发现的问题的详细信息,请单击插件名称前面的扳手 (twisty) 图标或者插件名称本身。这将展开插件的摘要视图,显示发现的关于插件每个问题的详细信息。如果没有发现插件问题,自然也就不会有详细信息。

修复检测到的问题

每一行的最后一个项目是 Fix actions 列,它指出了检测到的问题中有多少可以从控制台 Web 用户界面直接修复。修复操作是为修复验证过程中检测到的问题而采取的操作(这里是直接从控制台执行操作)。这是一个非常方便的特性,您甚至不必访问和登录目标系统就可以解决某些问题。 重要的是要注意,只有某些类型的问题(比如权限问题)才可以从控制台直接修复。例如,如果某个文件丢失,就不可能从控制台 “自动” 修复问题。

图 7 展示了一个摘要报告示例,该报告中有两个插件提供了修复操作:Authority Verifier 和 User Profile Verifier。

图 7. 包含修复操作的摘要报告
包含修复操作的摘要报告的屏幕快照

当您单击 Fix actions 链接时,系统会将您转到另一个页面,该页面汇总了插件检测到的、可以从控制台直接修复的所有问题。选中要修复的问题后,然后单击 Fix 按钮,控制台就会开始修复目标系统上的选中问题。修复问题后,系统会显示第二个(结果)表,并显示修复结果。注意,在结果表中,第一列 (Result) 显示了控制台修复问题的结果,第二列 (Description) 包含原始问题,而不是修复结果的说明。


免费试用?

过去几年中,我们发现,当需要确保应用程序和系统正常工作时,许多 IBM i 用户似乎都关心几个公共问题。为此,IBM 提供了几个基本 ARE 模板,无需在系统上安装 ARE 产品即可使用它们。我们目前可以使用以下 4 个模板,它们都可以通过 Qshell 在本地 IBM i 系统上运行。

  • 网络:Network Configuration 插件验证各种 TCP/IP 配置设置和网络特征。它检查一些常见配置问题,与检查通过 CFGTCP CL 命令获取的信息极为类似。这个模板还执行一些基本网络操作,比如查询 localhost 和检查是否可以访问所有已配置好的 DNS 服务器,并验证系统的网络配置是否适当,以便需要频繁访问网络的应用程序(比如 Web 应用程序)能够以一种快速、可靠和可重复的方式访问网络。
  • 主机服务器:目前的许多应用程序要求系统上的所有主机服务器都处于活动状态。该模板可确保所有主机服务器都处于运行状态。
  • 基本集成 Web 应用程序服务器:要使用这个模板,只需指定这个系统上的现有 IAS 服务器的名称,这个模板将验证 IAS 服务器的所有特定于 IBM 的设置和值都符合预期。
  • Pre-checker:对于许多客户而言,这可能是我们提供的最有趣的模板。这个模板适用于以下情况:您有一个基于 Java 的应用程序,该程序似乎马上就要失败。或者,您可能正在试图启动一个 Web 服务器(WebSphere Application Server、IAS 服务器,甚至是 ARE 服务器),这个作业似乎根本无法启动。在这些情况下, 您的系统上的 Java、Qshell 或 PASE 可能无法正常工作。这时,pre-checker 可能会为您提供帮助。

pre-checker 是一个基于 C 的程序,用于验证 Java™、PASE 和 Qshell 运行时环境的基本状态和情况。这个模板能够帮助诊断一些常见问题,可能有助于您更正这些环境,而不必进行数小时的问题分析。

目前,IBM i 6.1 和 7.1 上都提供了这些模板,但它们的确需要最新的 HTTP 小组 PTF(IBM i 6.1 上的 SF99115 或 IBM i 7.1 上的 SF99368)。安装小组 PTF 后,就可以从 Qshell 运行以下脚本来使用这些模板:

/QIBM/ProdData/OS/OSGi/templates/bin/areVerify.sh

Usage: areVerify.sh <parameter>
Valid parameter:
    -network               : Verify network configuration and status
    -iasserver server_name : Verify the 'server_name' IAS server
    -precheck              : Verify software products that are necessary to use 
                             the IBM Application Runtime Expert for i
    -hostservers           : Verify the host servers are active

结束语

IBM Application Runtime Expert for i 提供了一些工具,允许快速理解应用程序及其运行环境,以一种可重复的方式验证这些应用程序;当您处理您的应用程序及其运行系统时,这种方法可能会帮助您节约大量的时间。

请参见 参考资料 部分,以获得一些链接,深入了解 IBM Application Runtime Expert for i 产品。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=IBM i
ArticleID=758592
ArticleTitle=从根本上改变您的应用程序和产品支持
publish-date=09222011