Intro
Speakers' life history
Overall presentation goal
Agenda
Java Batch - A Missing Enterprise Capability in the Market
Spring Batch:An Accenture and Interface21 Partnership
Agenda
Spring Batch:Business Scenarios
Spring Batch: Features
Agenda
Spring Batch:Infrastructure
Spring Batch: Container Implementations
Spring Batch:Approaches to Scale
Agenda
Simple Batch Pseudo Code
Ensure Failed Transaction Does not Terminate Job
Failure Scenario: Skip and Log
Batch Pseudo Code with Skip
Extended Failure Scenarios: Retry and Recovery
Successful Retry
Retry with Recovery
Applying the Spring Programming Model to Batch Processing
Agenda
Batch Domain Reference Model
Container Domain Diagram
Simple Batch Pseudo Code
Container Domain Language
Job Configuration
Container Configuration
Spring Batch:JMX Management and Operations
Agenda
Spring Batch—Road Map
Sample Jobs
Spring Batch Team
Summary
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 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, validating and processing in a transactional manner into the system of record. Spring Batch is the only comprehensive lightweight batch framework designed to enable batch development for enterprise systems of varying complexity. Simple as well as complex, high-volume batch jobs can leverage this framework in a highly scalable manner.
The Spring Framework is the most popular application programming framework for Java/Java EE development, with widespread usage across many industries. Spring is an open source product, published under the Apache Software License. Spring enables POJO-based development, while making it easy for developers to access advanced enterprise services. This session focuses on how to use, configure, and extend the batch framework utilizing familiar Spring patterns such as Dependency Injection and Inversion Of Control. General batch concepts such as logging/tracing, transaction management, statistics, restart, skip, resource management and job partitioning will also be covered to demonstrate the capabilities of Spring Batch. Optimization techniques enabling the batch framework to run extremely high-volume batch jobs will also be discussed, including execution within a Java EE container. The speakers will also address the misconception that Java is not appropriate for developing high-volume batch applications.
The session is intended for architects, developers and performance testers of batch applications interested in understanding how the Spring Batch framework allows batch application developers to focus on the business aspects of batch jobs in a highly scalable enterprise environment.
Dr David Syer is an experienced, delivery-focused architect and development manager. He has designed and built successful enterprise software solutions using Spring, and implemented them in major financial institutions worldwide. David is known for his clear and informative training style and has deep knowledge and experience with all aspects of real-life usage of the Spring framework. He enjoys creating business value from the application of simple principles to enterprise architecture. David joined Interface21 from a leading risk management software vendor where he worked closely with Interface21 on a number of projects. Recent publications have appeared in Balance Sheet, Operational Risk and Derivatives Technology.
Scott Wintermute has over 10 years of experience leading and managing the development of enterprise solutions across several industries including resources, high tech, retail, automotive, and insurance. Scott is a Senior Manager within Accenture's Innovation and Architecture practice focused on building custom solutions. Over the past couple years, he has led the Accenture Delivery Architectures program in redefining and transforming the way Accenture delivers standard architecture blueprints and solutions to our clients. These solutions are integrated and aligned with Accenture's methodology and tools and provide prescriptive consumption of enterprise open source Java. As part of this effort, Scott has been the visionary responsible for establishing the collaboration between Interface21 and Accenture to deliver Spring Batch, Accenture's first successful delivery into the open source community.
Lucas Ward is a Java Architect focused on batch architectures within the Innovation and Architecture practice within Accenture. He has been working over the past two years on Accenture's methodology and architecture best practices, in particular regarding the use of open source. Lucas is co-leading the development of Spring Batch, utilizing experiences from multiple batch architecture implementations throughout Accenture.
.