内容


评论专栏

在便携式计算机上开发大型机应用程序

系列内容:

此内容是该系列 # 部分中的第 # 部分: 评论专栏

敬请期待该系列的后续内容。

此内容是该系列的一部分:评论专栏

敬请期待该系列的后续内容。

向 z/OS 操作提供更多灵活性

众所周知,大型机 持续运行,几乎不需要关机并重新启动。相反,个人计算机经常 启动 或重启,它们整天都关机并重启的情况很少见。

那么,如果有一个 z/OS® 系统可以随时进行 IPL(初始程序加载;相当于启动),您将作何感想?在您的便携式计算机上运行 z/OS 这个想法怎么样呢?

IBM Rational Developer for System z Unit Test 特性(以下称为 Unit Test)支持在桌面计算机上创建一个 System z 环境,以便执行典型的 z/OS 中间件来进行开发和测试。Unit Test 特性基于 IBM System z Personal Development Tool (zPDT),在基于 Intel® 或 Intel 兼容的(x86)个人计算机(PC)处理器的 Linux® 系统上运行。它在一台能够运行当前 System z 操作系统的 PC 上提供一个 System z 环境,包括选中的 System z I/O 设备和控制单元的虚拟化。它旨在作为一个开发、演示和学习平台,而不是作为生产系统。

大型机开发的常见障碍

有些大型机开发人员在开发大型机应用程序时发现自己处境不妙,原因是他们可能没有在分布式环境中进行开发通常拥有的灵活性。面向大型机开发通常意味着:

  • 对大型机的持续连接是必要条件。
  • 开发与生产共享机器,因此优先权较低。
  • 很难创建跨平台组件。
  • 新开发人员不熟悉 ISPF 绿屏用户界面,或者觉得界面不美观。
  • 平衡开发和生产所用的 MIPS。

因此,我们的目标是解决这些问题,向大型机开发人员提供 PC 环境具有的敏捷性。

何为 Rational Developer for System z Unit Test?

IBM Rational Developer for System z Unit Test 旨在向能够在 PC 上运行 IBM z/OS 中间件的开发人员提供一个小型个人测试环境,从而基本消除分布式开发环境和现有大型机开发环境之间的成本差异。

在 PC 上运行个人 System z 开发环境将向独立开发人员提供一个可移植性更好、灵活性更高、成本更低的环境,从而扩展了旧版 IBM Rational Developer for System z 通过 IBM WebSphere® Application Server 单元测试环境、IBM CICS® TX Series 和 IBM DB2® 所提供的功能。

新的 Unit Test 特性包包含一组预配置的 IBM 软件,允许开发人员在该环境中将其用于开发用途。这些软件包括:

  • IBM z/OS,包括子特性
  • IBM WebSphere Application Server for z/OS
  • CICS Transaction Server
  • IMS™
  • IBM DB2 for z/OS
  • IBM WebSphere MQ for z/OS
  • IBM Java™ SDK for z/OS
  • Enterprise COBOL
  • Enterprise PL/I
  • XL C++
  • IBM Debug Tool 等

(请参见 产品信息 了解所包含软件的当前级别。)

运行您的代码的一个 Unit Test 同时允许多个开发人员连接;可以连接的用户数量取决于您的服务器的容量。(例如,我们对使用一台内存为 8GB 的 Lenovo ThinkPad 型号 W500 来开发 COBOL/CICS 应用程序进行了一些测试,这些测试同时处理三个开发人员连接,但响应时间仍是可以接受的。)

图 1 展示了 Unit Test 特性架构。

图 1. 使用 Rational Developer for System z Unit Test 架构
图 1. 使用 Rational Developer for System z Unit Test 架构
图 1. 使用 Rational Developer for System z Unit Test 架构

Unit Test 特性的优势很多,其中较大的一个优势是可以使用较便宜的机器(比如便携式计算机)来开发大型机应用程序。其他重要的优势包括能够:

  • 消除分布式开发环境和基于现有大型机的开发环境之间的成本差异。
  • 解放大型机开发 MIPS 以满足生产能力需求。
  • 随时随地开发和测试 System z 应用程序。
  • 快速原型化新应用程序。
  • 向更多开发人员和测试人员开放大型机开发。
  • 利用一个更现代、更敏捷的团队工作台,加速交付跨多个平台的新工作负载。
  • 轻松集成其他 Rational 和 IBM 工具,获取额外生产力和 MIPS 节约。
  • 通过减小操作人员依赖性消除昂贵的延迟。

例如,借助 Unit Test 特性,开发人员能够更轻松地访问单元测试环境中的 IBM 中间件的现代版本,而无需等待大型机更新。他们还能够探索新的 CICS 或 IMS 特性,研究新的架构模型,执行第一组测试,以及回归测试,不必担心其他开发人员的更改会导致意想不到的错误。Unit Test 特性支持开发人员随时随地构建和测试 System z 应用程序,而不会影响生产操作。

