内容


提高 IBM i 的敏捷性

使用 Rational Team Concert 和 ARCAD Pack for Rational 管理 IBM i 应用程序

Comments

简介

本文介绍 ARCAD Pack for Rational 如何扩展 IBM® Rational Team Concert™ 和 IBM® Rational® Developer for i,以管理基于 IBM® i 的遗留应用程序,加快采用敏捷软件开发和 DevOps 原则。这些技术使企业更加敏捷;让企业能够快速高效地应对变化。

在本文中,您将:

  • 了解这些工具如何简化开发和部署工作
  • 了解如何完全自动化构建和部署流程,涵盖的系统包括开发工作站,一直到您需要将更改部署到的生产服务器
  • 了解一种典型的构建战略,看看 ARCAD 如何自动地将 IBM i 组件包含在该战略中
  • 了解如何将 IBM i 组件包含在您的持续集成战略中

您需要的工具以及这些工具如何协同运行

每项工作都需要一个得心应手的工具。要将 IBM i 开发包含在 DevOps 战略中,您需要 ARCAD Pack for Rational、Rational Team Concert 和 Rational Developer for i。

ARCAD Pack for Rational

ARCAD Pack for Rational (APR) 扩展了:

  • Rational Developer for i
  • Rational Team Concert

APR 和 Rational Developer for i

Rational Developer for i 是一个强大的现代工具集,让您可以用原生的 IBM i 语言进行开发。大多数组织都采用了它,因为 SEU、SDA、RLU 和 PDM 等原生工具是静态的,而且不再改进。另外,大多数年轻的开发人员都知道 Rational Developer for i 所基于的 Eclipse 环境,知道这个环境使他们能够迅速适应 RPG 和 COBOL 等语言并高效地工作。

ARCAD Pack for Rational 扩展了 Rational Developer for i 来处理 IBM i 领域的工作。它使用特定的 IBM i 特性来增强构建流程,比如数据库升级和依赖项检查。它支持所有 IBM i 语言,从使用 COBOL 编写的遗留应用程序到 Free Form ILE 和面向对象的代码都支持。

APR 和 Rational Team Concert

Rational Team Concert 改进了整个开发团队的协作和管理工作。它以服务器为中心。因为它可在多个操作系统上运行(Windows、Linux、IBM i、z/OS 等),而且可用于不同的客户端(Eclipse、VisualStudio 或 Web UI),所以它瓦解了各种团队孤岛,将通常很少彼此进行交流的开发人员汇集起来。通过将任务跟踪、源代码控制和敏捷规划与持续的构建和一个可配置流程相集成,它提供了协作式生命周期管理的所有好处。如果您正在使用 Rational Team Concert for Eclipse,那么可在任何 Eclipse 平台上部署 Rational Developer for i。

APR 扩展了 Rational Developer for i 和 Rational Team Concert,继承了所有 Rational 技术并为 CLM 领域引入了 ARCAD IBM i 技术(IBM i 对象管理,以及 IBM i 上自动化和优化的分析-变更-构建-部署周期)。Rational Team Concert、Rational Developer for i 和 ARCAD Pack for Rational 组合起来可得到一个多平台解决方案,以及可供某个项目所有参与人(包括 IBM i 开发人员)进行协作的公共环境。它提供了一个端到端的解决方案,从审核现有的生产环境开始,一直到将变更交付给生产服务器。

针对持续集成的配置

在 IBM i 架构中,更改一个元素可能会影响其他几百个元素。如果手动执行所有依赖项分析,甚至一次简单的变更都可能很耗时且易于出错。如果您正在管理 ILE 和 SQL,情况很快就会变得更加复杂。ARCAD 无缝地融入到 Rational Team Concert 和 Rational Developer for i 中并且增强了构建流程,将 IBM i 组件包含在 Rational Team Concert 开发流程中。

构建引擎和构建定义

持续集成的目的是自动化并加速开发周期。为此,您需要在 Rational Team Concert 中创建和部署一个 ARCAD 构建引擎。要创建和部署构建引擎,需要还原一个 IBM 的授权程序,然后使用适合设置的参数来启动该引擎。就这么简单。只需两步即可完成。有了构建引擎后,可使用 APR 所提供的 ARCAD-XXX Build Template 定义一个新的构建定义,并指定它使用您刚刚创建和启动的构建引擎。本教程中的屏幕截图来自该构建定义。

ARCAD-Integration Engine Configuration

ARCAD-Integration Engine Configuration 选项卡可完成默认的 Rational Team Concert SCM 构建定义,以自动包含相关联的 IBM i 组件。构建定义将您链接到一个 ARCAD 变更管理应用程序,该应用程序包含您的规则以及给定目标环境的默认设置。

使用 APR 将 IBM i 组件添加到构建流程中

在下面这个示例中,我们将一个应用程序指定为 STC,如图 1 所示。应用程序在 ARCAD 中定义并包含了可控制变更的规则和默认设置。应用程序定义环境。环境是一组具有某种用途(开发、质量保证、生产等)的库和目录。您可为每个应用程序定义多个开发环境。在此处所示的示例中,我们选择了 “D” 环境。这会将构建定义与一个 ARCAD 环境相关联。一个版本是一个变更集。在此处的示例中,我们选中了 Create a new version。集成类型确定了源代码是否位于版本中,或者是否仅提供对象。

