主机启动的处理
主机发起的处理 (HIP) 使主机应用程序能够调用 COM 或 .NET 对象的方法,将参数传递给 方法,并从 方法接收参数。 当数据首先从主机传递到客户端,然后从客户端传递到主机时,数据将从主机可理解的格式转换为适合客户端的格式
主机发起的处理在以下步骤中实现:
HIP 服务进程(称为应用程序)开始侦听本地环境定义指定的终结点列表上的传入连接。
在主机上运行的客户端应用程序使用其中一个终结点启动与 HIP 系统的 TCP 连接
HIP 服务进程检查终结点与客户端主机名或 IP 地址之间是否存在已建立的关联。 如果未找到任何关联,则中止连接。
关联唯一标识工作计划,该计划是要执行的工作流序列,以完成客户端请求。 有三种类型的工作计划:
终结点
事务请求消息
数据。
终结点
终结点工作计划由单个最终工作流组成。 关联直接映射到 COM 对象的方法,该对象要为客户端请求处理调用该方法。 终结点工作流执行以下操作:
接收客户端数据
解包数据并填充方法的参数
创建 对象并调用 方法
将返回的参数打包到客户端数据中
发送客户端数据
关闭连接。
事务请求消息
事务请求消息 (TRM) 工作计划由两个工作流组成:TRM 和最终工作流。 当客户端发送 TRM 时,TRM 工作流处理会话的初始部分,而工作流回复为 TRM 回复。 根据 TRM 的类型,TRM 工作流可以使用三个 TRM 处理程序之一:Microsoft 并发服务器、Microsoft Link、IBM Concurrent Server。 TRM 工作流执行以下操作:
使用分配的输入格式接收和解压缩 TRM
将 TRM 传递给分配的处理程序
处理程序返回解析信息和积极的 TRM 回复
应为字符数据的解析信息使用与主机环境关联的代码页转换为 Unicode
如果为解析信息定义了对象的方法的映射,工作流会查询数据库
如果未找到匹配项,则调用 处理程序以获取负 TRM 回复
TRM 回复使用分配的输出格式打包并发送。 在负面情况下,连接已中止
工作流将控制权连同找到的方法标识一起传递给最终工作流
数据
数据确定因素工作计划由两个工作流组成:数据决定因素和最终工作流。 数据确定者工作流预处理客户端数据,以尝试查找与为关联定义的决定因素之一的匹配项。 行列符包括字符串和字符串在客户端数据中的位置。 每个行列因素都映射到 对象的方法。 启动时,决定因素会预先转换为与行线关联的主机的所有代码页。 强制执行规则,即终结点的决定因素 - 主机关联不会重复,或者一个行列因素不是另一个行列的一部分。 工作流遵循以下步骤:
给定终结点 – 主机组合的决定因素列表按长度和位置的总和按升序进行排序
从列表中获取第一个行列
接收客户端数据的一部分
如果数据与行列参数匹配,则会检查数据
如果不匹配,则从列表中获取下一个行列,根据需要接收更多客户端数据,数据与行列相比
当没有可用的确定因素与数据匹配时,连接将中止
如果找到行列因素,控件将连同方法标识和已读取的客户端数据一起传递到 Final 工作流。 可能存在以下情况:确定性数据位于映射到方法参数的客户端数据内,甚至在客户端数据之后。
注意
HIP MVS 客户端必须在套接字发送后和套接字接收之前立即执行套接字关闭。 无法立即执行套接字关闭会导致 TI 运行时拒绝数据、中断连接并记录 808 事件消息, (事务集成商 HIP 应用程序收到的数据超出预期 。) 服务器应用程序事件日志。 此外,包含要发送到工作站的数据的数据包可能看起来具有误导性:Microsoft 网络监视器显示数据包中的数据,并且数据长度不会过长。