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

Overview

Explains the TERASOLUNA Batch Framework for Java (5.x)configuration and shows the scope of responsibility of TERASOLUNA Batch Framework for Java (5.x).

TERASOLUNA Batch Framework for Java (5.x) stack

Software Framework used in the TERASOLUNA Batch Framework for Java (5.x) is a combination of OSS focusing on Spring Framework (Spring Batch) A stack schematic diagram of the TERASOLUNA Batch Framework for Java (5.x) is shown below.

TERASOLUNA Batch Framework for Java (5.x) Stack
TERASOLUNA Batch Framework for Java (5.x) stack - schematic diagram

Descriptions for products like job scheduler and database are excluded from this guideline.

OSS version to be used

List of OSS versions to be used in 5.1.1.RELEASE of TERASOLUNA Batch Framework for Java (5.x) is given below.

As a rule, OSS version to be used in the TERASOLUNA Batch Framework for Java (5.x) conforms to the definition of the Spring IO platform. Note that, the version of Spring IO platform in 5.1.1.RELEASE is Brussels-SR5.
For details of Spring IO platform, refer OSS version to be used by the TERASOLUNA Server Framework for Java (5.x).

OSS version list
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

*

Log output

ch.qos.logback

logback-classic

1.1.11

*

Log output

ch.qos.logback

logback-core

1.1.11

*

*1

Log output

org.slf4j

jcl-over-slf4j

1.7.25

*

Log output

org.slf4j

slf4j-api

1.7.25

*

Input check

javax.validation

validation-api

1.1.0.Final

*

Input check

org.hibernate

hibernate-validator

5.3.5.Final

*

Input check

org.jboss.logging

jboss-logging

3.3.1.Final

*

*1

Input check

com.fasterxml

classmate

1.3.4

*

*1

Connection pool

org.apache.commons

commons-dbcp2

2.1.1

*

Connection pool

org.apache.commons

commons-pool2

2.4.2

*

Expression Language

org.glassfish

javax.el

3.0.0

*

In-memory database

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. Libraries on which the libraries supported by the Spring IO platform depend independently

  2. Set a version different from Spring IO platform version to handle vulnerability

Regarding standard error output of xstream

When xstream version is 1.4.10, Bean definition is read by Spring Batch and the following message is output in standard error output while executing job.

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

Currently, XStream security settings cannot be done in Spring Batch so message output cannot be controlled.

When using XStream other than importing the developed job Bean definition (such as data linkage), do not load with XStream except for trusted source XML.

Structural elements of TERASOLUNA Batch Framework for Java (5.x)

Software Framework structural elements of the TERASOLUNA Batch Framework for Java (5.x) are explained.

TERASOLUNA Batch Framework for Java (5.x) Components of Software Framework
Schematic diagram of Software Framework structural elements

Overview of each element is shown below.

Foundation framework

Spring Framework is used as a framework foundation. Various functions are applied starting with DI container.

Batch framework

Spring Batch is used as a batch framework.

Asynchronous execution

Following functions are used as a method to execute asynchronous execution.

Periodic activation by using DB polling

A library offered by TERASOLUNA Batch Framework for Java (5.x) is used.

Web container activation

Link with Spring Batch using Spring MVC.

O/R Mapper

Use MyBatis, and use MyBatis-Spring as a library to coordinate with Spring Framework.

File access

In addition to Function offered from Spring Batch, TERASOLUNA Batch Framework for Java (5.x) is used as an auxiiliary function.

Logging

Logger uses SLF4J in API and Logback in the implementation.

Validation
Unit item check

Bean Validation is used in unit item check and Hibernate Validator is used for implementation.

Correlation check

Bean Validation or Spring Validation is used for correlation check.

Connection pool

DBCP is used in the connection pool.

A function wherein TERASOLUNA Batch Framework for Java (5.x) provides implementation

A function, wherein TERASOLUNA Batch Framework for Java (5.x) provides implementation is given below.

A function list wherein TERASOLUNA Batch Framework for Java (5.x) offers implementation

Function name

Overview

"Asynchronous execution (DB polling)"

Asynchronous execution using DB polling is implemented.

"File access"

Read fixed-length file without line breaks by number of bytes.

Break down a fixed length record in individual field by number of bytes.

Control output of enclosed characters by variable length records.

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