Как в распределенных средах, так и в z/OS, для связи между адаптером ресурсов IMS и
IMS Connect можно
использовать протокол TCP/IP.
При запуске приложения на распределенной платформе соединение между адаптером ресурсов
IMS TM
и IMS Connect должно быть осуществлено по протоколу TCP/IP. Например,если адаптер ресурсов
IMS TM
установлен на WebSphere Application Server в ОСWindows,
AIX®, Solaris, Linux, Linux для z/OS или HP-UX, адаптер ресурсов IMS TM должен подключаться к IMS Connect,
используя соединения по протоколу TCP/IP. Возможно также необязательное использование соединений TCP/IP, если адаптер ресурсов IMS TM
установлен на сервере WebSphere Application Server для z/OS.
Соединения TCP/IP с IMS Connect связаны с идентификатором, который называется ИД клиента - client ID.
IMS Connect обеспечивает уникальность этих ИД клиентов для всех соединений.
Существует два типа соединений TCP/IP с IMS Connect:
- Соединения с выделенным постоянным сокетом
- Соединения с общим постоянным сокетом
Для этих двух типов соединений ИД клиента определяется по-разному.
Соединения с выделенным постоянным сокетом
Для соединений
с выделенным постоянным сокетом, значение ИД клиента предоставляется приложением. Как правило, соединение с выделенным постоянным сокетом используется (или повторно используется) последовательно одним приложением. Тем не менее, соединение с выделенным постоянным сокетом
может быть последовательно использовано несколькими приложениями, которые занимают данный сокет, используя одинаковый ИД клиента. Если различные приложения пытаются
использовать соединение с выделенным постоянным сокетом одновременно по одинаковому ИД клиента,
то такая попытка первого приложения будет успешной, а в ответ на последующие попытки других приложений,
в то время как соединение еще используется первым приложением, IMS Connect выдаст сообщения об ошибках - занято другим клиентом (DUPCLNT).
Ошибка занятости другим клиентом
также возникает, если приложение, получившее соединение с выделенным постоянным сокетом и использующее определенный ИД клиента, работает в среде, где соединения с выделенным постоянным сокетом могут происходить из нескольких копий WebSphere Application
Server. Например, такие ошибки могут возникнуть в среде, где существует несколько копий WebSphere Application
Server, управляемых администратором рабочих задач. В таких средах настоятельно рекомендуется избегать запуска приложения, использующего соединение с выделенным постоянным сокетом.
Соединения с выделенным постоянным сокетом должны:
- Многократно использоваться приложениями
- Использоваться в среде, где единственная копия WebSphere Application Server соединяется с одной копией IMS Connect.
Бывают ситуации, в которых одна копия WebSphere Application Server может
быть соединена с несколькими копиями IMS Connect. В этом случае, если между WebSphere Application Server и IMS Connect используется Sysplex
Distributor, не поддерживаются перечисленные ниже взаимодействия:
- восстановление с 2 этапной фиксацией
- диалоговые транзакции IMS
Кроме того, при использовании нескольких систем IMS без главного члена (Super Member), может оказаться недоступной функция получения всех имеющихся сообщений вывода с помощью взаимодействий SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT. Дополнительная информация приведена в IMS OTMA User Guide
and Reference.
Соединения с общим постоянным сокетом
Для соединений с общим
постоянным сокетом используются ИД клиентов, созданные IMS Connector for Java.
Приложение, использующее общий сокет, не видит этих ИД клиентов. Соединения с общим постоянным сокетом могут использоваться последовательно несколькими приложениями, без ограничений, описанных выше для соединений с выделенным постоянным сокетом.
Установление соединений с выделенным постоянным сокетом
Для установления соединений с выделенным постоянным сокетом:
- • На сервере WebSphere Application
Server настройте фабрику соединений J2C для создания соединений с выделенным постоянным сокетом. Для этого нужно присвоить значение TRUE свойству
CM0Dedicated. В случае с управляемыми соединениями, приложение
находит фабрику соединений с помощью JNDI. Кроме того, приложение должно
быть настроено так, чтобы свойству commitMode объекта IMSInteractionSpec было присвоено значение 0.
- Укажите значение свойства client ID объекта IMSConnectionSpec,
используемого для соединения. Если приложением используется генерированный программный код,это значение можно установить, экспортировав свойство ИД клиента объектаIMSConnectionSpec в качестве данных. Если же приложением используется общий интерфейс клиентов (CCI) адаптера ресурсов IMS TM,
это значение можно установить с помощью функции setClientID объекта
IMSConnectionSpec, переданного функцией getConnection.
Установление соединений с общим постоянным сокетом
Для установления соединений с общим постоянным сокетом:
- На сервере WebSphere Application
Server настройте фабрику соединений J2C для создания соединений с общим постоянным сокетом. Свойству CM0Dedicated
фабрики соединений присвойте значение FALSE. В случае с управляемыми соединениями, приложение
находит фабрику соединений с помощью JNDI.
- Для соединений с общим постоянным сокетом, адаптер ресурсов IMS TM автоматически устанавливает ИД клиента. Если приложением используется генерированный программный код,
соединение с общим постоянным сокетом устанавливается генерированным кодом. Если же приложением используется общий интерфейс клиентов (CCI) адаптера ресурсов IMS TM,
необходимо убедиться, что значение свойства client ID объекта IMSConnectionSpec, переданного функцией getConnection.