Создание исходящих вызовов WebSphere Optimized Local Adapters

С помощью WebSphere Optimized Local Adapters можно вызывать приложения, работающие во внешних адресных пространствах в системе z/OS. Для обеспечения оптимальной производительности эти приложения следует запускать локально в том же образе z/OS. Кроме того, WebSphere Optimized Local Adapters поддерживает вызов приложений в системе z/OS из приложений, работающих в распределенной среде WebSphere Application Server. Это удаленный режим (режим разработчика).

Об этой задаче

Важное замечание: Объекты JavaBean J2C формально поддерживаются и протестированы на серверах WebSphere Application Server. Использование в других средах Java™ допустимо, однако всестороннее тестирование не проводилось. Если существуют неполадки со сгенерированным исходным кодом и они могут быть изолированы как таковые в среде WebSphere Application Server, то они будут поддерживаться.

Рассмотрены способы вызова исходящих приложений на сервере WebSphere Application Server с помощью WebSphere Optimized Local Adapters.

Вызов пакетных приложений и приложений UNIX System Services

WebSphere Optimized Local Adapter позволяет вызывать пакетные приложения и приложения USS в системе z/OS, измененные для применения API сервера WebSphere Optimized Local Adapter.

Об этой задаче

С помощью API WebSphere Optimized Local Adapter для приема запросов (BBOA1RCV) или службы хоста (BBOA1SRV) любое приложение можно сделать доступным для приложений Java на сервере WebSphere Application Server (для вызова применяются методы JCA). Дополнительная информация о применении этих API приведена в разделе Оптимизированные локальные адаптера для API z/OS.

Приложения, работающие в среде CICS, IMS, USS или в пакетной среде z/OS могут использовать API WebSphere Optimized Local Adapter для работы в качестве серверов WebSphere Optimized Local Adapter, принимая запросы от WebSphere Application Server.

Вызов существующих приложений CICS

WebSphere Optimized Local Adapter позволяет выполнять исходящие вызовы совместно с сервером связей CICS WebSphere Optimized Local Adapter.

Об этой задаче

Сервер связей WebSphere Optimized Local Adapter представляет собой приложение, которое запускается в области CICS и выполняет роль сервера или посредника для вызовов существующих программ CICS. В этом случае приложение WebSphere Application Server вызывает существующие программы CICS с помощью EXEC CICS LINK. Для передачи и возврата данных применяется область связи (COMMAREA) или канал и контейнер.

По умолчанию WebSphere Optimized Local Adapter передает данные сообщений программе CICS с помощью механизма COMMAREA. В свойствах фабрики соединений можно указать разные контейнеры CICS для доставки сообщения запроса и возврата ответа. Если требуется один контейнер запроса/ответа, настройте запрос IndexedRecord с одной записью. Кроме того, можно настроить доставку нескольких сообщений в нескольких контейнерах для указанного канала. Для этой цели можно использовать методы set или конфигурацию фабрики соединений. Для нескольких записей укажите MappedRecord в WebSphere Optimized Local Adapter для исходящего вызова CICS. Дополнительная информация о поддержке каналов и контейнеров CICS в WebSphere Optimized Local Adapter приведена на веб-странице Транзакции WebSphere Application Server BBOC, BBO$, BBO#.

Процедура

Для создания реализации с поддержкой контейнеров CICS выполните следующие действия:

  1. На странице Импорт данных в поле имени файла книги COBOL укажите канал COBOL WebSphere Optimized Local Adapter CICS для Java.
  2. В поле имени канала CICS укажите имя контейнера запросов и ответов.
  3. Необязательно: Можно добавить несколько имен контейнеров и связать с их с одним каналом. При этом создаются различные связи (книги) для каждого контейнера. Такой подход позволяет обмениваться несколькими контейнерами с приложением CICS с помощью MappedRecord.

Дальнейшие действия

Дополнительная информация о свойствах фабрики соединений WebSphere Optimized Local Adapter, связанных с сервером связей WebSphere Optimized Local Adapter CICS, приведена на веб-странице Особенности фабрики соединений для оптимизированных локальных адаптеров. Дополнительная информация об использовании WebSphere Optimized Local Adapter с приложениями CICS приведена в разделе (Необязательно) Работа со средой CICS.

Вызов существующих приложений IMS

Третий способ выполнения исходящих вызовов с помощью WebSphere Optimized Local Adapter - вызов существующих приложений IMS.

Об этой задаче

