< Назад | Далее >

Урок 3: создание метода Java

Урок 3 посвящен созданию метода Java™.
Предварительно следует выполнить Урок 2: создание проекта EJB и создание объекта, управляемого сообщением.
В этом уроке решаются следующие задачи:
  1. На странице Метод Java нажмите кнопку Добавить.
  2. В поле Имя очереди введите IVPPIPE4. Именем очереди служит имя конвейера транзакций, в котором хранятся сообщения внешних вызовов IMS. В примере внешнего вызова IMS используется стандартный конвейер транзакций IVPPIPE4. Дополнительная информация об именах очередей приведена в разделе
    Вместо создания нового проекта можно импортировать готовый пример IMS. В этом случае будет выбрано имя очереди SYNCTP04. Полное тестирование можно выполнить двумя способами:
    1. Изменить имя очереди, указав приложение IMS, содержащееся в примере IVP внешнего вызова IMS: Для тестирования примера J2C в этом случае не требуется создавать или изменять свое приложение IMS или определять дескриптор целевого расположения OTMA в системе хоста IMS.
    2. Изменить или создать приложение IMS и определить дескриптор целевого расположения OTMA в системе хоста IMS:
      1. Создать или изменить приложение IMS для выполнения синхронного внешнего вызова при помощи вызова DL/I ICAL. Например:
        ICAL  SENDRECV MYDDTOR1 001000 00050 00100
        где:
        • SENDRECV - обязательный код подфункции
        • MYDDTOR1 - имя дескриптора, которое необходимо определить в системе хоста IMS.
        • 001000 - время ожидания ответа в сотых частях секунды
        • 00050 - размер данных запроса в байтах
        • 00100 - размер данных ответа в байтах
        Пример показывает, как можно отправить сообщение запроса синхронного внешнего вызова, содержащее 50 байт данных, в целевое расположение MYDDTOR1. Приложение будет ожидать ответ, содержащий 100 байт данных, в течение времени, заданного в значении тайм-аута 1000 (или 10 секунд).
      2. Пример показывает, как можно отправить сообщение запроса синхронного внешнего вызова, содержащее 50 байт данных, в целевое расположение MYDDTOR1. Приложение будет ожидать ответ, содержащий 100 байт данных, в течение времени, заданного в значении тайм-аута 1000 (или 10 секунд).
        D MYDDTOR1 TYPE=IMSCON TMEMBER=HWS1 TPIPE=SYNCTP04 SYNTIMER=1000
        где:
        • MYDDTOR1 - имя дескриптора, указанное в вызове DL/I ICAL
        • HWS1 - соответствующее имя TMEMBER в вашей среде
        • SYNCTP04 - имя очереди, указанное в методе Java и спецификации активации J2C
        • 1000 - значение тайм-аута ожидания в сотых частях секунды.
        Дополнительная информация о формате вызова DL/I ICAL, дескрипторе целевого расположения OTMA и функции синхронного внешнего вызова IMS приведена в разделе Функция синхронного внешнего вызова IMS версии 10
  3. В поле Имя метода EJB введите invokeCall.
  4. На странице Метод Java нажмите кнопку Создать рядом с полем Тип входных данных.
  5. На странице Импорт данных убедитесь, что в поле Выбор преобразования введено COBOL в Java. Щелкните Обзор рядом с полем Файл COBOL.
  6. Найдите расположение файла SYCALOUT.cpy. (Копию можно найти в папке установки продукта: <installdir>/IBM/IBMIMShared/plugins/com.ibm.j2c.cheatsheet.content/Samples/IMS/inbound).
    sycalout.cpy
                *
          *    Пример вызова IMS
          *
          *********************************************************************/
          *                                                                   */
          * (c) Авторское право Корпорации IBM 2008                           */
          * Авторские права защищены                                          */
          * Лицензионный материал - собственность IBM                        */
          *                                                                   */
          * Заявление об ограничении ответственности.                                         */
          *                                                                   */
          * Следующий код (закрытый) предоставляется исключительно для помощи */
          * в разработке приложений. Код предоставляется "КАК ЕСТЬ". IBM НЕ */
          * ДАЕТ НИКАКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ  (НО   */
          * НЕ ОГРАНИЧИВАЯСЬ ИМИ) ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ       */
          * ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ В ЧАСТИ ФУНКЦИЙ      */
          * ИЛИ ИСПОЛНЕНИЯ НАСТОЯЩЕГО КОДЕКСА.                         */
          * IBM не несет ответственности за любой ущерб, вытекающий из        */
          * использования сгенерированного вами кода, даже если фирма была    */
          * предупреждена о возможности таких убытков.                                      */
          *                                                                   */
          * РАСПРОСТРАНЕНИЕ.                                                     */
          *                                                                   */
          * Этот сгенерированный код можно свободно распространять,           */
          * копировать, изменять и включать в другое программное обеспечение, */
     * при условии, что:                                                 */
          *   - он сопровождается вышеприведенным уведомлением об авторских   */
     *     правах и ОТКАЗОМ от неповрежденности                          */
          *   - программное обеспечение не перепродается                      */
          *                                                                   */
          *********************************************************************/
    
            01  CALLOUT-REQUEST.
                05  CALLOUT-REQUEST-STR      PIC X(50).
    
            01  CALLOUT-RESPONSE.
                05  CALLOUT-RESPONSE-STR     PIC X(50).
  7. Нажмите кнопку Открыть.
  8. Нажмите кнопку Далее.
  9. На странице Программа импорта COBOL щелкните на Показать дополнительные параметры.
    1. Выберите следующие опции:
      Табл. 1. Настройки параметров программы импорта COBOL
      Параметр Значение
      Имя платформы Z/OS
      Кодовая страница IBM-037
      Идентификатор формата с плавающей точкой IBM® Hexadecimal
      Внешний десятичный знак EBCDIC
      Идентификатор endian Big
      Идентификатор удаленного целого endian Big
      Идентификатор quote DOUBLE
      Идентификатор trunc STD
      Идентификатор Nsymbol DBCS
    2. Для загрузки данных нажмите Запросить.
    3. Откроется список структур данных. В поле Структуры данных выберите CALLOUT-REQUEST.
    4. Нажмите кнопку Далее.
  10. На странице Сохранение свойств
    1. Выберите По умолчанию для Стиль создания.
    2. Выберите Обзор рядом с полем Имя проекта и выберите веб-проект IMSInbound.
    3. В поле Имя пакета введите sample.ims.data.
    4. Оставьте предложенное значение CALLOUTREQUEST в поле Имя класса. Нажмите кнопку Готово.
  11. На странице Метод Java нажмите кнопку Создать рядом с полем Тип выходных данных.
  12. На странице Импорт данных убедитесь, что в поле Выбор преобразования введено COBOL в Java. Щелкните Обзор рядом с полем Файл COBOL.
  13. Найдите расположение файла SYCALOUT.cpy. (Копию можно найти в папке установки продукта: <installdir>/IBM/IBMIMShared/plugins/com.ibm.j2c.cheatsheet.content/Samples/IMS/inbound).
  14. Нажмите кнопку Открыть.
  15. Нажмите кнопку Далее.
  16. На странице Программа импорта COBOL щелкните на Показать дополнительные параметры.
    1. Выберите следующие опции:
      Табл. 2. Настройки параметров программы импорта COBOL
      Параметр Значение
      Имя платформы Z/OS
      Кодовая страница IBM-037
      Идентификатор формата с плавающей точкой IBM Hexadecimal
      Внешний десятичный знак EBCDIC
      Идентификатор endian Big
      Идентификатор удаленного целого endian Big
      Идентификатор quote DOUBLE
      Идентификатор trunc STD
      Идентификатор Nsymbol DBCS
    2. Для загрузки данных нажмите Запросить.
    3. Откроется список структур данных. В поле Структуры данных выберите CALLOUT-RESPONSE.
    4. Нажмите кнопку Далее.
  17. На странице Сохранение свойств
    1. Выберите По умолчанию для Стиль создания.
    2. Выберите Обзор рядом с полем Имя проекта и выберите веб-проект IMSInbound.
    3. В поле Имя пакета введите sample.ims.data.
    4. Оставьте предложенное значение CALLOUTRESPONSE в поле Имя класса. Нажмите кнопку Готово.
  18. Нажмите кнопку Готово.
  19. Для завершения определения метода нажмите Готово.
  20. После создания всех артефактов выберите IMSInbound > ejbModule > sample.ims, щелкните правой кнопкой мыши на CALLOUTSB.java и выберите > Открыть с помощью > Редактор Java. Отредактируйте метод invokeCall:
      public sample.ims.data.CALLOUTRESPONSE invokeCall(
                  		 		 		 sample.ims.data.CALLOUTREQUEST cALLOUTREQUEST) {
                  		 		 // TODO Need to implement business logic here. 
                  		 		 System.out.println("Synchronous callout request from IMS to WebSphere MDB");		 		 
                  		 		 
                  		 		    
                          System.out.println(cALLOUTREQUEST.getCallout__request__str());
                  
                          sample.ims.data.CALLOUTRESPONSE response = new CALLOUTRESPONSE();
                          System.out.println("Synchronous callout response from WebSphere MDB to IMS");		 		 
                          response.setCallout__response__str("HELLO FROM WAS MDB");
                          return response;
      }
< Назад | Далее >

Комментарии