图 1. ARCAD-Integration Engine Configuration 选项卡
构建定义显示了 ARCAD-Integration 选项卡
构建定义显示了 ARCAD-Integration 选项卡

您可进一步配置 IBM i 构建工作,以运行额外的步骤并向 Rational Team Concert 提供有关构建结果的额外反馈。ARCAD 创建了包含这些额外信息的列表。在图 2 中,我们指定了两个包含 ARCAD 信息的额外列表,其中的信息可包含在构建结果中。在 ARCAD-Integration Engine Configuration 选项卡上,您可指定要在此构建中触发的 ARCAD 流程。这些 ARCAD 流程称为 “宏”。图 2 显示了所指定的 Build 宏

图 2. 更多构建结果
构建定义显示了更多 ARCAD 选项
构建定义显示了更多 ARCAD 选项

Build 宏可以:

  • 签出已更改的源代码
  • 编译源代码
  • 查找依赖项
  • 编译依赖项
  • 处理文件中的数据
  • 等等

Build 宏消除了在 Rational Team Concert 中操作时手动编写 IBM i 组件脚本的需要。如果使用 Rational Team Concert 更改一个表,而不是用 APR 扩展,您要将该表单独提供给流。其他的部分则由您决定。在构建流程中定义这种自动化功能后,系统会考虑并添加表、它的索引和视图,以及任何其他依赖对象。编译工作会按正确的顺序完成,数据保留在目标文件中。对象所有权和授权等创建参数也是可控的。如果使用 Rational Team Concert 手动管理 IBM i 组件,您会喜欢使用这些扩展运行构建的结果。图 3 显示了这些扩展所提供的一些附加信息。

在此处描绘的构建过程中,已更改了一个 PF。如果没有 APR 扩展,这就是您提供给流的所有信息。如果使用 APR,您会看到两个额外的列表。顶部的列表显示了所有已编译的组件以及包含它们的原因。如果查看右侧,会看到 Modified 和 Recompile 标签。ARCAD 构建引擎将所显示的可重新编译项自动添加为依赖组件。第二个列表显示对象本身并提供您所需的 IBM i 信息。没有其他的工作要做。整个过程是自动化的。现在,您可以更为明智地利用开发人员以前必需手动完成此任务时所花的大量时间。

图 3. 使用 APR 的构建结果 – 表更改
表更改操作的构建结果
表更改操作的构建结果

其他要考虑的方面

向流程中添加分析工具

自动完成构建过程中的各种手动流程,意味着您能精准地确定更改时间。但是您还应考虑用各种工具来执行更改。Rational Team Concert 没有为开发人员提供什么方法来查看那些组件使用了 IBM i 上一个表中的某个特定字段。不错的分析工具会向 IDE 添加上下文敏感菜单,能在 Rational Team Concert 中工作时轻松地提供此信息。ARCAD Pack for Rational 以 ARCAD-Observer 的形式包含了这样一个工具,如图 4 所示。

图 4. ARCAD-Observer 添加了分析工具
ARCAD Observer 依赖项分析
ARCAD Observer 依赖项分析

进行开发时,在 IDE 中拥有依赖项、调用链、传递的参数、数据库关系等信息是成功实现敏捷性的关键。更快地进行分析能够对项目的成本产生直接的影响。借助此信息,您可修复各种错误并实现应用程序现代化,还能迁移到新技术。如果能缩短项目中分析工作所需的时间,就能用更多的时间来执行实际的编码工作。

让测试成为任何变更的一个结构化组成部分

到目前为止,本文主要介绍了这些工具如何帮助开发人员提高速度、敏捷性,最重要的是,实现自动化。您已看到 APR、Rational Team Concert 和 Rational Developer for i 如何自动化和简化开发工作。为了实现全面的敏捷性,需要将自动化扩展到开发环境以外,将各种更改的测试和部署工作实现自动化。

ARCAD-Verifier 工具可采集测试人员的知识并可在需要时迅速检索这些知识。如果想避免出现瓶颈并确保信息系统更改具有很高的质量,在将更改交给测试团队后,有必要执行自动的测试工作。图 5 显示了一次测试的结果。

图 5. ARCAD-Verifier 自动执行测试工作
构建 ARCAD-Verifier 测试结果
构建 ARCAD-Verifier 测试结果

用户测试某个应用程序功能时,该工具会采集击键和用户操作,并将此信息存储为一个测试方案。它还会检测和记住哪些组件受到测试的影响。这意味着在执行软件更改时,该工具自动将合适的场景收集在一起,将它们捆绑到一次活动中并自动运行它们。然后该工具会突出显示此次运行与上次成功运行之间的区别,您可在客户端中查看这些区别或将其生成为报告。这些区别可能是数据、用户界面或假脱机文件等方面的区别。现在,您可以更轻松地识别和更正真正的性能退化问题了。

