Chapter 1. Introducing Spring Batch
Figure 1.1. A typical batch application: system A exports data to flat files, and system B uses a batch process to read the files into a database.
Figure 1.2. Scaling by partitioning: a single step partitions records and autonomous substeps handle processing.
Figure 1.3. Thanks to this new application, anyone can buy ACME’s products online. The system sends catalogs to a server where a batch process reads them and writes product records into the online store database.
Figure 1.4. Because ACME doesn’t want its internal catalog system to be directly accessible from the outside world, it doesn’t allow the two applications to communicate directly and exchange data.
Figure 1.5. An extract, transform, and load (ETL) process extracts and transforms the catalog system data into a flat file, which ACME sends every night to a Spring Batch process. This Spring Batch process is in charge of reading the flat file and importing the data into the online store database.
Figure 1.6. The Spring Batch job consists of the following steps: decompression and read-write.
Figure 1.7. In read-write scenarios, Spring Batch uses chunk processing. Spring Batch reads items one by one from an ItemReader, collects the items in a chunk of a given size, and sends that chunk to an ItemWriter.
Figure 1.8. Chunk processing combined with item processing: an item processor can transform input items before calling the item writer.