Macchinetta Batch Framework (2.x) Development Guideline - version 2.2.0.RELEASE, 2020-6-29
> INDEX

概要

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

Macchinetta Batch Framework (2.x)のスタック

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

Macchinetta Batch Framework (2.x) Stack
図 1. Macchinetta Batch Framework (2.x)のスタック概略図

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

利用するOSSのバージョン

Macchinetta Batch Framework (2.x)のバージョン2.2.0.RELEASEで利用するOSSのバージョン一覧を以下に示す。

Macchinetta Batch Framework (2.x)で使用するOSSのバージョンは、原則として、Spring Boot Dependenciesの定義に準じている。 なお、バージョン2.2.0.RELEASEにおけるSpring Boot Dependenciesのバージョンは、 2.2.4.RELEASEである。

表 1. OSSバージョン一覧
Type GroupId ArtifactId Version Spring Boot Dependencies Remarks

Spring

org.springframework

spring-aop

5.2.3.RELEASE

*

Spring

org.springframework

spring-beans

5.2.3.RELEASE

*

Spring

org.springframework

spring-context

5.2.3.RELEASE

*

Spring

org.springframework

spring-expression

5.2.3.RELEASE

*

Spring

org.springframework

spring-core

5.2.3.RELEASE

*

Spring

org.springframework

spring-tx

5.2.3.RELEASE

*

Spring

org.springframework

spring-jdbc

5.2.3.RELEASE

*

Spring

org.springframework

spring-oxm

5.2.3.RELEASE

*

Spring Batch

org.springframework.batch

spring-batch-core

4.2.1.RELEASE

*

Spring Batch

org.springframework.batch

spring-batch-infrastructure

4.2.1.RELEASE

*

Spring Retry

org.springframework.retry

spring-retry

1.2.5.RELEASE

*

Java Batch

javax.batch

javax.batch-api

1.0

*1

MyBatis3

org.mybatis

mybatis

3.5.3

MyBatis3

org.mybatis

mybatis-spring

2.0.3

DI

javax.inject

javax.inject

1

ログ出力

ch.qos.logback

logback-classic

1.2.3

*

ログ出力

org.slf4j

jcl-over-slf4j

1.7.30

*

ログ出力

org.slf4j

slf4j-api

1.7.30

*

入力チェック

javax.validation

validation-api

2.0.1.Final

*

入力チェック

org.hibernate.validator

hibernate-validator

6.0.18.Final

*

コネクションプール

org.apache.commons

commons-dbcp2

2.7.0

*

EL式

org.glassfish

javax.el

3.0.0

インメモリデータベース

com.h2database

h2

1.4.200

*

JDBCドライバ

org.postgresql

postgresql

42.2.9

*

JSON

com.fasterxml.jackson.core

jackson-databind

2.10.2

*1

JSON

org.codehaus.jettison

jettison

1.2

*1

XML

javax.xml.bind

jaxb-api

2.3.1

*

XML

com.sun.xml.bind

jaxb-core

2.3.0.1

XML

com.sun.xml.bind

jaxb-impl

2.3.2

TERASOLUNA Batch

org.terasoluna.batch

terasoluna-batch

5.3.0.RELEASE

Remarksについて
  1. Spring Boot Dependenciesが定義するライブラリで個別に依存しているライブラリ

Macchinetta Batch Framework (2.x)の構成要素

Macchinetta Batch Framework (2.x)のSoftware Framework構成要素について説明する。 以下にSoftware Framework構成要素の概略図を示す。各要素の概要は後述する。

Macchinetta Batch Framework (2.x) Components of Software Framework
図 2. Software Framework構成要素の概略図

以下に、各要素の概要を示す。

基盤フレームワーク

フレームワークの基盤として、Spring Frameworkを利用する。DIコンテナをはじめ各種機能を活用する。

バッチフレームワーク

バッチフレームワークとして、Spring Batchを利用する。同期実行にはSpring Batchが提供するCommandLineJobRunnerを利用する。

非同期実行

非同期実行を実現する方法として、以下の機能を利用する。

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を利用する。

Macchinetta Batch Framework (2.x) Development Guideline - version 2.2.0.RELEASE, 2020-6-29