WebSphere Extended Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows, z/OS

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

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

Before you begin

このタスクを開始する前に、環境をセットアップしておく必要があります。

Why and when to perform this task

このサンプル・タスクでは、ユーザーが Rational Application Developer (RAD) を使用すると想定しています。その他の開発ツールも使用することができます。
  1. PostingsSample2 という新規エンタープライズ・アプリケーション・プロジェクトを作成します。
    1. 新規 Enterprise JavaBeans (EJB) プロジェクト・モジュールを追加します。 これにより、 新規 EAR ファイルおよび EJB プロジェクトが作成されます。
    2. BATCH_RUNTIMEPostingsSample2EJB プロジェクトの Java ビルド・パスへ追加します。
    3. 既存の Java クラス AccountOp があると想定します。 このクラスは、2 つのパブリック・インターフェース・メソッド creditAccount(..) および debitAccount(..) を持つ Java オブジェクトです。これらのメソッドは、必要に応じて、バッチ Bean から呼び出されます。 このクラスをワークスペースからインポートするか、 バッチ呼び出しクラスを作成します。
  2. BatchStep クラスを作成します。 バッチ Bean は、抽象バッチ・ステップ・クラスから継承されるエンティティー Bean です。抽象ジョブ・ステップ PostingSample2Step を作成するには、 次の手順に従います。
    1. PostingsSample2EJB プロジェクトで、BatchJobStepInterface から継承される抽象 Java クラス PostingSample2Step を作成します。
    2. BatchJobStepInterface を追加します。
    3. クラス抽象を作成します。
  3. バッチ Bean (エンティティー EJB) を作成します。 次のステップでは、 バッチ 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. Assembly」タブで、「Required」の 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 バインディング JNDI 名を編集して ejb/com/ibm/ws/batch/PostingsSample2Job にします。
    5. タイプ EJB 参照の PostingsSample2Job に参照を追加します。
    6. PostingsSample2Data Bean を選択し、名前 ejb/PostingsSample2Data を追加します。 ローカル参照タイプを選択します。
    7. 作業マネージャー参照を作成します。
      1. references」タブの PostingSample2Job Bean で、「追加」をクリックします。 「Resource Reference」を選択して、「次へ」をクリックします。
      2. 名前: wm/BatchWorkManager
      3. タイプ: commonj.work.WorkManager を選択します。
      4. 認証: Container
      5. Sharing Scope: Shareable
    8. Java Naming and Directory Interface (JNDI) 名 wm/BatchWorkManger を編集して、wm/default にします。
    9. ejb-jar.xml を保管してクローズします。
  5. 入力バッチ・データ・ストリームを作成します。 入力および出力ストリームは、 ゼロ、1 または n の場合があります。この例では、ファイルから読み取る InputStream が 1、 出力ストリームはなしです。出力はコンソールに表示されます。 BDS クラスは POJO です。入力ストリームを作成するには、次のようにします。
    1. com.ibm.ws.batch.sample パッケージに、PostingsSample2InputStream という新規クラスを作成します。
    2. BatchDataStream インターフェースをインプリメントします。 これにより、 新規 PostingSample2Input ストリーム・クラスが作成されます。後でインプリメンテーションを追加することができます。
  6. Posting2 クラスを作成し、入力ストリームからのレコードを示します。 このクラスは、バッチ入力ストリームのレコードのオブジェクト表記です。入力 BDS からレコードを読み取っている間に構成され、 バッチ Bean に渡されます。このクラスは、 入力ストリームのフィールドの属性および対応する getter と setter を含むデータ Bean または cargo Bean に類似しています。
    1. シリアライズ可能インターフェースをインプリメントする Posting2 という名前の新規クラスを作成します。 後でインプリメンテーションを追加することができます。
  7. インプリメンテーションをクラスに追加します。
    1. ここで、付加クラス・ファイルのように、PostingSample2DataBean、PostingSample2Step および PostingSample2InputStream にインプリメンテーションを追加します。この例では、 処理の観点から、簡潔になっており、 新規バッチ・アプリケーション開発に関係するステップが強調されています。 インプリメンテーション・クラスを追加したあと、EJB をデプロイすることができます。

What to do next

管理コンソールのナビゲーション・ツリーで、「Runtime Operations」を展開し、 「Job Management」を選択します。右側のパネルで、 エラー・メッセージのない空のジョブ・テーブルが表示されていることを確認します。



Task topic    

Terms of Use | Feedback Last updated: Mar 20, 2006 12:32:00 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/tbgridtutorial2.html

© Copyright IBM 2005, 2006. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)