This presentation will introduce the exciting new Spring Batch project by example. Attendees will explore interesting cases of early adoption from clients of Accenture and Interface21 to learn the problems Spring Batch solves and the value it provides.
Attendees will see examples of typical batch processing patterns, and gain insight into the details of the enterprise eco-systems that Spring Batch has become a part of. Concrete examples include optimization of high-volume processing applications, flat-file processing, batch reporting and management applications, offline report production.
Many applications within the enterprise domain require bulk processing to perform business operations in mission critical environments. These business operations include automated, complex processing of large volumes of information that is most efficiently processed without user interaction. These operations typically include time based events (e.g. month-end calculations, notices or correspondence), periodic application of complex business rules processed repetitively across very large data sets (e.g. insurance benefit determination or rate adjustments), or the integration of information that is received from internal and external systems that typically requires formatting, validation and processing in a transactional manner into the system of record. Batch processing is used to process billions of transactions every day for enterprises.
This presentation will give participants a chance to see the details of Spring Batch internals from the perspective of its creators. This will be of interest to anyone using Spring Batch and wanting to know more about how it works, and equally to those who are framework developers and want to see a few tricks.
The way the difficult framework issues have been addressed will be examined, along with the design of the Spring Batch domain model(s). We will look at topics such as:
We will show how Spring Core features such as custom scopes, namespaces and templates have been used in Spring Batch to address some of these requirements. We will also show how the use of a domain-driven approach to the design of Spring Batch has brought benefits to the product generally.
The initial release of Spring Batch provides an Infrastructure layer in the form of low level tools. There is also a simple Container application, using the infrastructure in its implementation. The container provides robust features for traceability and management of the batch lifecycle. A key goal is that the management of the batch process (locating a job and its input, starting, scheduling,restarting, and finally processing to created results) should be as easy as possible for developers.