在rpg中使用激活组的真正优势是什么

Kun*_*oy 2 rpg rpgle ibm-midrange

有人可以告诉我使用激活组的真正优势是什么吗?我的意思是,除了我们可以一起停用一堆程序这一事实之外,激活组还为我们提供了比不使用它的真正优势。

Cha*_*les 5

在 ILE 激活组出现之前,给定作业中运行的每个程序都共享某些资源,而使用激活组时,这些资源仅在激活组内共享。

我将向您介绍ILE 概念手册

所有 ILE 程序和服务程序都在称为激活组的作业子结构内激活。该子结构包含运行程序所需的资源。这些资源分为以下几类: 静态程序变量 动态存储 临时数据管理资源 某些类型的异常处理程序和结束程序

这些资源在激活组之间的分离支持一个基本概念。即,将一个激活组内激活的所有程序开发为一个协作应用程序的概念。

临时数据管理资源包括以下内容:
打开文件(开放数据路径或 ODP)
提交定义 本地 SQL 游标
远程 SQL 游标
分层文件系统 (HFS)
用户界面管理器
查询管理实例
开放通信链接
通用编程接口 (CPI) 通信

但你问有什么好处。其实很简单,当使用来自不同供应商的应用程序和/或工具时,激活组提供了它们之间的隔离。

让我提供一个激活组拯救世界的“现实”示例。我正在构建一个使用 Scott Klement 出色的 HTTP API 工具的应用程序。作为最佳实践,*SRVPGM 是使用 ACTGRP(*CALLER) 定义的。我的用例 PGMA 需要维护与给定端点的持久连接。然而,我还需要定期调用 PGMB,它也使用 HTTP API 来访问另一个端点。HTTP API 并非设计用于同时支持多个连接。但是,通过简单地运行 PGMA 和 PGMB 是单独的激活组,我可以获得激活的 HTTP API *SRVPGM 的多个副本,并同时成功连接到多个端点。