検索
連載

Eclipseで作る! DBを使った実践的なJavaバッチJavaバッチ処理は本当に業務で“使える”の?(3)(1/3 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

今回はデータベースを利用した実践的アプリケーション

 連載第2回の「OSSのJavaバッチフレームワークでHello World!」では、オープンソースJavaバッチフレームワークの1つである「TERASOLUNA Batch Framework for Java」(以下、TERAバッチ)のアーキテクチャと機能を簡単に紹介し、HelloWorld!アプリケーションの実装を通してTERAバッチの特徴とアプリケーション作成時に必要な作業を確認しました。

編集部注:Batch Framework for Java」を含むTERASOLUNAフレームワーク全体について詳しく知りたい読者は、特集「Java、.NET、Ajax開発の“銀の弾丸”オープンソース?」をご覧ください。

 今回はデータベース(以下、DB)を利用したバッチアプリケーションの実装を通して、前回は触れなかったTERAバッチの特徴や機能について紹介します。HelloWorld!から一歩進んでTERAバッチの実践的な利用方法を学んでいきましょう。

 なお、2008年5月9日にTERAバッチのVer2.0.0.2がリリースされました。今回はVer2.0.0.2を基にアプリケーションの実装を行っていきます。

今回作成するJavaバッチ・アプリケーションの仕様

 今回作成する、DBを利用したアプリケーションの仕様は以下のとおりとします。

 1.入金テーブルから処理対象となるデータを読み込み、ビジネスロジックに渡す

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 2.渡された入力データの顧客IDにひも付く残高を、残高テーブルを基に算出し更新する。その際に、残高テーブルに入力データの顧客IDがない場合は新規に追加する

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 3.残高テーブルに対して更新した件数、新規に追加した件数をそれぞれコンソールに出力する

 処理フローを図示すると、以下のとおりとなります。

図1 今回のアプリケーションの仕様概要
図1 今回のアプリケーションの仕様概要

 また、処理前後でのテーブルの変化のイメージ、コンソール出力のイメージは以下のとおりです。

図2 処理前後でのテーブルの変化のイメージ
図2 処理前後でのテーブルの変化のイメージ

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

EclipseにJavaバッチのプロジェクトを準備

 では早速ですが、DBを利用したバッチアプリケーション作成の準備をしていきましょう。なお、開発環境の構築の際に必要となるEclipseJDKのセットアップについては、前回の「OSSのJavaバッチフレームワークでHello World!」を参考にしてください。この説明では、Windows上での開発を想定しています。

プロジェクトのインポート

 SourceForgeのサイトから、今回のアプリケーション開発の基となるブランクプロジェクトをダウンロードします。こちらからZIPファイルをダウンロードし、Eclipseの「Workspace」フォルダ配下に展開してください。このブランクプロジェクトは、通常のブランクプロジェクトに今回利用するデータベースを追加したものです。

 ブランクプロジェクトを、Eclipseにインポートします。Eclipseメニューの[ファイル]→[インポート]から、[インポート]ウィザードを開き、[一般]→[既存プロジェクトをワークスペースへ]から、[ルートディレクトリの選択]を選んで、[参照]ダイアログから、先ほど展開したブランクプロジェクトがあるWorkspaceフォルダを選択してください。プロジェクト欄に「terasoluna-batch-blank-foratmarkit03」があることを確認し、[終了]を押下します。

接続するDBの起動・確認

 次に、接続するDB(純正JavaのDBであるHSQLDBを使う)の起動・確認をします。プロジェクトに入っている「hsqldb.zip」をデスクトップなど任意のフォルダにコピー・展開し、「(任意のフォルダ)\hsqldb\terasoluna\startDBManager.bat」を実行してDBを起動します。

 続いて、正しく起動しているか確認します。「(任意のディレクトリ)\hsqldb\terasoluna\startDBManager.bat」を実行します。DBManagerが起動し、connect画面が表示されるので、以下のように入力します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 DBの接続後、画面左のテーブル一覧に以下があること、入金テーブル・残高テーブルの内容を確認します。

  • テーブル"NYUKINTABLE"カラム"ID"、"KOKYAKUID"、"NYUKIN"
  • テーブル"ZANDAKATABLE”、カラム"KOKYAKUID"、"ZANDAKA"
図3 処理前の残高テーブルの確認例
図3 処理前の残高テーブルの確認例

 DBは起動したままにしておいてください。ここまでで、TERAバッチを利用したアプリケーションを開発するための準備完了です。

TERAバッチ・アプリケーションの作成開始!

 では、アプリケーションを作成していきましょう。TERAバッチで必要な実装については前回ご紹介しましたが、以下に再掲します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 また、プロジェクトのディレクトリ構成は前回を参考にしてください。

ジョブBean定義ファイルの作成

 「ジョブBean定義ファイル」を格納するフォルダを作成します。Eclipseの[パッケージエクスプローラ]ビューで、「terasoluna-batch-blank-foratmarkit03\batchapps」フォルダを右クリックし、[新規]→[フォルダ]から「sample\UC0002」フォルダを作成してください。

 ジョブBean定義ファイルを作成します。「batchapps\sample\UC0002」フォルダ配下に、「JB0001.xml」を作成し、以下のとおり入力します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ここまでは、前回と同様です。

iBATIS定義ファイルの作成

 「iBATIS定義ファイル」を作成します。iBATIS定義ファイルはデータベースを利用する際に必須となるファイルで「sqlMapファイル」「sqlMapConfigコンフィグファイル」の2つからなります。sqlMapファイルにはSQL文の定義を、sqlMapConfigファイルにはどのsqlMapファイルを利用するかについて、それぞれ記述します。

 今回は「batchapps\sample\UC0002」フォルダ配下に、「UC0002_sqlMap.xml」「UC0002_sqlMapConfig.xml」をそれぞれ作成し、以下のとおり記述します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 次ページ以降では引き続き、実践的Javaバッチ・アプリケーションを作りこんでいきます。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る