今回はデータベースを利用した実践的アプリケーション
連載第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.残高テーブルに対して更新した件数、新規に追加した件数をそれぞれコンソールに出力する
処理フローを図示すると、以下のとおりとなります。
また、処理前後でのテーブルの変化のイメージ、コンソール出力のイメージは以下のとおりです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
EclipseにJavaバッチのプロジェクトを準備
では早速ですが、DBを利用したバッチアプリケーション作成の準備をしていきましょう。なお、開発環境の構築の際に必要となるEclipseやJDKのセットアップについては、前回の「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"
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.