Предполагая, что «Java» означает «Java не работает на мэйнфрейме», существует несколько способов сделать это.
- Веб-службы CICS (SOAP)
- Веб-поддержка CICS (REST / POX)
- MQSeries с запущенной очередью
«Лучшее» - в глазах смотрящего, это зависит от того, что вы хотите. Ничто из этого не является новым, возможность была доступна в течение нескольких лет.
Для варианта 1 помощник CICS Web Services сгенерирует WSDL из существующих языковых структур COBOL. Если вы решили, что вам не нравится то, что он генерирует, вы можете написать свой собственный WSDL и сгенерировать языковые структуры COBOL. Программа Java будет использовать вашу любимую инфраструктуру SOAP (или MQ) для связи с программой CICS / COBOL.
Для варианта 2 ваша программа CICS / COBOL должна быть закодирована, чтобы быть «осведомленной о сети». Программа CICS / COBOL должна будет использовать API-интерфейсы WEB EXTRACT, WEB RECEIVE и WEB SEND для взаимодействия с Java-программой. Программа Java будет использовать обработку HTTP (S) GET / POST для отправки / получения сообщений в программу CICS / COBOL.
Для варианта 3 ваша программа CICS / COBOL должна быть закодирована, чтобы использовать MQGET и MQPUT для получения и отправки сообщений в программу Java. Вы хотите, чтобы очередь определялась с именем очереди возврата и порогом возврата, и сравнивайте последнее со значением счетчика возврата. Если пороговое значение больше, чем количество, вы хотите переместить сообщение в очередь возврата, не пытаясь обработать его в программе CICS / COBOL (это вредоносное сообщение). Java-программа будет использовать JMS или любой другой ваш любимый пакет для обмена сообщениями для связи с программой CICS / COBOL.