此文档的大多数部分在谈到 IMS 事务时指的是非对话式事务,它们只需要一个步骤就能完成。相反,IMS 对话式程序处理由若干步骤组成的事务。IMS TM 资源适配器同时支持两种事务,本节专门讨论后者,即特殊类型的 IMS 事务。
IMS 对话式程序将处理过程分为一系列连续“客户机到程序到客户机”的相关交互。IMS 对话式程序接收来自客户机的消息,对请求进行处理,然后回复客户机。此程序还会将来自事务的中间数据保存在暂存区(SPA)中。用户可从客户机输入更多数据,通过使用 SPA 中最后一条消息中的数据,IMS 对话式程序将继续处理请求。
如果在上一个循环中未结束对话,或应用程序未启动结束对话请求(原因可能是对话尚未结束,浏览器就被关闭),则 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 非对话式事务和程序(应用程序)。