Третий способ выполнения исходящих вызовов с помощью WebSphere Optimized Local Adapter - вызов существующих приложений IMS. Для этой цели WebSphere Optimized Local Adapter использует доступный для вызова интерфейс IMS OTMA. За применение OTMA отвечает метод set в спецификации соединения WebSphere Optimized Local Adapter и фабрике соединений. Приложения WebSphere Application Server выбирают имя сервера OTMA и ИД группы, упаковывают данные сообщений в формат IMS и вызывают адаптер ресурса WebSphere Optimized Local Adapter, выбирая OTMA в качестве протокола.

Поддерживаемые форматы сообщений для WebSphere Optimized Local Adapter с протоколом OTMA

WebSphere Optimized Local Adapter с протоколом OTMA поддерживает многосегментные сообщения IMS.

Об этой задаче

Стандартный формат данных сообщения запроса IMS для WebSphere Optimized Local Adapter с поддержкой OTMA: LLZZ или LLLLZZ плюс ИД транзакции IMS (8 символов) плюс данные сообщения IMS.

Формат данных сообщения, возвращаемого в ответ на вызов WebSphere Optimized Local Adapter с поддержкой OTMA: LLZZ и данные ответа или LLLLZZ и данные ответа. В конфигурации WebSphere Optimized Local Adapter с поддержкой OTMA рекомендуется указать конкретный формат: LLZZ или LLLLZZ. WebSphere Optimized Local Adapter поддерживает оба формата данных запроса и ответа; их можно указать с помощью методов set в спецификации соединения или с помощью свойств фабрики соединений.

В случае применения функции импорта данных откройте книгу COBOL или структуру PL/I, определите формат данных запроса IMS (LLZZ или LLLLZZ) и выберите связанный флаг в свойствах фабрики соединений WebSphere Optimized Local Adapter (или воспользуйтесь соответствующим методом set). Дополнительная информация о форматах данных сообщений приведена на веб-странице Вызов существующих транзакций IMS с помощью оптимизированных локальных адаптеров по протоколу OTMA. Дополнительная информация о WebSphere Optimized Local Adapter с поддержкой OTMA приведена в разделе (Необязательно) Работа со средой IMS.

Передача и утверждение идентификационных данных из внешнего адреса

WebSphere Optimized Local Adapter поддерживает передачу и утверждение идентификационных данных из внешнего адресного пространства в контейнер Javabean WebSphere Application Server.

Об этой задаче

Режим работы зависит от внешней среды: пакетная среда, CICS, IMS. В вызовах из WebSphere Application Server в пакетную среду идентификационные данные не передаются и пакетное задание всегда выполняется от имени ИД пользователя пакетной среды. В случае применения CICS и IMS продукт WebSphere Optimized Local Adapter поддерживает передачу и утверждение идентификационных данных пользователя, однако следует использовать сервер связей CICS WebSphere Optimized Local Adapter для CICS и WebSphere Optimized Local Adapter с поддержкой OTMA для IMS. Дополнительная информация об этой реализации приведена в разделе Защита оптимизированных локальных адаптеров.

Кроме того, WebSphere Optimized Local Adapter поддерживает глобальные транзакции с двухэтапной фиксацией в обоих направлениях между WebSphere Application Server и CICS, а также между WebSphere Application Server и IMS. Дополнительная информация о продукте WebSphere Optimized Local Adapter и глобальных транзакциях приведена в разделе Вызов объекта EJB из внешнего адресного пространства в транзакции клиента.

Дополнительная информация о продукте WebSphere Optimized Local Adapter и глобальных транзакциях IMS приведена в разделе Вызов существующих транзакций IMS с помощью оптимизированных локальных адаптеров по протоколу OTMA.

Запуск приложений WebSphere Optimized Local Adapter из удаленного сервера приложений

WebSphere Optimized Local Adapter в режиме разработки или удаленном режиме поддерживает удаленное подключение к серверу WebSphere Application Server в другой системе z/OS или серверу приложений, работающему в распределенной системе, отличной от z/OS.

Об этой задаче

Поскольку WebSphere Optimized Local Adapter является локальной технологией, основные преимущества достигаются, если WebSphere Application Server z/OS работает на одном сервере вместе с приложениями CICS, IMS и пакетной среды. Однако к адаптеру ресурса WebSphere Optimized Local Adapter можно обратиться из удаленного сервера WebSphere Application Server в другой системе z/OS или удаленного сервера приложений, работающего в распределенной среде, отличной от z/OS. Для этого необходимо запустить WebSphere Optimized Local Adapter в режиме разработки или удаленном режиме. Кроме того, на сервере WebSphere Application Server z/OS должен быть установлен посредник WebSphere Optimized Local Adapter, обеспечивающий доступ к ресурсам z/OS. Сервер WebSphere Application Server z/OS, содержащий посредника, должен быть расположен в одной системе z/OS с приложениями CICS, IMS или пакетной среды.

