TERASOLUNA Batch Framework for Java (5.x) Development Guideline - version 5.1.1.RELEASE, 2018-3-16
> INDEX

概要

TERASOLUNA Batch Framework for Java (5.x)の構成について説明し、TERASOLUNA Batch Framework for Java (5.x)の担当範囲を示す。

TERASOLUNA Batch Framework for Java (5.x)のスタック

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

TERASOLUNA Batch Framework for Java (5.x) Stack
TERASOLUNA Batch Framework for Java (5.x)のスタック概略図

ジョブスケジューラやデータベースなどの製品についての説明は、本ガイドラインの説明対象外とする。

利用するOSSのバージョン

TERASOLUNA Batch Framework for Java (5.x)のバージョン5.1.1.RELEASEで利用するOSSのバージョン一覧を以下に示す。

TERASOLUNA Batch Framework for Java (5.x)で使用するOSSのバージョンは、原則として、Spring IO platformの定義に準じている。 なお、バージョン5.1.1.RELEASEにおけるSpring IO platformのバージョンは、 Brussels-SR5である。
Spring IO platformの詳細については、TERASOLUNA Server Framework for Java (5.x)の 利用するOSSのバージョンを参照。

OSSバージョン一覧
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

Remarksについて
  1. Spring IO platformでサポートしているライブラリが個別に依存しているライブラリ

  2. 脆弱性対応のため、Spring IO platformのバージョンとは異なるバージョンを設定

xstreamの標準エラー出力について

xstreamのバージョンが1.4.10になり、Spring BatchがBean定義を読み込み、ジョブ実行する際に標準エラー出力で以下のメッセージが出力される。

Security framework of XStream not initialized, XStream is probably vulnerable.

現時点では、Spring BatchでXStreamのセキュリティ設定ができないため、メッセージの出力は抑制できない。

開発したジョブBean定義を読み込む以外でXStreamを使用する場合(データ連携など)は、信頼できる生成元のXML以外はXStreamで読み込みを行わないようにすること。

TERASOLUNA Batch Framework for Java (5.x)の構成要素

TERASOLUNA Batch Framework for Java (5.x)のSoftware Framework構成要素について説明する。

TERASOLUNA Batch Framework for Java (5.x) Components of Software Framework
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を利用する。

TERASOLUNA Batch Framework for Java (5.x)が実装を提供する機能

TERASOLUNA Batch Framework for Java (5.x)が実装を提供する機能を以下に示す。

TERASOLUNA Batch Framework for Java (5.x)が実装を提供する機能一覧

機能名

概要

"非同期実行(DBポーリング)"

DBポーリングによる非同期実行を実現する。

"ファイルアクセス"

改行なしの固定長ファイルをバイト数で読み込む。

固定長レコードをバイト数で各項目に分解する。

可変長レコードで囲み文字の出力を制御する。

TERASOLUNA Batch Framework for Java (5.x) Development Guideline - version 5.1.1.RELEASE, 2018-3-16