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.6.1.RELEASEで利用するOSSのバージョン一覧を以下に示す。
|
Macchinetta Batch Framework (2.x)で使用するOSSのバージョンは、原則として、Spring Boot Dependenciesの定義に準じている。 なお、バージョン2.6.1.RELEASEにおけるSpring Boot Dependenciesのバージョンは、 3.5.9である。 |
| 用途 | 用途説明 | GroupId | ArtifactId | Version |
|---|---|---|---|---|
TERASOLUNA Batch |
バッチフレームワークを拡張する。 |
org.terasoluna.batch |
5.7.1.RELEASE |
|
バッチフレームワーク |
バッチフレームワークとして、Spring Batchを利用する。 |
org.springframework.batch |
5.2.4 |
|
org.springframework.batch |
spring-batch-infrastructure |
5.2.4 |
||
基盤フレームワーク |
フレームワークの基盤として、利用する。 |
org.springframework |
spring-aop |
6.2.15 |
org.springframework |
spring-beans |
6.2.15 |
||
org.springframework |
spring-context |
6.2.15 |
||
org.springframework |
spring-expression |
6.2.15 |
||
org.springframework |
6.2.15 |
|||
org.springframework |
spring-tx |
6.2.15 |
||
org.springframework |
spring-jdbc |
6.2.15 |
||
org.springframework |
spring-oxm |
6.2.15 |
||
org.springframework.retry |
2.0.12 |
|||
Webコンテナ起動の際に、Spring Batchと連携する。 |
org.springframework |
6.2.15 |
||
O/R Mapper |
org.mybatis |
3.5.19 |
||
org.mybatis |
3.0.5 |
|||
DI |
jakarta.inject |
2.0.1 |
||
ログ出力 |
実装にLogbackを利用し、SLF4Jはロギングの抽象化レイヤーを提供する。 |
ch.qos.logback |
1.5.22 |
|
org.slf4j |
2.0.17 |
|||
入力チェック |
単項目チェックにJakarta Validationを利用し、実装にはHibernate Validatorを使用する。 |
jakarta.validation |
3.0.2 |
|
org.hibernate.validator |
8.0.3.Final |
|||
コネクションプール |
org.apache.commons |
2.13.0 |
||
EL式 |
org.apache.tomcat.embed |
10.1.50 |
||
インメモリデータベース |
H2をデフォルトで使用しているが切り替え可能。 |
com.h2database |
2.3.232 |
|
JDBCドライバ |
org.postgresql |
42.7.8 |
||
JSON |
JSONデータのシリアライズおよびデシリアライズに使用する。 |
com.fasterxml.jackson.core |
2.19.4 |
|
XML |
XMLデータのシリアライズおよびデシリアライズに使用する。 |
jakarta.xml.bind |
4.0.4 |
|
com.sun.xml.bind |
jaxb-impl |
4.0.6 |
TERASOLUNA Framework for Java (5.x) Dependencies
TERASOLUNA Framework for Java (5.x) Dependencies (terasoluna-dependencies)はMacchinetta Batch Framework (2.x)で使用するOSSライブラリのバージョンを一元管理するためのBOM(Project Object Model)プロジェクトである。 terasoluna-dependenciesでは以下を定義している。
-
Macchinetta Batch Framework (2.x)が参照する spring-boot-dependenciesのバージョン
-
spring-boot-dependenciesが管理しているライブラリ以外でMacchinetta Batch Framework (2.x)が参照するライブラリのバージョン
terasoluna-dependenciesで管理されているライブラリのバージョンをそのまま利用する場合は、アプリケーション側のpom.xmlにおいて、ライブラリのバージョンを定義する必要はない。
terasoluna-dependenciesで定義しているライブラリとそのバージョンについては、 Managed Dependency Coordinatesで公開している。
Macchinetta Batch Framework (2.x)の構成要素
Macchinetta Batch Framework (2.x)のSoftware Framework構成要素について説明する。 以下にSoftware Framework構成要素の概略図を示す。各要素の概要は後述する。
以下に、各要素の概要を示す。
- 非同期実行
-
非同期実行を実現する方法として、以下の機能を利用する。
- DBポーリングによる周期起動
-
TERASOLUNA Batch Framework for Java (5.x)が提供するライブラリを利用する。
- ファイルアクセス
-
Spring Batchから提供されている機能 に加えて、補助機能をTERASOLUNA Batch Framework for Java (5.x)が提供する。
- バリデーション
-
- 相関チェック
-
相関チェックにはBean Validation、もしくはSpring Validationを利用する。