В случае применения удаленного режима с помощью рабочей среды и WebSphere Application Server можно развернуть приложение без внесения изменений в конфигурацию сервера WebSphere Application Server z/OS, на котором выполняется посредник WebSphere Optimized Local Adapter. Как правило, этот метод применяется в ходе разработки и тестирования обновлений приложений. Дополнительная информация об использовании WebSphere Optimized Local Adapter в режиме разработки или удаленном режиме приведена в разделе Развертывание оптимизированных локальных адаптеров в режиме разработки.

Создание приложения WebSphere Optimized Local Adapter для исходящих вызовов: пример процедуры

Рассмотрим сценарий, в котором приложение из локальной среды вызывает внешнее адресное пространство. Ниже приведены инструкции и пример кода для перемещения данных между средами в запросе и их возврата в ответе.

Процедура

  1. Выберите Файл > Создать > Другое > J2C.
  2. Выберите WebSphere Optimized Local Adapter (IBM:2) и нажмите кнопку Далее.
  3. На странице Импорт коннектора в поле Проект коннектора примите значение по умолчанию ola; в поле Целевой сервер выберите требуемую версию WebSphere Application Server и нажмите кнопку Далее.
  4. На странице Стиль адаптера выберите Исходящий и нажмите кнопку Далее.
  5. В окне Свойства соединения введите имя JNDI фабрики соединений, применяемой для исходящих вызовов WebSphere Optimized Local Adapter, и нажмите кнопку Далее.
  6. В окне Свойства вывода J2C Javabean введите имя существующего или нового проекта, имя пакета и имя реализации интерфейса для создания в исходящем вызове и нажмите кнопку Далее.
    1. На странице Проект Java в поле Имя отображается имя, указанное для проекта на странице Создать J2C Javabean. Проверьте правильность имени. Если имя проекта не показано, введите его в поле Имя.
    2. В поле Имя введите имя нового проекта Java. Для изменения значения по умолчанию, указанного в поле Расположение проекта, нажмите кнопку Обзор и выберите новое расположение.
    3. В поле Целевая среда выполнения выберите версию WebSphere Application Server, в которой требуется развернуть файлы. Выбранное значение влияет на параметры компиляции и выполнения за счет изменения записей путей к классам проекта.
      Прим.: Если ввести новое имя проекта EAR, то проект будет создан в расположении по умолчанию с наименьшей совместимой версией Java EE в соответствии с версией создаваемого проекта. При необходимости с помощью мастера Создать проект приложения J2EE можно указать другую версию или другое расположение приложения J2EE.
    4. Примите опцию Версия модуля Java по умолчанию или выберите другую версию из списка. В случае создания входящих приложений J2C выберите Java 3.0.
      Важное замечание: Если выбрано значение Java 3.0, то мастер Java 3.0 по умолчанию создает локальный интерфейс. При необходимости можно вручную создать удаленный интерфейс, добавив аннотацию @Remote(class= interface.java) в объект J2C.
    5. В поле Конфигурация примите конфигурацию по умолчанию или нажмите кнопку Изменить, чтобы изменить фасеты для своего проекта.
    6. Для добавления проекта Java в файл EAR выберите Добавить в EAR.
    7. Выберите целевой EAR для добавления модуля Java или введите имя в поле Имя проекта EAR и нажмите кнопку Далее.
    8. На странице Модуль Java в поле Исходная папка оставьте значение по умолчанию, ejbModule, или введите другое имя исходной папки для проекта Java, и нажмите кнопку Далее.
    9. На странице Настроить параметры модуля Java выполните следующие действия:
      1. Для сохранения классов интерфейса клиента для объектов EJB в отдельном файле клиента JAR Java включите переключатель Создать модуль JAR клиента Java для хранения клиентских интерфейсов и классов. Полученный файл JAR клиента Java добавляется в приложение J2EE в качестве вспомогательного файла JAR проекта.
      2. В поле Имя оставьте значение по умолчанию модуля клиента JAR или введите другое имя.
      3. В поле URI клиента JAR оставьте значение по умолчанию имени файла клиента JAR или введите другое имя.
    10. Нажмите Готово.
  7. На странице Свойства вывода J2C JavaBean выполните следующие действия:
    1. В поле Имя проекта Java проверьте правильность имени проекта.
    2. В поле Имя пакета введите имя пакета.
    3. В поле Имя сеансового объекта Java без сохранения состояния.
    Нажмите кнопку Далее.
  8. На странице Методы Java нажмите кнопку Добавить для создания метода Java.
  9. На странице Метод EJB в поле Имя введите имя метода Java.
    1. В поле Тип ввода нажмите кнопку Обзор для выбора входного объекта или создайте его с помощью кнопки Создать.
      1. На странице Импорт данных в поле Выбор преобразования выберите значение COBOL в Java.
      2. В поле Файл COBOL нажмите кнопку Обзор для выбора собственного файла COBOL и нажмите кнопку Далее.
      3. На странице Импорт в поле Платформа выберите z/OS, в поле Кодовая страница выберите IBM-1047, а в поле Структуры данных выберите структуру данных и нажмите кнопку Далее.
    2. На странице Сохранение свойств проверьте значения для вспомогательного класса и нажмите кнопку Готово.
  10. На странице Методы Java в поле Имя службы введите имя целевой службы WebSphere Optimized Local Adapter. Это имя применяется приложением внешнего адресного пространства в API приема запросов и службы хоста WebSphere Optimized Local Adapter. В случае применения сервера связей CICS ebSphere Optimized Local это имя сравнивается с именем службы или параметром SVC. В случае применения WebSphere Optimized Local Adapter с поддержкой OTMA - это имя целевой транзакции IMS. Нажмите Готово.

