匹配调用和可调用 TP (CPI-C)
每个 SNA 服务维护可用可调用事务程序的列表, (TP) 名称和任何逻辑单元 (LU) 别名与 TP 名称相关联。 此信息的获取方式如下:
对于自动启动的可调用 TP,注册表或环境变量标识最多包含 8 个字符的 TP 名称,并且可以指定关联的 LU。 此信息从客户端发送到支持客户端的服务器。 客户端通过与服务器的发起人连接了解域。 在继续执行任何其他任务之前,客户端必须建立发起人连接。
对于运算符启动的可调用 TP,Specify_Local_TP_Name中指定最多 64 个字符的 TP 名称 ) (。 TP 名称将被截断为 8 个字符,并从客户端发送到支持客户端的服务器,以及通过注册表或环境变量配置了关联的 LU 的别名。
注意
如果希望 TP 名称是唯一的,建议将名称限制为 8 个字符或更少,或使名称在前 8 个字符内唯一。 这是因为分配请求的初步路由是使用前八个字符执行的。 尽管稍后会在完整的 TP 名称之间执行进一步匹配,但在某些情况下,如果以后的匹配将失败,则允许初步路由成功会效率低下。
匹配调用和可调用 TP 的下一步是从符号目标名称中的参数创建侧信息表。 然后,调用 TP 发出 Allocate 调用,分配请求流向旁信息表中指定的伙伴 LU,并声明已请求的可调用 TP 的名称 (也在) 侧信息表中列出。
当分配请求到达时,SNA 服务会将请求的可调用 TP 名称和 LU 别名与可用的可调用 TP 列表进行比较, (其中可以包含) 关联的 LU 别名。 注册表变量可以修改比较,但默认情况下执行如下:
尽管在符号目标名称中请求的 TP 名称可以长达 64 个字符,但通过注册表或环境变量接收的任何名称限制为 8 个字符或更少。 因此,在比较中仅使用 TP 名称的前八个字符。
首先对 TP 名称和 LU 别名进行比较。 在未通过注册表或环境变量配置任何 LU 别名的 TP 之前,将先选择一个在 TP 名称和 LU 别名上匹配的可调用 TP。 未配置任何 LU 别名的 TP 可与指定 TP 名称的任何请求匹配,因为不能基于 LU 别名不匹配。
按特定顺序对请求的 TP 名称和可用 TP 名称进行比较:
SNA 服务首先检查本地系统上的操作员启动的可调用 TP, (本地 Host Integration Server) 。
如果未找到匹配项,SNA 服务会检查本地系统上的自动启动的可调用 TP (本地 Host Integration Server) 。
如果未找到匹配项,SNA 服务会在运行 Host Integration Server 或客户端的其他计算机上检查操作员启动的可调用 TP。
如果未找到匹配项,SNA 服务将在运行 Host Integration Server 或客户端的其他计算机上检查自动启动的可调用 TP。
此比较可以通过 SnaServr 服务的注册表项进行一些修改。 这些条目称为 DloadMatchTPOnly 和 DloadMatchLocalFirst。
如果找到匹配项,SNA 服务会向包含请求的 TP 的系统发出信号,以连接到该 SNA 服务。 如果未找到匹配项,SNA 服务将拒绝传入请求。
有关处理 TP 名称和 LU 别名的特定方法的建议,请参阅 在 SNA 网络中排列 TP。