[z/OS]

优化本地适配器样本

该产品提供支持优化本地适配器的示例文件z/OS® 。

以下示例文件位于WebSphere® Application Server产品目录,<Prod_FS_root>/util/zos/OLASamples
  • .jclsamp 文件
  • olarar.pyolararupdate.py文件
  • 头文件 bboaapi.hbboaapip.include
  • EAR 样本文件

ola_apis.jar文件位于产品目录中,/lib

样本描述

在本机文件集的 @@README 成员中的目录内提供了样本名称目录及其用途。 这些样本<install_root>/util/zos/OLASamples并包括:

  • BBOAAPI - 编译使用 OLA API 的 C/C++ 样本所需的 C 头文件 (bboaapi.h)
  • BBOAAPIC - 编译使用 OLA API 的 C/C++ 示例所需的 C 头文件CICS®将 BBOACNTL 与 COMMAREA 链接起来 (bboaapic.h )
  • BBOAAPIP - 编译使用 OLA API 的 PL/I 应用程序所需的 PL/I 包含文件 (bboaapip.include)
  • BBOACPLT - 汇编程序示例源代码CICSPLT 初始化例程显示了如何在CICS启动 (bboacplt.jclsamp)
  • BBOACPL2- 汇编程序示例源代码CICSPLT 初始化例程显示了如何从CICS启动参数并在期间发出 BBOC STRT_SRVRCICS启动 ( bboacpl2.jclsamp )
  • BBOACPL3 - 汇编程序示例源代码CICSPLT 初始化例程,展示如何在执行过程中将多个 BBOC 命令传递给 BBOACNTLCICS启动 ( bboacpl3.jclsamp )
  • BBOACPLS - 汇编程序示例源代码CICSPLT 关闭例程显示了如何在运行期间检索正在运行的 WOLA 链接服务器列表CICS关闭以及如何停止它们( bboacpls.jclsamp)
  • CSDUPDAT -CICSDFHCSDUP 实用程序作业,用于定义 OLA 所需的所有资源定义CICS( CSDUPDAT.jclsamp )
  • DFHPLTOL - 用于将样本 PLT 和支持 OLA 的 TRUE 出口程序 BBOACPLT 以及 OLA BBOC 命令处理器 PLT BBOACPL2 组合在一起的 JCL/源 (dfhpltol.jclsamp)
  • OLABATCH - 用于以批处理方式运行其中一个样本的 JCL。 确保它在与WebSpherez/OS在跑 ( OLABATCH.jclsamp)
  • OLACB01 - JCL/来源CICS链接到使用 commarea 的示例 Cobol 程序。 这是使用 OLA 时的示例目标程序CICS鏈接伺服器。 它将回传发送的消息 (OLACB01.jclsamp)
  • OLACB02 - JCL/来源CICS链接到使用容器的示例 Cobol 程序。 这是使用 OLA 时的示例目标程序CICS鏈接伺服器。 它将回传发送的消息 (OLACB02.jclsamp)
  • OLACB03 - JCL/来源CICS示例 Cobol 程序演示了如何制作CICS使用主机服务 API 将任务放入 OLA 服务器 ( OLACB03.jclsamp )
  • OLACB04 - JCL/来源CICS示例 Cobol 程序演示了如何制作CICS使用接收请求和获取数据 API 将任务发送到 OLA 服务器 ( OLACB04.jclsamp )
  • OLACB05 - JCL/来源CICS示例 Cobol 程序演示了如何使用 API 进行注册、获取连接、使用发送请求调用 EJB、使用获取数据获取响应、使用连接释放释放连接以及取消注册( OLACB05.jclsamp )
  • OLACB06 - JCL/来源CICS示例 Cobol 程序演示了如何使用 API 来注册、使用 Invoke 和 Unregister 调用 EJB( OLACB06.jclsamp )
  • OLACB10 - JCL/来源CICS使用多个容器将数据传递到的示例 Cobol 程序CICS来自 EJB。 这是使用 OLA 时的示例目标程序CICS链接服务器 ( OLACB10.jclsamp)
  • OLACB11 - JCL/来源CICS使用多个容器将数据传递到的示例 Cobol 程序CICS来自 EJB。 这是使用 OLA 时的示例目标程序CICS鏈接伺服器。 在目标程序中对数据进行修改 (OLACB11.jclsamp)
  • OLACB12 - JCL/来源CICS使用多个容器将数据传递到的示例 Cobol 程序CICS来自 EJB。 这是使用 OLA 时的示例目标程序CICS鏈接伺服器。 在目标程序中删除数据 (OLACB12.jclsamp)
  • OLACC01 - 执行注册/调用/注销的 C 程序的 JCL/源。 它可以在批处理/USS/CICS 下运行 (OLACC01.jclsamp)
  • OLACC02 - 执行“主机服务”/“发送请求”/“发送响应”/“获取数据”API 调用的 C 程序的 JCL/源。 此程序实际上将调用它自身,调用 EJB,然后该 EJB 又调用此程序。 它可以在批处理/USS/CICS 下运行 (OLACC01.jclsamp)
  • OLACC10 - JCL/来源CICS使用多个容器将数据传递到的示例 C 程序CICS来自 EJB。 这是使用 OLA 时的示例目标程序CICS链接服务器 ( OLACC10.jclsamp)
  • OLAMAP-JCL/源代码CICSBMS屏幕图定义。 这是 3270 试驾屏幕,用于传递请求WebSphere从CICS( OLAMAP.jclsamp)
  • OLAPL01 - 作为运行的 PL/I 程序的 JCL/源代码IMS快速路径消息交易。 查看示例成员STAGE1和PSBOLA2有关如何在您的IMS环境 ( OLAPL01.jclsamp)
  • OLAPL02 - 作为运行的 PL/I 程序的 JCL/源代码IMS消息处理程序事务。 查看示例成员STAGE1和PSBOLA2有关如何在您的IMS环境 ( OLAPL02.jclsamp)
  • OLAUTIL-Cobol 的 JCL/源代码CICS测试应用程序实用程序。 可以从此面板测试“注册、调用、主机服务和发送响应”API,并更新运行时要使用的守护程序组/服务器/节点名以及服务名。 此实用程序可用于以两个方向测试调用。 来自此程序的代码可用作使用这些 API 的样本 (OLAUTIL.jclsamp)
  • PSBOLA2- 示例 JCL/源代码IMSPSB 生成OLAPL01和OLAPL02 ( PSBOLA2.jclsamp )
  • OTMAINIT - 示例 JCL 展示如何启动IMS系统上的 OTMA 可调用接口 SVC( OTMAINIT.jclsamp)
  • STAGE1 - 样本来源IMSSTAGE1为了OLAPL01和OLAPL02 ( STAGE1.jclsamp )