Результаты

Пример класса Java

Ниже приведен пример реализации внешнего вызова WebSphere Optimized Local с именем zCUSTCPY_Out. В примере указаны имя JNDI eis/ola и имя целевой службы ZCUSTGET. Вместе с реализацией создан вспомогательный класс на основе книги COBOL с определением уровня 01 с именем CUSTOMER.

   package com.ibm.rad.ola.test;
   import javax.resource.ResourceException;
   import javax.resource.cci.Connection;
   import javax.resource.cci.Interaction;
   import javax.resource.cci.ConnectionFactory;
   import javax.resource.cci.ConnectionSpec;
   import javax.resource.cci.InteractionSpec;
   import javax.resource.cci.Record;
   import javax.resource.cci.ResourceAdapterMetaData;
   
   
   /**
    * @j2c.connectionFactory jndi-name="eis/ola"
    * @j2c.connectionSpec class="com.ibm.websphere.ola.ConnectionSpecImpl"
    * @generated
    */
   public class ZCICSCustGetImpl implements com.ibm.rad.ola.test.ZCICSCustGet {
   
   	private ConnectionSpec typeLevelConnectionSpec;
   	private InteractionSpec invokedInteractionSpec;
   	private InteractionSpec interactionSpec;
   	private ConnectionSpec connectionSpec;
   	private Connection connection;
   	private ConnectionFactory connectionFactory;
   
   	/**
   	 * @j2c.interactionSpec class="com.ibm.websphere.ola.InteractionSpecImpl"
   	 * @j2c.interactionSpec-property name="serviceName" value="ZCUSTGET"
   	 * @generated
   	 */
   	public com.ibm.rad.ola.test.CUSTOMER zCUSTCPY_Out(
   			com.ibm.rad.ola.test.CUSTOMER arg)
   			throws javax.resource.ResourceException {
   				ConnectionSpec cs = getConnectionSpec();
   				InteractionSpec is = interactionSpec;
   				try {
   					if (cs == null) {
   						cs = getTypeLevelConnectionSpec();
   					}
   					if (is == null) {
   						is = new com.ibm.websphere.ola.InteractionSpecImpl();
   						((com.ibm.websphere.ola.InteractionSpecImpl) is)
   								.setServiceName("ZCUSTGET");
   					}
   				} catch (Exception e) {
   					throw new ResourceException(e.getMessage());
   				}
   				com.ibm.rad.ola.test.CUSTOMER output = new 
					com.ibm.rad.ola.test.CUSTOMER();
   				invoke(cs, is, arg, output);
   				return output;
   			}
	
	< ... другие методы ... >   

Для применения этого класса приложение должно создать запись CUSTOMER для передачи в качестве входных данных и приема в качестве выходных данных, а также создать экземпляр zCUSTCPY_Out() для внешнего вызова целевого приложения через адаптер ресурса WebSphere Optimized Local Adapter.

В ходе установки приложения, использующего эти инструменты, необходимо установить адаптер ресурса WebSphere Optimized Local Adapter и создать фабрику соединений с указанным именем JNDI (в этом примере применяется имя JNDI eis/ola). Кроме того, для фабрики соединений необходимо указать имя регистра WebSphere Optimized Local Adapter. В случае применения WebSphere Optimized Local Adapter с поддержкой OTMA укажите для фабрики соединений имя сервера IMS OTMA и имя группы. Дополнительная информация о свойствах фабрики соединений WebSphere Optimized Local Adapter, связанных с WebSphere Optimized Local Adapter с поддержкой OTMA, приведена на веб-странице Особенности фабрики соединений для оптимизированных локальных адаптеров.


Комментарии