Macchinetta Batch Framework (2.x) Development Guideline
Macchinetta Batch Framework (2.x) Development Guideline - version 2.6.1.RELEASE, 2026-3-30
> INDEX

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

## 概要

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)のスタック概略図を示す。

図 1. 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である。

表 1. OSSバージョン一覧
用途 | 用途説明 | GroupId | ArtifactId | Version
--- | --- | --- | --- | ---
TERASOLUNA Batch フレームワーク | バッチフレームワークを拡張する。 | org.terasoluna.batch | terasoluna-batch | 5.7.1.RELEASE
バッチフレームワーク | バッチフレームワークとして、Spring Batchを利用する。 | org.springframework.batch | spring-batch-core | 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 | spring-core | 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 | spring-retry | 2.0.12
Webコンテナ起動の際に、Spring Batchと連携する。 | org.springframework | spring-webmvc | 6.2.15
O/R Mapper |  | org.mybatis | mybatis | 3.5.19
| org.mybatis | mybatis-spring | 3.0.5
DI |  | jakarta.inject | jakarta.inject-api | 2.0.1
ログ出力 | 実装にLogbackを利用し、SLF4Jはロギングの抽象化レイヤーを提供する。 | ch.qos.logback | logback-classic | 1.5.22
org.slf4j | slf4j-api | 2.0.17
入力チェック | 単項目チェックにJakarta Validationを利用し、実装にはHibernate Validatorを使用する。 | jakarta.validation | jakarta.validation-api | 3.0.2
org.hibernate.validator | hibernate-validator | 8.0.3.Final
コネクションプール |  | org.apache.commons | commons-dbcp2 | 2.13.0
EL式 |  | org.apache.tomcat.embed | tomcat-embed-el | 10.1.50
インメモリデータベース | H2をデフォルトで使用しているが切り替え可能。 | com.h2database | h2 | 2.3.232
JDBCドライバ |  | org.postgresql | postgresql | 42.7.8
JSON | JSONデータのシリアライズおよびデシリアライズに使用する。 | com.fasterxml.jackson.core | jackson-databind | 2.19.4
XML | XMLデータのシリアライズおよびデシリアライズに使用する。 | jakarta.xml.bind | jakarta.xml.bind-api | 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構成要素の概略図を示す。各要素の概要は後述する。

図 2. Software Framework構成要素の概略図

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

非同期実行

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

  DBポーリングによる周期起動

    TERASOLUNA Batch Framework for Java (5.x)が提供するライブラリを利用する。

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

ファイルアクセス

  Spring Batchから提供されている機能 に加えて、補助機能をTERASOLUNA Batch Framework for Java (5.x)が提供する。

  - "ファイルアクセス"

バリデーション
  相関チェック

    相関チェックにはBean Validation、もしくはSpring Validationを利用する。

    - Spring Validation 6.2.15

Macchinetta Batch Framework (2.x) Development Guideline - version 2.6.1.RELEASE, 2026-3-30
> INDEX