このサンプルには、EJB プロジェクト (XDCGIVTEJBs) および EAR プロジェクト (XDCGIVTEAR) と関連している XDCGIVT バッチ・プロジェクトが含まれています。XDCGIVT アプリケーションは、ファイルの読み取りと書き込みを行うトランザクション・バッチ・アプリケーションです。
始める前に
- 以下のサポートされているサーバーのいずれかをインストールします。
- WebSphere® Application
Server V8.5
- WebSphere Application Server V8.0
- WebSphere Application Server V8.0 (WebSphere Extended Deployment Compute Grid V8.0 を併用)
- WebSphere Application
Server V7.0 with Feature Pack for Modern Batch
- バッチ・アプリケーションを受け入れるための WebSphere Application Server の構成。
ヒント: 最新バッチ・ジョブ管理コンソールが開けない場合、アプリケーション・サーバーはバッチ・アプリケーションを受け入れる準備が整っていません。例えば、
「サーバー」 ビューに移動し、サーバーを右クリックして
「最新バッチ・ジョブ管理コンソール」を選択した場合、以下のいずれかのエラー・メッセージが示される可能性があります。
これらのエラー・メッセージを解決するには、
WebSphere Application Server の構成によるバッチ・アプリケーションの受け入れ タスクをサーバーで完了し、次にこのページのサンプル実行に関する情報に戻ります。
このタスクについて
サーバー上でサンプルを実行するには、以下のステップを行います。
手順
- このサンプルを実行するサーバーのサポートされているバージョンを決定するには、「サーバー」ビューでサーバーを追加します。
- WebSphere Application Server V7.0
- WebSphere Application
Server V8.0
- WebSphere Application
Server V8.5
- 「サーバー」ビューを開くには、ツールバーでを選択します。
- サーバー・エントリーを追加するには、「サーバー」ビューを右クリックし、を選択します。「新規サーバー」ウィザードの説明にしたがって、「WebSphere Application Server V7.0」、「WebSphere Application Server V8.0」、または「WebSphere Application Server V8.5」のいずれかを選択します。
詳しくは、WebSphere Application Server の作成のトピックを参照してください。
- サンプルをワークスペースにインポートします。
- 製品のヘルプ・システムで、このサンプルのインポートリンクをクリックして、トランザクション・バッチ・アプリケーションのサンプルをワークスペースにインポートしてください。
- 「インポート」 ウィザードで、デフォルト設定を受け入れ、「終了」をクリックします。
- このサンプルを WebSphere Application Server V8.0 または V8.5 上で実行する場合、ターゲット・ランタイム環境のデフォルト設定を変更する必要があります。 このサンプルのデフォルト環境は WebSphere Application Server V7.0 に設定されています。 「サンプル・ランタイム・ターゲット」 ウィザードは、ワークベンチに WebSphere Application Server V7.0 ランタイム環境が含まれていない場合のみ開きます。
- 「サンプル・ランタイム・ターゲット」 ウィザードが開いた場合、このワークベンチには WebSphere Application Server V7.0 ランタイム環境が含まれていません。
- 「サンプルのインポート後に、互換ランタイムまたはスタブを手動でインストール」オプションを選択し、「終了」をクリックします。
- 「ワークスペースのマイグレーション」ページで、「次へ」をクリックします。
- 「マイグレーションが必要なワークスペース・プロジェクト」ページで、「次へ」をクリックします。
- 「マイグレーション・プロジェクトのリソース」ページで、「
次へ」をクリックします。
- 「未定義サーバー・ランタイム」ページ上にある「サーバー・ランタイム」リストで、was.base.v7 エントリーについて、「新規サーバー・ランタイム」列の下にある「WebSphere Application Server v8.0」または「WebSphere Application Server v8.5」を選択します。
「次へ」をクリックします。
- 「マイグレーション開始の完了」ページで、「終了」をクリックします。
- 「マイグレーションの検証」ウィンドウで、「OK」をクリックします
- 「サンプル・ランタイム・ターゲット」 ウィザードが開かない場合、このワークベンチには WebSphere Application Server V7.0 ランタイム環境が含まれています。
- 「エンタープライズ・エクスプローラー」ビューで、「SimpleCIEAR」プロジェクトを右クリック
して、を選択します。
- 「WebSphere Application Server V8.0」または「WebSphere Application Server V8.5」をチェック・ボックスで選択し、「OK」をクリックします。
- インポートが完了すると、「エンタープライズ・エクスプローラー」ビューに以下のプロジェクトが表示されます。
- ローカル WebSphere Application
Server の場合、ローカル Derby へのデータベース接続を作成します。
重要: この手順は、ご使用の WebSphere Application Server が、開発ワークベンチと同じコンピューター上にある場合にのみ実行してください。リモート WebSphere Application Server の場合、
リモート・サーバーと同じコンピューター上に IVTDB データベースを作成してしまうため、ローカル Derby データベース接続を作成するこの手順はスキップしてください。
- 「データ・ソース・エクスプローラー」ビューの「データベース接続」フォルダーを右クリックし、「新規」を選択します。
「新規接続」ウィザードが開きます。
- 「データベース・マネージャーの選択」リストで、「Derby」を選択します。
- 「JDBC ドライバー」リストで、「Derby
10.2 - 組み込み JDBC ドライバー (デフォルト)」を選択します。
- 「ドライバー定義の編集」(
) ボタンをクリックします。 「Jar リストの編集」ウィザードが開きます。
- 「ドライバー・ファイル」リストで、derby.jar エントリーを選択し「JAR/Zip の削除」ボタンをクリックします。 「ドライバー・ファイル」リストは、空になるはずです。
- 「JAR/Zip の追加」ボタンを使用して、次の 4 つの JAR ファイルを <WAS_directory>¥derby¥lib ディレクトリー (<WAS_directory> は、ローカル WebSphere Application
Server のインストール・ディレクトリー) から追加し、「OK」をクリックします。
- derby.jar
- derbyclient.jar
- derbynet.jar
- derbytools.jar
これは、Derby JDBC ドライバー・ファイルを「Jar リストの編集」ウィザードに追加した画面取りの例です。
- 「新規接続」ダイアログで、「データベース・ロケーション」フィールドの「プロパティー」セクションの下で、<workspace_directory>/XDCGIVT/IVTDB ディレクトリーを指定します。ここで、<workspace_directory> は、ワークスペースのディレクトリーです。 「終了」をクリックします。
- 「データ・ソース・エクスプローラー」ビューで、
「データベース接続」フォルダーを展開して「IVTDB」を右クリックし、「切断」を選択します。
- リモート WebSphere Application
Server の場合は、リモート・サーバーと同じコンピューターに IVTDB データベースを作成します。
重要: この手順は、ご使用の WebSphere Application Server が、開発ワークベンチのリモート・コンピューターにある場合にのみ実行してください。ローカル WebSphere Application
Server の場合は、この手順をスキップして次の手順を続行してください。
- java –version コマンドを実行します。
このコマンドを実行すると、Java™ Version 1.6 以降がインストールされていて、使用しているオペレーティング・システムの PATH 変数に含まれているかを検査できます。
- CreateIVTTablesDerby.ddl ファイルを見つけます。
- コマンド・プロンプトを開き、Derby データベース・ディレクトリーに移動します。