笔记:OLAUTIL示例从 CCSID(1208) 获得 CONTAINER INTOCCSID(37) - UTF-8。 在运行此示例以演示之前WebSphere到CICS流程,确保你正在运行z/OSUnicode 服务可以支持这种转换。 否则,AEZWCICS可能会发生异常结束。

样本安装

  1. 分配分区数据集 (PDS) 或扩展的分区数据集 (PDSE) 来存放 JCL 源。 在样本 JCL 中,此数据集名为 BOSS.OLA.SAMPLES.SRC。

    此数据集按 RECFM=FB、DSORG=PO、LRECL=80、BLKSIZE=9040 和 TRKS=40 进行分配。 例如,从 OGET 复制文件类型为“jclsamp”的文件<Prod_FS_root>/util/zos/OLASamples该数据集的目录。 头文件 bboaapi.h 也与 BBOAAPI 一起放在此数据集中。

  2. 设置资源适配器后,可以立即安装企业档案 (EAR) 文件, ola.rar,并定义了一个以 Java™ 命名和目录接口 (JNDI) 名称 eis/ola 为连接工厂。
    此 EAR 文件位于 <Prod_FS_root>/util/zos/OLASamples 目录中。
    注意力:如果你正在使用V8.0使用OLASample2.ear文件。
  3. 分配另一个 PDS 或 PDSE 用于保存由客户信息控制系统 (CICS)BMS地图构建作业OLAMAP。

    此数据集按 RECFM=FB、DSORG=PO、LRECL=80、BLKSIZE=9040 和 TRKS=15 进行分配。 在样本 JCL 中,此数据集名为 BOSS.OLA.SAMPLES.COPYBOOK。

  4. 分配或选择装入模块库以包含优化本地适配器样本装入模块。

    必须将它作为“库”而不是作为 PDS 进行分配。

  5. 使用以下步骤构建并运行z/OS批次樣本。

    对于在执行这些步骤期间更新的所有成员,您必须更改 JCLLIB 语句以指向您的过程库(在此情况下,用于 C 编译)。 在执行此过程时,需要熟悉信息在系统上的位置的人员。 此外,此测试用例源嵌入了守护程序组(单元短名称)、节点短名称和服务器短名称,您在编译之前必须更改这些名称,以使它们在系统中有效。

    1. 编辑 OLACCnn 成员(其中 nn 为测试用例编号),更新 JCL 以符合 C 编译器的站点数据集命名约定,并设置输出装入模块所在的 SYSLMOD 数据集。
    2. 在 OLACCnn 成员中,更新守护程序组名(单元短名称)、节点名和服务器名称并提交作业来构建测试用例装入模块。
    3. 确保在启动目标应用程序服务器时启用了优化本地适配器支持。 通过将 WAS_DAEMON_ONLY_enable_adapter 设置为 true 来启用优化本地适配器支持。 同时,确保已安装 ola.rar 文件并使用 JNDI 名称 eis/ola 创建了连接工厂。
    4. 请确保目标应用程序服务器中已安装 OLA 样本 EAR 文件。
      注意力:如果你正在使用V8.0 , 使用OLASample2.ear文件。
    5. 将 OLABATCH 用作运行 OLACCnn 批处理样本的模板。

    某些样本作业涉及到名为 BOSS.OLA90902.SBBOLOAD 的数据集。 这表示您使用 copyZOS.sh 脚本将联机适配器模块复制到的数据集。

  6. 这z/OS批量样品也可以在CICS。 按照主题中的步骤操作,在CICS,并将步骤 4 中的示例加载模块库添加到CICSDFHRPL DD 连接。
  7. 使用以下步骤构建并运行优化的本地适配器CICS示例测试实用程序面板。 对于在此过程中更新的所有成员,您需要更改 JCLLIB 语句以指向您的过程库(对于 COBOL 编译器和CICS在本例中为翻译)。 执行此过程时,需要有熟悉此信息在系统上的位置的人员。
    1. 编辑 OLAMAP 成员并更新 JCL,使其符合 HLASM 应用程序的站点数据集命名约定。
      您需要将 MAPLIB 和 DSCTLIB 参数更改为您自己的数据集名称。 MAPLIB 应该指向您在步骤 4 中分配的示例加载模块库。 DSCTLIB 应该指向您在步骤 3 中分配的 COPYBOOK 数据集。
      笔记:您可以将此面板上的默认寄存器名称从 CICSTEST 更改为其他名称。 您还可以设置缺省的守护程序组名(单元短名称)、节点名和服务器名称。 您在此处输入的值将在运行 OLAU 事务时显示在面板上CICS。
    2. 提交 OLAMAP 作业来构建CICS地图集模块。
    3. 编辑成员 OLAUTIL 并复审内容。

      这是演示来自 Cobol 的许多优化本地适配器 API 的样本 Cobol 应用程序。 它发送和接收CICSBMS 映射、OLAMAP,并且可以向任何本地连接的应用服务器中的任何目标企业 Bean 发送消息。 它还可以用来演示如何制作你的CICS使用BBOA1SRV API。 更新 JCL 以符合您的本地数据集名称约定之后,提交作业,OLAUTIL 装入模块保存在 PROGLIB 符号指向的数据集中。

    4. 确保优化的本地适配器加载模块库和优化的本地适配器示例加载模块库位于CICSDFHRPL DD 串联你的CICS编目程序。
    5. 确保示例作业 CSDUPDAT 已运行,并且已执行安装优化本地适配器的步骤CICS已完成。
    6. 确保已启动目标应用程序服务器并且启用了优化本地适配器支持。 通过将 WAS_DAEMON_ONLY_enable_adapter 设置为 true 来启用优化本地适配器。 此外,请确保ola.rar 文件已安装,并使用 JNDI 名称 eis/ola 创建连接工厂。 您可以在主题“启用服务器环境以使用优化本地适配器”中读取有关这些过程的更多信息。
    7. 请确保目标应用程序服务器中已安装 OLA 样本 EAR 文件。
      注意力:如果你正在使用V8.0 , 使用OLASample2.ear文件。
    8. 开始CICS。

      确保已启用优化的本地适配器支持,登录到CICS使用有权运行 BBOC 和 OLAU 交易的用户 ID,然后清除屏幕。 输入 BBOC START_TRUE 启动优化的本地适配器CICS任务相关的用户退出 (TRUE)。 将显示一条有关出口已成功启动的消息。 如果您未获取此消息,那么应获取指出所发生错误的种类的消息。 有关更多详细信息,请参阅CICS作业输出并查看文件 BBOOUT。 如果要使用优化的本地适配器程序列表表进行后初始化 (PLTPI) 程序启动优化的本地适配器 TRUECICS启动,请参阅下面描述此过程的部分。

    9. 再次清除屏幕并输入 OLAU 以启动测试面板。

      如果一切正常,面板将显示标题“* 优化的本地适配器 WAS”z/OS測試*。 面板上将列示运行参数,“首先注册”的值为 Y、“注册名称”的值为 CICSTEST,“服务名称”的值为 ejb/com/ibm/ola/olasample1_echoHome。 “要运行的测试数”字段的值为 00001

    10. 在发送消息数据字段中,输入要发送给服务的消息WebSphere Application Server
    11. 输入WebSphere Application Server服务器简称, WebSphere Application Server节点短名称,以及WebSphere Application Server想要调用企业 Bean 的服务器的单元短名称(守护进程组名称)。
    12. 其他的字段可保持原样。 显示的服务名称是 OLA 样本 EAR 文件中的样本目标企业 Bean 的 JNDI 主名称。
      注意力:如果你正在使用V8.0 , 使用OLASample2.ear文件。
    13. 单击 PF4 将消息发送给 EJB olasample1_echoHome。 此消息在“接收的消息数据”字段中返回。
    14. 您现在已经演示了来自CICSCobol 程序WebSphere Application ServerEJB 应用程序。

      面板显示现在已更改。 先登记吗? 字段已从YN。 使用此注册名称重新运行请求不要求先注册调用,所以此值更改为 N。 如果您在注册时收到返回码 8 (RC8) 和原因码 8 (RSN8),那么这表示您已经注册,无需再次注册。 离开 OLAU,然后又返回来时,此注册仍然处于活动状态,所以您不需要使用该名称再次注册,并且应将值设置为 N

    15. 测试来自WebSphere Application Server到CICS,您可以使用同一个面板。

      必须将“服务名称”字段更新为您要标识为目标服务名称的任何名称,然后单击 PF5。 由于 OLAUTIL 使用您请求的服务名称和注册名称调用 BBOA1SRV API,所以此操作会使屏幕进入 x-wait 状态。 此面板显示名为 CICSTEST 的注册和名为 myserv 的服务名称。 在面板上显示值的其他参数包括 WAS 服务器短名称、WAS 节点短名称、WAS 单元短名称(守护程序组名)、要运行的测试数以及已完成的测试数。

    16. 当 OLAU 等待您所请求的服务名称时,请在浏览器中启动样本 Web 应用程序。

      使用以下 URL (更新您网站的 IP/端口号): http://nn.nn.nn.nn:nnnn/OLA_Sample1_Web/ - 将 nnnn 端口号更改为非 SSL WebSphere Application Server 应用程序端口。

    17. 网页显示以下字段:发送到外部地址空间的数据、从外部地址空间返回的响应、OLA 注册名称、OLA 服务名称、CICS链接服务器特定数据,CICS链接请求容器 ID,CICS链接响应容器 ID,以及CICS链接交易ID。 输入要发送的消息、在 OLAU 面板上使用的注册名和服务名并单击运行 WAS->外部地址空间测试
    18. 现在,您可以在浏览器显示屏上看到您输入的消息CICS3270 面板中的已接收消息数据字段。
    19. 在发送消息数据字段中输入响应消息,然后单击PF6将响应发送回WebSphere Application Server。 这应该出现在浏览器中。
    20. 您现在已经演示了来自WebSphere Application Serverservlet 到CICSCobol 程序。
  8. 使用以下步骤演示从WebSphere Application Server适用于CICS使用优化的本地适配器的 Cobol 程序CICS鏈接伺服器。
    1. 编辑成员 OLACB01 并复审内容。

      这是一个 Cobol 应用程序示例,它是 EXEC 的目标CICS与 COMMAREA 链接。 它将传递的 COMMAREA 消息数据写入缺省 Cobol 标准输出 (CEEMSG) 并回传消息。 将 JCL 更新为指向您的本地数据集并进行提交。 保存此模块的加载库必须位于CICSDFHRPL 连接。

    2. 编辑成员 OLACB02 并复审内容。

      这是一个 Cobol 应用程序示例,它是 EXEC 的目标CICS与容器链接。 它读取 CONTAINER 内容并将其写回同一个容器中。 将 JCL 更新为指向您的本地数据集并进行提交。 保存此模块的加载库必须位于CICSDFHRPL 连接。

    3. 确保示例作业 CSDUPDAT 已运行,并且已执行安装优化本地适配器的步骤CICS已完成。
    4. 开始CICS。

      登录到CICS使用有权运行 BBOC、BBO# 和 BBO$ 交易的用户 ID,然后清除屏幕。

      输入 BBOC START_TRUE 启动优化的本地适配器CICS真的。

      将显示一条有关出口已成功启动的消息。 如果未获取此消息,那么应获取表明出现哪类错误的消息。 有关更多详细信息,请参阅CICS作业输出并查看文件 BBOOUT。 如果要使用优化的本地适配器 PLTPI 程序在启动优化的本地适配器 TRUE 期间CICS请参阅本主题中描述此过程的部分。

    5. 再次清除屏幕并输入以下内容以启动优化的本地适配器CICS链接服务器任务:bboc start_srvr rgn=olaserver svn=<serverName> dgn=<cellName> ndn=<nodeName> mnc=1 mxc=5 sec=n svc=*

      这会导致 BBO$ 任务使用注册名称 OLASERVER 启动,并连接到指定的应用程序服务器。 确保对服务器指定了服务器短名称、单元短名称和节点短名称。

    6. 您现在可以发送请求以链接到现有的CICS程序。 启动测试网页( http://nn.nn.nn.nn:nnnn/OLA_Sample1_Web/ )。输入 OLASERVER 作为寄存器名称,然后OLACB01作为服务名称。
    7. 单击运行 WAS > 外部地址空间测试。 您应该会收到一个页面,其中包含与发送至CICS回。 如果你看看CICSCEEMSG DD(正在竞选CICS作业),消息数据UTF-8显示。
    8. 您现在已经演示了来自 servlet 的调用WebSphere Application Server到CICSCobol 程序OLACB01在 COMMAREA 中传递和返回数据。
    9. 再次显示浏览器面板并将服务名称更改为 OLACB02,然后单击“使用容器”复选框。
      重要的:您必须选中使用容器复选框。
    10. 单击运行 WAS > 外部地址空间测试。 您应会看到一个返回的页面,其中具有回传的输入消息。
    11. 您现在已经演示了来自 servlet 的调用WebSphere Application Server到CICSCobol 程序OLACB02使用容器传递数据。
    12. 如果要更接近地跟踪发生的情况,您可以停止链接服务器并使用跟踪集重新启动该服务器。 通过设置TRC=2 ,您可以在CICS作业 BBOOUT 文件。 要停止链接服务器,请输入以下命令:bboc stop_srvr rgn=olaserver 。 要使用跟踪重新启动链接服务器,请输入以下内容:bboc start_srvr rgn=olaServer svn=<serverName> dgn=<cellName> ndn=<nodeName> mnc=1 mxc=5 sec=n svc=* trc=2
  9. 如果要设置,请按照以下步骤操作CICS自动启动优化的本地适配器 TRUECICS启动。
    1. 您可以在CICS顺序终端(TYPE=SDSCI)启动优化的本地适配器 TRUE,或
    2. 您可以创建一个CICS区域后初始化程序列表 (PLTPI),并在期间调用它CICS区域启动。

      样本作业 DFHPLTOL 将创建具有后缀 OL 的 PLTPI。 运行此示例,将生成的模块 DFHPLTOL 放入 DFHRPL 串联中的加载模块库中,并将 OL 添加到为CICS区域,例如,PLTPI=OL。

      请参阅样本文件 DFHPLTOL 以获取相关示例。 运行 PLTPI 时,您应该会在CICS如果优化的本地适配器为 TRUE,则作业日志正确启动:
      +BBOA9920I WAS z/OS OLA CICS PLT init start.     
      +BBOA9921I WAS z/OS OLA CICS TRUE enabled.       
      +BBOA9925I WAS z/OS OLA CICS PLT init ending.