< 前へ | 次へ >

演習 3: Java メソッドの作成

演習 3 では、Java™ メソッドの作成を学びます。
始める前に、演習 2: EJB プロジェクトのセットアップおよびメッセージ駆動型 Bean の作成を完了しておく必要があります。
この演習では、以下を行います。
  1. 「Java メソッド」ページで「追加」をクリックします。
  2. 「キュー名」フィールドに IVPPIPE4 と入力します。 キュー名は、IMS™ コールアウト・メッセージが保持されているトランザクション・パイプの名前です。IVPPIPE4 は、IMS コールアウト・サンプルによって使用される事前定義されたトランザクション・パイプです。キュー名について詳しくは、を参照してください。
    新規プロジェクトを作成する代わりに、提供されている IMS インバウンド・サンプルをインポートする場合は、キュー名が SYNCTP04 に設定されます。エンドツーエンド・テストには 2 つのオプションがあります。
    1. キュー名を変更して、IMS コールアウト・サンプル IVP で提供されている IMS アプリケーションを使用する: このオプションでは、独自の IMS アプリケーションを作成または変更したり、IMS ホスト・システムで OTMA 宛先記述子を定義したりする必要なく、J2C サンプルをテストできます。
    2. IMS アプリケーションを変更または作成し、IMS ホスト・システム上で OTMA 宛先記述子を定義する:
      1. DL/I ICAL 呼び出しを使用して同期コールアウト要求を発行する IMS アプリケーションを作成または変更します。 以下に例を示します。
        ICAL  SENDRECV MYDDTOR1 001000 00050 00100
        ここで、
        • SENDRECV は必要なサブ関数コードです
        • MYDDTOR1 は、IMS ホスト・システムで定義しなければならない記述子名です。
        • 001000 は、応答を待つ時間です (1/100 秒単位)。
        • 00050 は要求データのサイズです (バイト単位)
        • 00100 は応答データのサイズです (バイト単位)
        この例では、50 バイトの要求データと共に、同期コールアウト要求メッセージを MYDDTOR1 という名前の宛先に送信する方法を示します。 アプリケーションは、タイムアウト値 1000 (すなわち、10 秒) 以外の応答データ 100 バイトが返されることを予想します。
      2. この例では、50 バイトの要求データと共に、同期コールアウト要求メッセージを MYDDTOR1 という名前の宛先に送信する方法を示します。 アプリケーションは、タイムアウト値 1000 (すなわち、10 秒) 以外の応答データ 100 バイトが返されることを予想します。
        D MYDDTOR1 TYPE=IMSCON TMEMBER=HWS1 TPIPE=SYNCTP04 SYNTIMER=1000
        ここで、
        • MYDDTOR1 は DL/I ICAL 呼び出しで指定された記述子名です
        • HWS1 は、ご使用の環境の適切な TMEMBER 名です
        • SYNCTP04 は Java メソッドおよび J2C アクティベーション・スペックで指定されたキュー名です
        • 1000 はタイムアウト値です (1/100 秒単位)。
        DL/I ICAL 呼び出し構文、OTMA 宛先記述子、および IMS 同期コールアウト関数について詳しくは、『IMS バージョン 10 同期コールアウト関数 (IMS Version 10 synchronous callout function)』を参照してください。
  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 Callout Sample copybook
          *
          *********************************************************************/
          *                                                                   */
          * (c) Copyright IBM Corp. 2008                                      */
          * All Rights Reserved                                               */
          * Licensed Materials - Property of IBM                              */
          *                                                                   */
          * 保証の不適用。                                                    */
          *                                                                   */
          * 以下の「同封された」コードは、専らお客様のアプリケーション開発    */
          * の補助を目的としてのみ提供されるものです。                        */
          * このコードは、現存するままの状態で提供されます。*/
          * IBM は、このコードの機能または                                    */
          * 性能に関して、明示的にも黙示的にも、法律上の瑕疵担保責任、        */
          * 商品性の保証および特定目的適合性の保証についての暗黙の保証を含め  */
          * (ただし、これらに限定されない) いかなる保証も提供しません。                        */
          * IBM は、このサンプル・コードの使用から生ずるいかなる損害          */
          * に対しても、その予見の有無を問わず、                              */
          * 責任を負いません。                                                */
          *                                                                   */
          * 配布。                                                            */
          *                                                                   */
          * This generated code can be freely distributed, copied, altered,   */
          * and incorporated into other software, provided that:              */
          *   - It bears the above Copyright notice and DISCLAIMER intact     */
          *   - The software is not for resale                                */
          *                                                                   */
          *********************************************************************/
    
            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
      外部 10 進符号 EBCDIC
      エンディアン名 Big
      リモート整数エンディアン名 Big
      Quote 名 DOUBLE
      Trunc 名 STD
      Nsymbol 名 DBCS
    2. 「照会」をクリックして、データをロードします。
    3. データ構造のリストが表示されます。「データ構造」フィールドで「CALLOUT-REQUEST」を選択します。
    4. 「次へ」をクリックします。
  10. 「保存するプロパティー」ページで、以下を実行します。
    1. 「生成のスタイル」「デフォルト」を選択します。
    2. 「プロジェクト名」の横の「参照」をクリックして、Web プロジェクト「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
      外部 10 進符号 EBCDIC
      エンディアン名 Big
      リモート整数エンディアン名 Big
      Quote 名 DOUBLE
      Trunc 名 STD
      Nsymbol 名 DBCS
    2. 「照会」をクリックして、データをロードします。
    3. データ構造のリストが表示されます。「データ構造」フィールドで「CALLOUT-RESPONSE」を選択します。
    4. 「次へ」をクリックします。
  17. 「保存するプロパティー」ページで、以下を実行します。
    1. 「生成のスタイル」「デフォルト」を選択します。
    2. 「プロジェクト名」の横の「参照」をクリックして、Web プロジェクト「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;
      }
< 前へ | 次へ >

フィードバック