再上一篇:4.1.1 JES2 的配置
上一篇:4.1.2 JES2 的功能
主页
下一篇:4.1.4 与 JES2 进行交互
再下一篇:4.2 JES2 的初始化和配置
文章列表

4.1.3 JES2的客户化

IBM S390 系统管理基础(zSeries,IBMSystemz, z/VM,zOS等操作系统使用,命令的参数与用法等)

JES2 可以根据不同用户的运行要求进行配置。我们可以在创建 JES2 的初始化数据集时 根据自己的需求去定义基本的配置,但在运行的过程中可能发现这种配置的效率较低时, JES2 还提供了如退出点程序和双表结构等功能对配置进行修改。

有些时候用户希望在初始化语句提供的基础上对 JES2 的配置进行修改,这种方法可能 会涉及到对代码的修改,值得注意的是用户自己的代码必须和系统的源代码分开。如果直接 对系统的源代码进行修改很可能造成系统出错,并且会影响到系统的升级以及安装 PTF(program temporary fixe)和 APAR(authorized program analysis report)。进一步说,采用这 种方法对 JES2 进行修改会影响对系统的维护。因此,JES2 提供了多种方法对配置进行修改。
建议使用 JES2 的双表功能、预定义的退出点程序和安装时定义的退出点程序对 JES2
的配置进行修改。在本章的后面部分我们将会详细讨论这些功能。
JES2 的初始化数据集
为了方便对于系统的维护,JES2 是一个易操作、高可调整性的系统。一个系统程序员 可以通过使用和修改 JES2 的初始化数据集对 JES2 的许多功能进行调整,JES2 的初始化数 据集是存放在数据集 SYS1.VnRnMn.SHASSAMP 的成员 HASIPARM 中。虽然随产品提供的 这个数据集如果不经过安装时的修改是不能够使用的,但通过它仍然可以大幅度地提高系统 程序员的效率,比较起让系统程序员自己去建立这样一个初始化数据集可以节约几个小时的 输入时间。
通过大约 70 条初始化语句,用户可以控制所有的 JES2 功能。在 JES2 的初始化数据集 中提供了许多定义的规范,可以帮助用户去定义输出设备(打印机和打孔机)、定义作业类、 定义 JES2 的SPOOL 环境、定义检查点数据集、定义跟踪功能以及对其它 JES2 功能的定义。
每一条初始化语句都包含一组用于定义一项 JES2 功能的参数,其中大部分的 JES2 初 始化语句都是可选的。也就是说,如果用户不需要对特定的的功能进行定义或者重新定义就 可以不去修改相应的初始化语句。更进一步说,也就是这些初始化语句基本都提供了缺省的 参数,不做修改的话可以保证系统能够完成最基本的功能。在第一次安装 JES2 时仅仅需要 提供很小一部分的初始化语句就可以了。
如果作为一个初次接触JES2 的用户,你没有必要去定义或者理解一些复杂的处理环境, 例如远程终端、网络节点和 MAS(multi-access spool complex)环境。初学者只需要定义一些 简单的基础参数,在这个基础上系统可以正常地运行,随着应用的深入可以对系统做进一步 的配置。为了帮助用户对系统进行配置,JES2 中提供了一个作为例子的初始化数据集。
这个例子存放在数据集 SYS1.PARMLIB 中,其中包含了所有的 JES2 初始化语句和所有 参数的缺省值。我们在安装新系统的时候往往要删除其中的大部分内容。如果使用 CBPDO(Custom Built Product Delivery Offering)来创建系统,CBPDO 会帮助用户创建一个更 为实用的初始化集合。

CBPDO 是一个用来创建、配置和发布整个 MVS 操作系统的产品,通过它可以方便地 安装和使用系统。对于操作系统的升级和移植,CBPDO 是非常有用的;对于新安装系统, 可以帮助初学者加快安装的效率。

JES2 的双表结构
双表结构可以帮助用户去修改、删除或者添加 JES2 的处理过程和功能。与使用退出点 程序的方法比较起来,使用双表结构会较少出现错误。这里面的主要原因是 JES2 的宏会帮 助用户产生表,而且不需要用户去写大量的代码。
一些 JES2 的功能中会用到表格,如初始化语句的处理、命令的处理、消息的产生等等。 用户可以通过这些功能所关联的表格来实现功能的客户化。JES2 中存在两套表格,这就是 我们所说的双表结构。其中一个是 JES2 的表格,在这种表格中对各种功能和处理过程进行 了缺省的定义;另外一个是用户的表格,用户可以对这种表格种的定义进行扩充、修改和删 除,例如,用户可以添加自己的JES2 命令和消息,添加初始化语句和参数,缩短 JES2 命令 的长度或者删除一些不需要的 JES2 命令。
为了简化这一功能的使用,用户可以使用 JES2 的缺省表作为模板去创建自己的表格。 使用这种方法可以不需要用户有很专业的知识去了解定义的细节。
但是在很多方面双表结构仍然不能够替代退出点程序,这两者的配合使用才能够保证系 统的高效和安全。
JES2 中预定义的退出点程序

JES2 的退出点程序为 JES2 和用户自定义的代码之间提供了一个简洁、方便并且相当稳 定的界面。在 JES2 处理的过程中,JES2 的源代码会在一些特定的位置调用相应的退出点程 序,这些特定的位置我们称为退出点。在 JES2 中一个退出点程序可以关联一个或者几个退 出点。

在 JES2 中最多可以有 256 个退出点程序,其中系统已经预先定义了一部分的退出点程 序,用以支持最基本功能的客户化。往往在添加新的功能或者升级到新的版本时需要添加新 的退出点程序。这些退出点程序为用户按照自己的要求去修改系统提供了一种可能。
退出点程序支持 JES2 客户化的范围很广,包括:

$ 定义用户自己的打印分隔页

$ 检查或修改由 TSO/E 用户递交的作业

$ 修改或不接受用户发出的命令

$ 为使用了很多资源的作业定义后备处理过程

$ 对远程终端和系统数据集提供口令检查,加强安全管理。

对于系统中预先定义好的退出点程序,由于其中的代码已经加入了退出点的定义,因此 用户只需要创建自己的退出点程序并将这两者通过两条初始化语句结合起来就可以了。为了 确认一个退出点程序的正确性,用户必须彻底地理解系统中预定义的退出点程序和 JES2 的 操作环境。关于系统中每一个预定义的退出点程序的描述可以在《OS/390 JES2 Installation Exits》中找到。
如果你发现这些预定义的退出点程序不能够满足你的要求,你也可以创建自己的退出点 并使用自己的退出点程序。当然,比较起使用预定义的退出点和退出点程序,这需要你能够 十分彻底地了解关于 JES2 处理过程的知识。需要记住的是,与修改系统的源代码比较起来, 退出点程序仍然是很高层的方法。对于代码的修改不会象退出点程序一样可以方便地随时取 消。
JES2 中自定义的退出点程序
当系统终于定义的退出点程序不能够满足需要时,JES2 的退出点程序功能可以允许用 户去创建自己的退出点程序。用户可以在 JES2 的代码或者自己的退出点程序代码中的特定 位置放置退出点,然后根据需要定义自己的退出点程序。系统中预定义的退出点和退出点程 序也是通过这种方法创建的。这个过程需要对系统有相当深的了解,并且是相当困难的。