<remote_WAS_directory>/derby/databases
<remote_WAS_directory>¥derby¥databases
- 次のコマンドを実行します。





java -Djava.ext.dirs=<remote_WAS_directory>/derby/lib
-Dij.protocol=jdbc:derby: org.apache.derby.tools.ij
<path>/CreateIVTTablesDerby.ddl
ここで、
<remote_WAS_directory> はリモートの WebSphere Application Server のインストール・ディレクトリーで、<
path> はリモート・サーバーと同じコンピューター内にある
CreateIVTTablesDerby.ddl ファイルへのディレクトリー・パスです。
例えば:
java -Djava.ext.dirs=/opt/IBM/WebSphere/AppServer/derby/lib
-Dij.protocol=jdbc:derby: org.apache.derby.tools.ij
/opt/IBM/WebSphere/AppServer/feature_packs/BATCH/longRunning/CreateIVTTablesDerby.ddl
ヒント: ファイル・パスに空白が含まれている場合は、ファイル・パス中の空白文字をエスケープしなければなりません。
java -Djava.ext.dirs=<remote_WAS_directory>¥derby¥lib
-Dij.protocol=jdbc:derby: org.apache.derby.tools.ij
<remote_WAS_directory>¥feature_packs¥BATCH¥longRunning¥CreateIVTTablesDerby.ddl
ここで、
<remote_WAS_directory> は、リモート WebSphere Application Server のインストール・ディレクトリーです。
例えば:
java -Djava.ext.dirs="C:¥Program Files¥IBM¥WebSphere¥AppServer¥derby¥lib"
-Dij.protocol=jdbc:derby: org.apache.derby.tools.ij
"C:¥Program Files¥IBM¥WebSphere¥AppServer¥feature_packs¥BATCH¥longRunning¥CreateIVTTablesDerby.ddl"
ヒント: ファイル・パスにスペースが含まれている場合は、ファイル・パスを引用符で囲まなければなりません。
- デプロイメント記述子にデータ・ソースを構成します。
- 「エンタープライズ・エクスプローラー」ビューで、XDCGIVTEAR プロジェクトを展開し、「デプロイメント記述子: XDCGIVTEAR」を右クリックし、「開く」を選択します。
「アプリケーション・デプロイメント記述子」エディターが開きます。
- 「デプロイメント」タブを選択します。
- 「データ・ソース」セクションの下の「上で選択されたデータ・ソースで定義されているリソース・プロパティー」リストで、「databaseName」を選択し「編集」ボタンをクリックします。
「リソース・プロパティーの編集」ウィザードが開きます。
- 「値」フィールドで、IVTDB データベースへのファイル・パスを指定します。データベースがローカルまたはリモート WebSphere Application Server のどちら向けに作成されているか、およびサーバーおよびデータベースを実行するオペレーティング・システムによって、ファイル・パスは異なります。
- ローカル WebSphere Application
Server
<workspace_directory>/XDCGIVT/IVTDB
<workspace_directory>/XDCGIVT/IVTDB
- ここで <workspace_directory> は、ワークスペースのディレクトリーです。
- リモート WebSphere Application
Server




