Macchinetta Batch Framework (2.x)のスタック
Macchinetta Batch Framework (2.x)で使用するSoftware Frameworkは、 Spring Framework (Spring Batch) を中心としたOSSの組み合わせである。以下にMacchinetta Batch Framework (2.x)のスタック概略図を示す。

ジョブスケジューラやデータベースなどの製品についての説明は、本ガイドラインの説明対象外とする。
利用するOSSのバージョン
Macchinetta Batch Framework (2.x)のバージョン2.0.1.RELEASEで利用するOSSのバージョン一覧を以下に示す。
Macchinetta Batch Framework (2.x)で使用するOSSのバージョンは、原則として、Spring IO platformの定義に準じている。
なお、バージョン2.0.1.RELEASEにおけるSpring IO platformのバージョンは、
Brussels-SR5である。 |
Type | GroupId | ArtifactId | Version | Spring IO platform | Remarks |
---|---|---|---|---|---|
Spring |
org.springframework |
spring-aop |
4.3.14.RELEASE |
*2 |
|
Spring |
org.springframework |
spring-beans |
4.3.14.RELEASE |
*2 |
|
Spring |
org.springframework |
spring-context |
4.3.14.RELEASE |
*2 |
|
Spring |
org.springframework |
spring-expression |
4.3.14.RELEASE |
*2 |
|
Spring |
org.springframework |
spring-core |
4.3.14.RELEASE |
*2 |
|
Spring |
org.springframework |
spring-tx |
4.3.14.RELEASE |
*2 |
|
Spring |
org.springframework |
spring-jdbc |
4.3.14.RELEASE |
*2 |
|
Spring Batch |
org.springframework.batch |
spring-batch-core |
3.0.8.RELEASE |
* |
|
Spring Batch |
org.springframework.batch |
spring-batch-infrastructure |
3.0.8.RELEASE |
* |
|
Spring Retry |
org.springframework.retry |
spring-retry |
1.2.1.RELEASE |
* |
|
Java Batch |
javax.batch |
javax.batch-api |
1.0.1 |
* |
|
Java Batch |
com.ibm.jbatch |
com.ibm.jbatch-tck-spi |
1.0 |
* |
|
MyBatis3 |
org.mybatis |
mybatis |
3.4.5 |
||
MyBatis3 |
org.mybatis |
mybatis-spring |
1.3.1 |
||
MyBatis3 |
org.mybatis |
mybatis-typehandlers-jsr310 |
1.0.2 |
||
DI |
javax.inject |
javax.inject |
1 |
* |
|
ログ出力 |
ch.qos.logback |
logback-classic |
1.1.11 |
* |
|
ログ出力 |
ch.qos.logback |
logback-core |
1.1.11 |
* |
*1 |
ログ出力 |
org.slf4j |
jcl-over-slf4j |
1.7.25 |
* |
|
ログ出力 |
org.slf4j |
slf4j-api |
1.7.25 |
* |
|
入力チェック |
javax.validation |
validation-api |
1.1.0.Final |
* |
|
入力チェック |
org.hibernate |
hibernate-validator |
5.3.5.Final |
* |
|
入力チェック |
org.jboss.logging |
jboss-logging |
3.3.1.Final |
* |
*1 |
入力チェック |
com.fasterxml |
classmate |
1.3.4 |
* |
*1 |
コネクションプール |
org.apache.commons |
commons-dbcp2 |
2.1.1 |
* |
|
コネクションプール |
org.apache.commons |
commons-pool2 |
2.4.2 |
* |
|
EL式 |
org.glassfish |
javax.el |
3.0.0 |
* |
|
インメモリデータベース |
com.h2database |
h2 |
1.4.193 |
* |
|
XML |
com.thoughtworks.xstream |
xstream |
1.4.10 |
* |
*1 |
JSON |
org.codehaus.jettison |
jettison |
1.2 |
* |
*1 |
TERASOLUNA Batch |
org.terasoluna.batch |
terasoluna-batch |
5.1.1.RELEASE |
-
Spring IO platformでサポートしているライブラリが個別に依存しているライブラリ
-
脆弱性対応のため、Spring IO platformのバージョンとは異なるバージョンを設定
xstreamの標準エラー出力について
xstreamのバージョンが1.4.10になり、Spring BatchがBean定義を読み込み、ジョブ実行する際に標準エラー出力で以下のメッセージが出力される。
現時点では、Spring BatchでXStreamのセキュリティ設定ができないため、メッセージの出力は抑制できない。 開発したジョブBean定義を読み込む以外でXStreamを使用する場合(データ連携など)は、信頼できる生成元のXML以外はXStreamで読み込みを行わないようにすること。 |
Macchinetta Batch Framework (2.x)の構成要素
Macchinetta Batch Framework (2.x)のSoftware Framework構成要素について説明する。

以下に、各要素の概要を示す。
- 基盤フレームワーク
-
フレームワークの基盤として、Spring Frameworkを利用する。DIコンテナをはじめ各種機能を活用する。
- バッチフレームワーク
-
バッチフレームワークとして、Spring Batchを利用する。
- 非同期実行
-
非同期実行を実現する方法として、以下の機能を利用する。
- DBポーリングによる周期起動
-
TERASOLUNA Batch Framework for Java (5.x)が提供するライブラリを利用する。
- Webコンテナ起動
-
Spring MVCを使用して、Spring Batchと連携をする。
- O/R Mapper
-
MyBatisを利用し、Spring Frameworkとの連携ライブラリとして、MyBatis-Springを使用する。
- ファイルアクセス
-
Spring Batchから提供されている機能 に加えて、補助機能をTERASOLUNA Batch Framework for Java (5.x)が提供する。
- ロギング
-
ロガーはAPIにSLF4J、実装にLogbackを利用する。
- バリデーション
-
- 単項目チェック
-
単項目チェックにはBean Validationを利用し、実装はHibernate Validatorを使用する。
- 相関チェック
-
相関チェックにはBean Validation、もしくはSpring Validationを利用する。
- コネクションプール
-
コネクションプールには、DBCPを利用する。