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

Objective of guideline

This guideline provides best practices to develop Batch applications with high maintainability, using full stack framework focusing on Spring Framework, Spring Batch and MyBatis.

This guideline helps smooth progress of software development (mainly coding).

Target readers

This guideline is written for architects and programmers having software development experience and knowledge of the following.

  • Basic knowledge of DI and AOP of Spring Framework

  • Application development experience using Java

  • Knowledge of SQL

  • Have experience of using Maven

This guideline is not for Java beginners.

Refer to Spring Framework Comprehension Check to assess whether you have the basic knowledge to understand the document. If you are unable to answer 40% of the Comprehension test questions, it is recommended to study separately using following books.

Structure of guideline

For the start, importantly, the guideline is regarded as a subset of TERASOLUNA Server Framework for Java (5.x) Development Guideline (hereafter, referred to as TERASOLUNA Server 5.x Development Guideline). By using TERASOLUNA Server 5.x Development Guideline, you can eliminate duplication in explanation and reduce the cost of learning as much as possible. Since TERASOLUNA Server 5.x Development Guideline is referenced everywhere, we would like you to proceed with the development by using both guides.

TERASOLUNA Batch Framework for Java (5.x) concept

Explains the basic concept of batch processing, the basic concept of TERASOLUNA Batch Framework for Java (5.x) and the overview of Spring Batch.

Flow of application development

Explains the knowledge and method to be kept in mind while developing an application using the TERASOLUNA Batch Framework for Java (5.x).

Running a Job

Explains Synchronous execution, Asynchronous execution and how to start a job for example by using startup parameters.

Input/output of data

Explains Input/Output to various resources such as Database, File access, etc.

Handling abnormal cases

Explains how to handle the abnormal conditions like Input checks, Exceptions.

Job management

Explains how to manage the Job execution.

Flow control and parallel/multiple processing

Explains the process of parallel/multiple Job execution.

Tutorial

Experience batch application development with TERASOLUNA Batch Framework for Java (5.x), through basic batch application development.

How to read guideline

All the developers using the TERASOLUNA Batch Framework for Java (5.x) are stronly recommended to read following contents.

Following contents are usually required, so it is better to read those in advance. It is better to select according to the development target.

First refer to the following contents when proceeding with advanced implementation.

Developers who want to experience actual application development by using TERASOLUNA Batch Framework for Java (5.x) are recommended to read following contents. While experiencing TERASOLUNA Batch Framework for Java (5.x) for the first time, you should read these contents first and then move on to other contents.

Notations in guideline

This section describes the notations of this guideline.

About Windows command prompt and Unix terminal

If Windows and Unix systems don’t work due to differences in notation, both are described. Otherwise, unified with Unix notation..

Prompt sign

Describe as $ in Unix.

Prompt notation example
$ java -version
About defining properties and constructor of Bean definition

In this guideline, it is described by using namespace of p and c. The use of namespace helps in simplifying and clarifying the description of Bean definition.

Description wherein namespace is used
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
    <property name="lineTokenizer">
        <bean class="org.terasoluna.batch.item.file.transform.FixedByteLengthLineTokenizer"
              c:ranges="1-6, 7-10, 11-12, 13-22, 23-32"
              c:charset="MS932"
              p:names="branchId,year,month,customerId,amount"/>
    </property>
</bean>

For your reference, the description not using namespace is shown.

Description not using namespace
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
    <property name="lineTokenizer">
        <bean class="org.terasoluna.batch.item.file.transform.FixedByteLengthLineTokenizer">
            <constructor-arg index="0" value="1-6, 7-10, 11-12, 13-22, 23-32"/>
            <constructor-arg index="1" value="MS932"/>
            <property name="names" value="branchId,year,month,customerId,amount"/>
    </property>
</bean>

This guideline does not force the user to use a namespace. We would like to consider it for simplifying the explanation.

Tested environments of guideline

For tested environments of contents described in this guideline, refer to " Tested Environment".

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