<remote_WAS_directory>/derby/databases/IVTDB
<remote_WAS_directory>/derby/databases
- ここで、<remote_WAS_directory> は、リモート WebSphere Application Server のインストール・ディレクトリーです。
- 「OK」ボタンをクリックします。
- 「アプリケーション・デプロイメント記述子」エディターの変更点を、Ctrl + s を押して保存します。
- サンプルを実行するための入力値を変更します。
ヒント: この手順は、XDCGIVT サンプルに含まれているそれぞれのバッチ・ジョブ・ファイルについて繰り返す必要があります。
- 「エンタープライズ・エクスプローラー」で、フォルダーを展開します。
次のバッチ・ジョブ・ファイルがあります。
- XDCGIVTbyte2bytexJCL.xml
- バイナリー・ファイルを別のバイナリー・ファイルにコピーして、2 つのファイルを比較します。
- XDCGIVTtxt2db2txtxJCL.xml
- テキスト・ファイルをデータベースにコピーし、データベースのエントリーを別のテキスト・ファイルにコピーし、2 つのファイルを比較します。
- XDCGIVTtxt2txtxJCL.xml
- テキスト・ファイルを別のテキスト・ファイルにコピーして、2 つのファイルを比較します。
ジョブ は、XML ジョブ制御言語 (xJCL) と呼ばれる XML (Extensible Markup Language) の方言を使用して表現されます。
すべてのジョブに、次の情報が含まれています。
- 処理を実行するバッチ・アプリケーションの ID
- 処理を完了するために実行する必要がある 1 つ以上のジョブ・ステップ
- それぞれのジョブ・ステップのロジックを提供するアプリケーション内の成果物の ID
- アプリケーション成果物に追加コンテキストを提供する各ジョブ・ステップのキーと値の組
詳しくは、WebSphere Application Server のインフォメーション・センターにある、
バッチ・アプリケーション、ジョブ、およびジョブ定義のトピックを参照してください。
- 上記のバッチ・ジョブ・ファイルの 1 つを右クリックし、「開く」を選択します。 XJCL エディターが開きます。
- XJCL エディターの「設計」タブで、「バッチ・ジョブ構造」セクションの下の、ノードを展開します。
置換プロパティー では、シンボリック変数の名前と値の組を定義します。
xJCL ファイルでは、シンボリック変数は ${variable-name} という形式の式になり、それがコメントの外側に置かれていなければ、ファイルは整形式の文書になるものです。
シンボリック変数の置換は実行時に行われます。実行時には、文字列 ${variable-name} は xJCL ファイルが発行される際のプロパティーの値に置き換えられます。
各バッチ・ジョブ・ファイルには、変更が必要な次の 2 つの置換プロパティーがあります:
inputDataStream および
outputDataStream表 1. . このテーブルは、inputDataStream および outputDataStream 置換プロパティーに指定されているデフォルト値をリストしています。| |
inputDataStream |
outputDataStream |
| XDCGIVTbyte2bytexJCL.xml |
/data/input-txlist.txt |
/data/output-txlist.txt |
| XDCGIVTtxt2db2txtxJCL.xml |
/data/input.txt |
/data/output.txt |
| XDCGIVTtxt2txtxJCL.xml |
/data/input-text.txt |
/data/output-text.txt |
上記のテーブルは、
inputDataStream および
outputDataStream 置換プロパティーに指定されているデフォルト値をリストしています。
/data/ を、このサンプルを実行した際にテキスト・ファイルを書き込むファイル・システム上の読み取りと書き込み権限がある既存ディレクトリーに置換する必要があります。例えば、
C:¥temp¥input.txt などです。
ヒント: このテキスト・ファイルのファイル名には、ジョブ名とジョブ番号が付加されます。WebSphere Application
Server for z/OS® の場合、内容を表示するために、テキスト・ファイルは拡張 2 進化 10 進コード (EBCDIC) に変換されなければなりません。
- XJCL エディターで、「プロパティー (inputDataStream)」ノードを選択します (この手順を「プロパティー (outputDataStream)」でも繰り返します)。
「詳細」セクションの下の、「値」フィールドで、/data/ をファイル・システム・ディレクトリーの既存ディレクトリーに置き換えます。例えば、C:¥temp¥input-txlist.txt などです。
- XJCL エディターの変更点を、CTRL+S を押して保存します。
- 次のようにして、サーバー上でサンプルを実行します。
- 「サーバー」ビューで、サーバーを右クリックし「開始」を選択します。 「サーバー」ビューでサーバーの状態と状況が「始動済み」および「同期済み」に変更するまで待って、サーバーが始動したことを確認します。
- 「サーバー」ビューで、サーバーを右クリックし「追加および削除」を選択します。「追加および削除」ウィザードが開きます。「使用可能」リストの下の、XDCGIVTEAR アプリケーションを選択し「追加」ボタンをクリックします。
「追加および削除」ウィザードで、「終了」ボタンをクリックします。 「サーバー」ビューでアプリケーションの状態と状況が「始動済み」および「同期済み」に変更するまで待って、アプリケーションが公開されて始動したことを確認します。
- 「エンタープライズ・エクスプローラー」ビューで、フォルダーを展開し、XDCGIVT バッチ・ジョブ・ファイルの 1 つを右クリックし、を選択します。 「実行構成」ウィザードが開きます。
- セキュリティーが使用可能な場合、「このサーバー上でセキュリティーを有効にする」チェック・ボックスを選択してサーバーが保護されるようにしてください。「ユーザー ID」フィールドおよび「パスワード」フィールドで、ジョブ・スケジューラー用のユーザー名とパスワードを指定します。
ヒント: どのユーザーまたはグループがセキュリティー・ロール (lradmin および lrsubmitter) にマップされているかは、管理コンソールを開き、を選択して確認できます。
- 「実行の構成」ウィザードで、「実行」ボタンをクリックしてバッチ・ジョブ・ファイルを発行します。「最新バッチ・ジョブ管理コンソール」が開きます。
- 「最新バッチ・ジョブ管理コンソール」にジョブとログを表示します。
- 「最新バッチ・ジョブ管理コンソール」の、「ジョブ管理」セクションの左側のペインで、「ジョブの表示」リンクをクリックします。 ジョブ・テーブルが表示され、サブミットされたジョブがリストされます。
- 「ジョブ ID」列の下で、XDCGIVT:<jobID> リンクをクリックします。 ジョブ・ログが表示されます。「ダウンロード」ボタンをクリックして、ジョブ・ログのコピーを開いたり、それを保存したりできます。
ジョブ・ログ には、次の情報が含まれています。
- ジョブを実行するために使用された xJCL のコピー (xJCL 置換値を含む)。
- ジョブに対応した主要なライフサイクル・イベントを通信する一連のシステム・メッセージ。ジョブ・ログに記録されているシステム・イベントの例は、ジョブの開始と終了およびステップです。
- ジョブ・ステップ・プログラムによる標準出力と標準エラー出力に書き込まれた一連のメッセージ。
ジョブ・ログに関する詳細は、WebSphere Application
Server のインフォメーション・センターにある
ジョブ・ログのトピックを参照してください。