使用 Unit Test 特性

要使用此特性,您需要一台能够运行 Linux 的桌面机或便携式计算机,并在 Linux 系统中安装 Unit Test 特性软件。支持的 Linux 发行版包括 Red Hat RHEL 或 openSUSE(仅限于 64 位);zPDT 将检查 Red Hat 或 openSUSE 指示符,不能安装在其他 Linux 发行版中。

您还需要一个 USB 硬件密匙(如图 2 所示)来验证您的 Unit Test 许可。

图 2. Unit Test 特性硬件密匙
图 2. Unit Test 特性硬件密匙

安装流程必须遵循以下顺序:

  1. 安装并定制 Linux。
  2. 安装 zPDT 软件。
  3. 激活 Rational Developer for System z Unit Test USB 硬件密匙。
  4. 配置 z/OS 已安装软件以及必要组件。

样例场景

本文描述的示例使用 Rational Developer for System z 和 Rational Developer for System z Unit Test 特性。在这个场景中,数据库已经在 Unit Test 服务器上创建,应用程序运行需要的 CICS 资源也已创建。下面的步骤反映了所涉任务的顺序,并展示了一些具有代表性的屏幕截图。这些步骤还展示了启动 Unit Test 特性所需的任务,尽管在典型的工作会话中,该特性应该已经启动。

在本例中,Rational Developer for System z Unit Test V7.6(见图 3 中的 RDz UT)安装在一台内存为 8GB 的 Lenovo ThinkPad W500 上。开发人员正在使用另一台 ThinkPad,其中安装有 Rational Developer for System z V7.6 客户端(见图 3 中的 RDz)。 我们还添加了一台位于德克萨斯州的真实大型机(这是可选的)。开发人员远程工作。图 3 展示了这个场景的架构。(在图 3 中,RSE 指 Remote System Explorer,这是使用 Rational Developer for System z 时 z/OS 中必须安装的组件之一。)

图 3. 使用 Rational Developer for System z 和 Unit Test 特性的场景
图 3. 使用 Rational Developer for System z 和 Unit Test 特性的场景
图 3. 使用 Rational Developer for System z 和 Unit Test 特性的场景
  1. 启动 Linux。

    启动之前,必须安装 Unit Test USB 密匙(见图 1)。Linux 启动过程与其他操作系统相同。您输入一个授权 ID 和密码,系统打开一个终端,其中允许输入 Linux 命令。在本例中,启动过程花费了 3 分钟左右。

  2. 启动 zPDT。

    Linux 启动后,键入一条命令启动 zPDT 和 z/OS 系统。Linux 终端上显示的消息如图 4 所示。启动和停止 zPDT 的 Linux 命令通常是:

    • 启动:awsstart aprof1

      在本例中,文件 aprof1 是 zPDT 的一个配置映射,它定义分配给 z/OS 的内存,以及将通过 z/OS 虚拟化的设备,比如 DASDs。

    • 稍后,当您想停止 zPDT 并关闭 Linux 时,输入停止命令:awsstop

      这条命令立即终止 System z 操作,不会向 System z 操作系统发送任何警告消息。您应该总是在发出 awsstop 命令之前停止 System z 操作系统。

    图 4. 在一个 Linux 终端上启动 zPDT
    图 4. 在一个 Linux 终端上启动 zPDT
    图 4. 在一个 Linux 终端上启动 zPDT
  3. Linux 下的 IPL z/OS

    z/OS IPL 将启动 z/OS 控制台并加载 z/OS 系统。由安装过程负责初始化开发需要的产品。在本例中,IPL 加载 z/OS 并自动启动 JES、CICS、VTAM、RSE 等。IPL 完成后,就可以开始测试了。

    在本例中,IPL 以及 CICS 和其他软件的加载花费 4 分钟左右完成。(这个步骤仅在需要一个新的 z/OS 时才需要完成。我已经配置了我的便携式计算机,以便我能够关闭我的便携式计算机且系统持续启动并运行。)

    图 5 展示了系统启动并就绪时的 z/OS 控制台。系统启动后,就不用再管服务器便携式计算机了。在本例中,Unit Test 服务器的 IP 地址是 192.168.1.111。

    图 5. 系统完全就绪时的 z/OS 控制台
    图 5. 系统完全就绪时的 z/OS 控制台
    图 5. 系统完全就绪时的 z/OS 控制台
  4. 连接到 Unit Test 特性和 z/OS 大型机。

    这是客户端操作。客户端便携式计算机连接到位于德克萨斯的大型机(这是可选的),并连接到地址为 192.168.1.111 的 Unit Test 特性。图 6 显示,这两个连接都是活动的,并显示每个 z/OS 连接下方列示的数据集。

    图 6. 连接到大型机和 zPDT 的 Rational Developer for System z
    图 6. 连接到大型机和 zPDT 的 Rational Developer for System z
    图 6. 连接到大型机和 zPDT 的 Rational Developer for System z
  5. 将代码从大型机复制到 Unit Test。

    在这个步骤中,开发人员拥有一个已定义的远程项目,首先从要修改的代码入手。图 7 展示了一个拖放操作,开发人员通过该操作将 COBOL 程序 BK92S1 复制到 Unit Test 特性以便修改。传输完成后,开发人员可以从 Texas 大型机断开。

    图 7. 将 COBOL 程序从大型机复制到 zPDT
    图 7. 将 COBOL 程序从大型机复制到 zPDT
    图 7. 将 COBOL 程序从大型机复制到 zPDT
  6. 编辑并修改 COBOL 代码。

    这里的操作是传统 Rational Developer for System z 操作。您可以使用编辑器进行修改,消除语法错误,编译、部署到 Unit Test 等。(CICS Explorer 可用于帮助部署 CICS。)图 8 展示了运行中的编辑器。正被编辑的代码位于 Unit Test 特性上。

    图 8. 从 zPDT 编辑程序
    图 8. 从 zPDT 编辑程序
    图 8. 从 zPDT 编辑程序
  7. 使用 Unit Test 上运行的 z/OS Debug。

    开发人员使用 z/OS Debug 工具(这是 Unit Test 特性的一部分)来调试代码。图 9 展示调试 CICS 事务时,Unit Test 上的 z/OS Debug 的运行情况。

    图 9. z/OS 调试 zPDT 中运行的一个 COBOL/CICS 程序
    图 9. z/OS 调试 zPDT 中运行的一个 COBOL/CICS 程序
    图 9. z/OS 调试 zPDT 中运行的一个 COBOL/CICS 程序
  8. 将代码移回大型机。

    对调试结果满意时,开发人员可以将 COBOL 代码移回一个大型机 PDS 进行集成测试,然后将其移到生产中。重新连接 z/OS 大型机,将代码复制/粘贴到大型机,或者使用 Rational Developer for System z 将其签入您的库管理器。图 10 展示将修改后的代码复制/粘贴到大型机的操作。

    图 10. 将代码移回大型机
    图 10. 将代码移回大型机
    图 10. 将代码移回大型机

