WebSphere Extended Deployment Compute Grid, Version 6.1.1
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows,


単純なバッチ・アプリケーションの開発

このトピックでは、単純なバッチ・アプリケーションの作成方法について説明します。

始める前に

このタスクを開始する前に、環境をセットアップしておく必要があります。 場合によっては、Compute Grid バッチ・アプリケーションの開発前に、com.ibm.websphere.ejbcontainer.expandCMPCFJNDIName カスタム・プロパティーを構成する必要があります。 構成情報については、Java 仮想マシンのカスタム・プロパティー を参照してください。

このタスクについて

このサンプル・タスクでは、ユーザーが Rational Application Developer を使用すると想定しています。その他の開発ツールも使用することができます。

プロシージャー

  1. PostingsSample2 という新規エンタープライズ・アプリケーション・プロジェクトを作成します。
    1. 新規 Enterprise JavaBeans (EJB) プロジェクト・モジュールを追加します。 これによって、新規のエンタープライズ・アーカイブ (EAR) ファイルおよびエンタープライズ EJB プロジェクトが作成されます。
    2. batchruntime.jarPostingsSample2EJB プロジェクトの Java ビルド・パスへ追加します。batchruntime.jar は、<WAS_HOME>/lib フォルダーにあります。
    3. 既存の Java クラス AccountOp があると想定します。 このクラスは、2 つのパブリック・インターフェース・メソッド creditAccount(..) および debitAccount(..) を持つ Java オブジェクトです。これらのメソッドは、必要に応じて、バッチ Bean から呼び出されます。 このクラスをワークスペースからインポートするか、 バッチ呼び出しクラスを作成します。
  2. BatchStep クラスを作成します。 バッチ Bean は、抽象バッチ・ステップ・クラスから継承されるエンティティー Bean です。抽象ジョブ・ステップ PostingSample2Step を作成するには、 次のサブステップを実行します。
    1. PostingsSample2EJB プロジェクトで、BatchJobStepInterface から継承される抽象 Java クラス PostingSample2Step を作成します。
    2. BatchJobStepInterface を追加します。
    3. クラス抽象を作成します。
  3. バッチ Bean を作成します。 次のサブステップでは、バッチ Bean を手動で作成する方法について説明します。バッチ Bean では、 提供のプログラミング・モデルから BatchJobStepLocalInterface、BatchJobStepKey および BatchJobStepLocalHome クラスを再使用します。これらのクラスは再作成されません。バッチ Bean 実装のみ生成されます。
    1. PostingSample2EJB プロジェクトで、PostingsSample2Data という新規 CMP EJB を作成します。
    2. ローカル・ホーム・インターフェース・クラスの場合、「BatchJobStepLocalHomeInterface」を選択します。
    3. ローカル・インターフェース・クラスの場合、「BatchJobStepLocalInterface」を選択します。
    4. Use single key attribute type for the key class」を選択解除します。
    5. キー・クラスの場合、「BatchJobStepKey」を選択します。
    6. CMP 属性 ID を削除します。
    7. CMP 属性で、ストリング・タイプの 2 つの CMP 属性、jobIDstepID を追加します。
    8. 名前として jobID、 タイプとして java.lang.String を追加します。「キー」を選択します。
    9. 同様に、stepID を追加して、「java.lang.String」と入力し、このタイプ名を「キー」フィールドに挿入します。
    10. BeanSuperclass」を選択します。マッチング・タイプ PostingStep2 を作成します。 この操作により、新規 EJB が作成されますが、プロジェクトには EJB Bean クラスのみ表示されます。プログラミング・モデル提供のクラスから、 ローカル・インターフェース、ホーム・インターフェースおよびキー・クラスが選択されます。
    11. デプロイメント記述子を編集します。PostingSample2Data の ejb-jar.xml ファイルを次のように変更します。
      1. Bean」タブで編集して、CMP 接続ファクトリー JNDI 名を jdbc/lree に、 コンテナー許可タイプを Per_Connection_Factory にします。
      2. アセンブリー」タブで、コンテナー・トランザクションについて、PostingsSample2Data の すべてのメソッドを「必須」にします。
      3. WebSphere バインディング の JNDI 名を編集し、ejb/com/ibm/ws/batch/sample/PostingsSample2Data にします。
    12. デプロイメント記述子を保存してクローズします。同様に、後で、EJB の実装を追加します。
  4. バッチ・ジョブ・セッション Bean を作成します。 このバッチ・ジョブは、デプロイメント記述子で宣言されるセッション Bean ですが、ランタイムの全部分であるため、クラスは生成されません。
    1. ejb-jar.xml ファイルから、「Bean」タブで「追加」をクリックして新規セッション EJB、PostingsJob2 を作成します。
    2. トランザクション・タイプBean に変更します。
    3. Bean クラスリモート・ホーム・インターフェース、およびリモート・インターフェース で、次のようにストリングを入力します。
      1. Bean クラス: com.ibm.ws.batch.BatchJobControllerBean
      2. リモート・インターフェース: com.ibm.ws.batch.BatchJobController
      3. リモート・ホーム・インターフェース: com.ibm.ws.batch.BatchJobControllerHome

      ランタイム環境には、すべてのクラスが存在しているため、新規に生成されるクラスはありません。デプロイメント記述子でジョブ・セッション Bean を宣言するのみです。

    4. WebSphere バインディング Java Naming and Directory Interface (JNDI) 名を編集して、ejb/com/ibm/ws/batch/PostingsSample2Job にします。
    5. EJB 参照を PostingsSample2Job に追加します。
    6. PostingsSample2Data Bean を選択し、名前 ejb/PostingsSample2Data を追加します。

      ローカル参照タイプを選択します。

    7. 作業マネージャー参照を作成します。
      1. references」タブの PostingSample2Job Bean で、「追加」をクリックします。 「リソース参照」を選択し、「次へ」をクリックして、次の情報を指定します。
      • 名前: wm/BatchWorkManager
      • タイプ: commonj.work.WorkManager を選択します。
      • 認証: Container
      • Sharing Scope: Shareable
    8. wm/BatchWorkManger の JNDI 名を編集して wm/default にします。
    9. ejb-jar.xml ファイルを保存してクローズします。
  5. 入力バッチ・データ・ストリームを作成します。 入力および出力ストリームは、ゼロ、1、または n の場合があります。この例では、ファイルから読み取る入力ストリームが 1、 出力ストリームはなしです。出力はコンソールに表示されます。 バッチ・データ・ストリーム (BDS) クラスは、Plain Old Java Object (POJO) です。入力ストリームを作成するには、次のステップを実行します。
    1. com.ibm.ws.batch.sample パッケージに、PostingsSample2InputStream という新規クラスを作成します。
    2. BatchDataStream インターフェースを実装します。 このアクションにより、 新規 PostingSample2Input ストリーム・クラスが作成されます。後で実装を追加することができます。
  6. Posting2Class を作成し、入力ストリームからのレコードを示します。 このクラスは、バッチ入力ストリームにおけるレコードのオブジェクト表現です。 これは、入力 BDS からのレコードの読み取り時に構成され、バッチ Bean に受け渡されます。このクラスは、入力ストリームにおけるフィールドの、属性および対応する getter と setter を含むデータ Bean または cargo Bean に類似しています。
    1. シリアライズ可能インターフェースを実装する Posting2 という名前の新規クラスを作成します。 後で実装を追加することができます。
  7. 実装をクラスに追加します。
    1. ここで、付加クラス・ファイルのように、PostingSample2Data Bean、PostingSample2Step および PostingSample2InputStream に実装を追加します。この例では、 処理の観点から、簡潔になっており、 新規バッチ・アプリケーション開発に関係するステップが強調されています。 実装クラスを追加したあと、EJB をデプロイすることができます。



関連概念
バッチ・ジョブ・ステップ
バッチ・プログラミング・モデル
バッチ・コントローラー Bean
タスク・トピック    

ご利用条件 | フィードバック

最終更新: 2009/09/17 16時38分56秒EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/tbgridtutorial2.html