对话式程序

IMS™ 程序将支持由一个步骤组成的事务以及由若干步骤组成的事务,后者又称为对话式事务。

此文档的大多数部分在谈到 IMS 事务时指的是非对话式事务,它们只需要一个步骤就能完成。相反,IMS 对话式程序处理由若干步骤组成的事务。IMS TM 资源适配器同时支持两种事务,本节专门讨论后者,即特殊类型的 IMS 事务。

IMS 对话式程序将处理过程分为一系列连续“客户机到程序到客户机”的相关交互。IMS 对话式程序接收来自客户机的消息,对请求进行处理,然后回复客户机。此程序还会将来自事务的中间数据保存在暂存区(SPA)中。用户可从客户机输入更多数据,通过使用 SPA 中最后一条消息中的数据,IMS 对话式程序将继续处理请求。

通过 IMS Connector for Java™ 对话式支持,与 IMS 对话事务交互的客户机通常使用下列其中一个应用程序: 通过 Web 应用程序,用户使用同一浏览器执行一系列请求以循环访问 IMS 对话的不同交互。IMS Connect 要求对话的所有循环均使用相同的连接。Java servlet 会接收到来自该浏览器的输入请求,并利用 IMS Connector for Java 类以通过 TCP/IP 通信,将对话式事务请求发送至 IMS Connect。然后 IMS Connect 会将事务请求转发至 OTMA 和 IMS 并安排要运行的 IMS 对话式事务;此过程将创建新的 IMS 对话。IMS 应用程序将处理请求并通过 IMS Connect 和 IMS Connector for Java 对话式支持将输出发送回 Java servlet。该 Java servlet 将在浏览器中装入适当的 JavaServer 页以便向用户显示输出。

如果在上一个循环中未结束对话,或应用程序未启动结束对话请求(原因可能是对话尚未结束,浏览器就被关闭),则 IMS 对话及相关联的 IMS 存储将在系统中存在很长一段时间。这种孤立的 IMS 对话会导致系统不能完成联机更改。可以发出 /DISPLAY CONV 命令来查看系统中是否有任何孤立的 IMS 对话。只能通过重新启动 IMS 来结束这种孤立的 IMS 对话。有关 OTMA 支持的 IMS 命令列表,请参阅 IMS V9 Command Reference 第 1 章“IMS Command Language”中的“Commands Supported from LU 6.2 Devices and OTMA not currently supported”一节。注意,OTMA 不支持某些与 IMS 对话式事务一起使用的 IMS 命令,例如,/EXIT、/HOLD 和 /RELEASE 命令。建议使用超时(例如,EJB 会话超时)来防止这种情况发生。

除非另有规定,否则 IMS Connector for Java 文档和样本都适用于 IMS 非对话式事务和程序(应用程序)。


反馈