关于 Unit Test 特性的最常见问答

  • 可以使用的最小 PC 是什么?

    没有惟一答案。至少应该拥有 3 GB 内存和 80-100 GB 磁盘空间。需要一个 CD/DVD 驱动器,以及一个 USB 端口以用于 USB 密匙。还需要一个 64 位 PC 和 64 位 Linux。内存越多越好。如果要创建许多 “本地” 3390 卷,可能需要更多磁盘空间。强烈推荐使用双核(或多核)计算机。

  • 一个 Rational Developer for System z Unit Test 服务器最多能支持多少开发人员?

    这要取决于底层硬件和正在测试的工作负载。典型的桌面计算机或便携式计算机通常能够支持 3-5 个用户。低端服务器类机器能支持 15-30 个用户。在本文撰写之时,IBM 没有提供 Rational Developer for System z Unit Test 服务器大小设置的详细分析。

  • 如何获取 Rational Developer for System z Unit Test 中使用的测试数据?

    您可以使用 IDCAMS、DB2 实用程序等现有工具来提取测试数据,然后将数据下载到 Unit Test 机器。Rational Developer for System z Unit Test 提供一个批量复制实用程序,用于根据需要将整个 3390 数据量下载到 Unit Test 环境。

  • 我能够运行 IBM 提供的中间件的其他级别或备份级别吗?

    技术上可以,但 IBM 不支持这种功能。IBM 正在研究这种功能,以确定将来是否能够提供此功能。

  • 可以运行供应商软件吗?

    可以,如果供应商许可允许的话。您必须与您的软件供应商合作,以解决许可问题。

  • 使用 Rational Developer for System z Unit Test 需要 z/OS system 编程技巧吗?

    z/OS 的确需要系统编程技巧来设置开发和测试环境。但是,您通常可以先设置一台机器,然后将配置轻松传输到另一台机器。

  • 安全性有保障吗?

    RACF® 已安装,但采用最小配置。样例配置指南提供了基本安全建议。安全性是一个站点的首要考虑事项。

结束语

如果您关心 z/OS 上的 CPU 使用情况,且需要对您的大型机开发应用敏捷方法,则 Rational Developer for System z Unit Test solution 可能正是您要寻找的。这个产品的首个版本不包含帮助您在大型机内和 Unit Test 环境中四处移动数据和代码的实用程序。IBM 正在收集用户需求,以便在未来的版本中提供增强的实用程序。


相关主题

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Rational
ArticleID=551920
ArticleTitle=评论专栏: 在便携式计算机上开发大型机应用程序
publish-date=10212010