Связывание ответа приложения Java с запросом синхронного внешнего вызова

Если приложение Java генерирует ответ на вывод и необходимо связать ответ с исходным запросом синхронного внешнего вызова, за это отвечает приложение IMS.

Для асинхронных внешних вызовов связывание можно осуществить, определив некоторые данные, например идентификатор сообщения или уникальный ИД запроса, в запросе внешнего вызова, которые можно связать с исходным входным сообщением.

Для синхронных внешних вызовов следует использовать маркер соответствия, передаваемый вместе с сообщением внешнего вызова.

На следующей диаграмме показаны высокоуровневые операции приема приложением не MDB запроса внешнего вызова IMS и отправки ответа на него.
Рис. 1. Обработка приема запроса синхронного внешнего вызова IMS приложением не MDB и ответа на него
На этой схеме показана обработка приема запроса синхронного внешнего вызова и ответа на него для приложений не MDB.
  1. Приложение Java™ отправляет запрос SYNC_RECEIVE_CALLOUT к OTMA tpipe TP1.
  2. Приложение IMS отправляет вызов DL/I ICAL с подфункцией SENDRECV и указывает имя дескриптора целевого расположения OTMA и значение тайм-аута.
  3. IMS OTMA доставляет сообщение запроса в IMS TM через IMS Connect. Вместе с запросом внешнего вызова отправляется маркер соответствия.
  4. Приложение Java принимает сообщение запроса внешнего вызова и маркер соответствия. После обработки запроса приложение Java отправляет ответное сообщение и маркер соответствия назад в IMS с помощью запроса SYNC_SEND. Используя маркер соответствия, IMS направляет ответное сообщение в соответствующий экземпляр транзакции IMS.

Комментарии