通过将 ARCAD-Verifier 测试工具与 Rational Team Concert 和 ARCAD Pack for Rational 结合起来,将软件更改传输到测试环境并对这些更改执行回归测试的整个过程都是自动完成的。您可更频繁、更轻松地重复传输和测试过程 - 甚至持续地执行这些过程。感谢自动化,现在您能更快且更准确地完成过程中的每一步操作。现在需要的是将产品快速交付到生产环境。

自动部署已更改的组件

您的解决方案应包含发布管理功能,或者自动部署已更改的组件。要想确保准确性,交付系统需要与变更管理系统紧密结合。您需要可一次将产品交付给多个平台的系统。该系统应足够开放,能与 ANT 等技术交互,从而在任何类型的服务器上执行流程。自动化的部署有助于降低成本和消除错误。它提高了人们的生产力,使您能够在发生任何错误时回滚变更。您可将它视为一种保证。

完成持续集成工作

DevOps 是 “开发和运营” 的缩写。其原理是加快软件的交付,使您能够抓住市场机会并将获取客户反馈的时间缩短。它改善了开发和运营团队之间的协作。通过自动完成以前的各种手动流程并消除浪费,这种方法在速度、成本、质量和风险之间实现了一种平衡。通过加速客户反馈循环速度,它改善了客户的体验。那么如何实现此流程的持续性?

持续集成需要将所有开发人员的所有变更集成到一个共享存储库中,并且该过程一天要执行多次,以便能够尽早发现并更正问题。应该将这些变更收集起来,然后在所有变更上执行一次自动构建。可使用 ARCAD Pack for Rational 的 ARCAD-Deliver 组件与 Rational Team Concert 一起完成此工作。执行此流程的频率完全取决于您。迭代速度是一种受许多因素影响的组织决策。

计划一次自动构建

图 6 显示了一个构建定义的时间表。其中选择了 schedule 选项卡,这是在进行构建时可以自动完成工作的地方。要使用 ARCAD-Deliver 自动化构建流程,您可:

  • 安排在全天定期运行一次构建(例如每隔 15 分钟,如图 6 所示)
  • 安排在全天的某些时间运行一次构建
  • 使用脚本,通过将更改后的源代码提供给存储库中的一个流来触发构建工作。
    • 每次更改源代码时都会自动触发构建过程。
图 6. 构建定义 - 时间表
构建时间表屏幕和选项
构建时间表屏幕和选项

您更新的流与处理流中各种变更的构建定义之间存在着某种关系。您可拥有许多构建定义,每个定义绑定到一个流。更新该流时,一个特定的构建定义会处理这些变更,无论这些构建工作是被触发的、计划性的还是手动请求的都是如此。这为您提供了一种一致且可重复的流程来管理该流中的变更。您可用不同的方式管理每个流。在典型的设置中,一个流指向由 ARCAD 管理的一个特定暂存区域。ARCAD 可确保 IBM i 依赖项是正确的,并在 ARCAD-Deliver 流程中验证该暂存区域的内容。

自动部署构建结果

可以触发、按计划运行或手动运行一次构建过程。构建过程从存储库获取变更并进行处理。构建过程为您提供了准确性和一致性。ARCAD 可确保依赖项都已考虑在内。现在您需要获取变更和依赖项集合,并更新目标环境。也可自动完成这些工作,并使其成为构建过程的一部分,而且是持续集成执行过程中的最后一部分。您可手动使用 ARCAD-Deliver 来执行更新,但对于本文,交付工作是全自动的,如图 7 所示。

图 6 显示了 ARCAD-Deliver Engine Configuration 选项卡。该选项卡让您能够触发对目标环境的脚本化更新。在此示例中,系统会触发 ARCAD 中定义的一个流程,以更新一个特定的测试区域。

ARCAD-Deliver 会:

  • 验证各种变更的内容
  • 验证是否已考虑了依赖项
  • 确保没有源代码回归
图 7. 构建定义 – 自动交付
构建定义的更多选项
构建定义的更多选项

持续集成流程到此就结束了。变更位于它们应在的地方,运行测试场景的测试流程已完成,而且已准备好测试变更。同样,这些工作可在每天定期发生,或者在每次存储库中的源代码出现更改时发生。

结束语

您看到了 ARCAD Pack for Rational 如何增强 IBM Rational Team Concert 和 Rational Developer for i,以处理 IBM i 开发和部署问题。您已知道如何配置这些工具来支持 IBM i 组件的敏捷开发方法。流程中的每一步都需要这种自动化。Rational Team Concert 将任务跟踪、源代码控制和敏捷规划,与持续构建和一个可配置的流程相集成,以适应您的工作方式。构建优秀软件所需的一切都无缝地集成在一起。这个 ARCAD 和 IBM DevOps 工具集提供的支持让您能够准确且自动地在持续集成战略中涵盖 IBM i 开发。没有任何原因让 IBM i 世界不再具有敏捷性。您需要做的就是立即行动。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=DevOps, Rational, IBM i
ArticleID=1010828
ArticleTitle=提高 IBM i 的敏捷性
publish-date=07132015