● TERASOLUNAとは
NTTが作ったjava開発用フレームワーク
公式:http://www.terasoluna.jp/
この中でも、バッチ処理に使うフレームワークを使う。
● バッチ処理とは
よく聞くけど、定義を良く知らない。
参考:http://www.atmarkit.co.jp/fjava/rensai4/javabatch01/javabatch01_1.html
TERASOLUNAのバッチ用フレームワークを例に紹介している
定義(抜粋:http://www.atmarkit.co.jp/aig/04biz/batch.html):
コンピュータのデータ処理方法で、データを一定期間あるいは一定量をまとめてから、
一括して処理を行う方式のこと。
また、複数の手順からなる定型処理などで、それをあらかじめ一まとまりの手順として登録しておき、
それを連続処理すること。
→定型処理をまとめて行うアプリケーションみたいな?
メリット
・処理性能の向上 ・・・大量データを扱う時にはバッチ処理を使う
・応答性能の確保 ・・・オンライン処理の応答性を確保できる
・業務とシステムの考え方の一致 ・・・業務の「締め」的な考えとけっこう一致している
● javaとバッチ処理
javaのバッチ処理フレームワークとしては、SpringBatchというのがある。
http://static.springsource.org/spring-batch/
英語サイトばっかりであまり利用されていないとか・・・
そんなこんなで、TERASOLUNAのバッチ処理版が登場。
TERASOLUNA Batch Framework for Java
参考:http://sourceforge.jp/projects/terasoluna/wiki/Batch_Framework_for_Java
● TERASOLUNA Batch Framework for Java 機能
・ファイルを読み書きするファイルアクセス機能
・DBアクセスを行う機能
・一括でトランザクションを行う機能
・業務的・システム的な異常に対応する機能
・同期処理機能、非同期処理機能
・ジョブの多重実行機能
※ジョブスケジュール機能(ジョブの依存関係を定義し起動する機能)がTERAバッチにはない
アーキテクチャの特徴:
・入力と業務処理(+出力)の分割。
→ファイルやDBからデータを受け取る処理と、受け取ったデータを加工してファイルやDBに書き出す処理を、
別のモジュールおよびスレッドで実行する。
● サンプルプロジェクトを作ってみよう
CSVファイルの読込
参照:http://www.atmarkit.co.jp/fjava/rensai4/javabatch02/javabatch02_1.html
※サンプルプロジェクトバージョンがアップしていたので、若干バージョンが違う
そのためか、実行推奨環境がEclipse3.2以上、JDK1.5だったが、JDK1.6でも動いた
DBデータ取得と、DB更新
参考http://www.atmarkit.co.jp/fjava/rensai4/javabatch03/javabatch03_1.html
NTTが作ったjava開発用フレームワーク
公式:http://www.terasoluna.jp/
この中でも、バッチ処理に使うフレームワークを使う。
● バッチ処理とは
よく聞くけど、定義を良く知らない。
参考:http://www.atmarkit.co.jp/fjava/rensai4/javabatch01/javabatch01_1.html
TERASOLUNAのバッチ用フレームワークを例に紹介している
定義(抜粋:http://www.atmarkit.co.jp/aig/04biz/batch.html):
コンピュータのデータ処理方法で、データを一定期間あるいは一定量をまとめてから、
一括して処理を行う方式のこと。
また、複数の手順からなる定型処理などで、それをあらかじめ一まとまりの手順として登録しておき、
それを連続処理すること。
→定型処理をまとめて行うアプリケーションみたいな?
メリット
・処理性能の向上 ・・・大量データを扱う時にはバッチ処理を使う
・応答性能の確保 ・・・オンライン処理の応答性を確保できる
・業務とシステムの考え方の一致 ・・・業務の「締め」的な考えとけっこう一致している
● javaとバッチ処理
javaのバッチ処理フレームワークとしては、SpringBatchというのがある。
http://static.springsource.org/spring-batch/
英語サイトばっかりであまり利用されていないとか・・・
そんなこんなで、TERASOLUNAのバッチ処理版が登場。
TERASOLUNA Batch Framework for Java
参考:http://sourceforge.jp/projects/terasoluna/wiki/Batch_Framework_for_Java
● TERASOLUNA Batch Framework for Java 機能
・ファイルを読み書きするファイルアクセス機能
・DBアクセスを行う機能
・一括でトランザクションを行う機能
・業務的・システム的な異常に対応する機能
・同期処理機能、非同期処理機能
・ジョブの多重実行機能
※ジョブスケジュール機能(ジョブの依存関係を定義し起動する機能)がTERAバッチにはない
アーキテクチャの特徴:
・入力と業務処理(+出力)の分割。
→ファイルやDBからデータを受け取る処理と、受け取ったデータを加工してファイルやDBに書き出す処理を、
別のモジュールおよびスレッドで実行する。
● サンプルプロジェクトを作ってみよう
CSVファイルの読込
参照:http://www.atmarkit.co.jp/fjava/rensai4/javabatch02/javabatch02_1.html
※サンプルプロジェクトバージョンがアップしていたので、若干バージョンが違う
そのためか、実行推奨環境がEclipse3.2以上、JDK1.5だったが、JDK1.6でも動いた
DBデータ取得と、DB更新
参考http://www.atmarkit.co.jp/fjava/rensai4/javabatch03/javabatch03_1.html