Save 37% off PRO during our Black Friday Sale! »

spring-batch-intro

 spring-batch-intro

18b9001fd20c1e089d19f4a1e994bcdc?s=128

Mahmoud Ben Hassine

May 07, 2018
Tweet

Transcript

  1. A gentle introduction to Spring Batch Mahmoud Ben Hassine Mai

    2018
  2. About me ▪ Principal Software Engineer @Pivotal ▪ Spring Batch

    committer ▪ 10+ years as a Software Engineer ▪ Open source enthusiast ▪ Chess junkie! Twitter: @b_e_n_a_s Github: @benas Lichess: @benas
  3. What about you? ▪ Any Spring Batch users? ▪ Any

    Spring Boot users? ▪ Any Spring Cloud Task/Stream users? ▪ Any Spring Cloud Data Flow users?
  4. Agenda ▪ Introduction ▪ Job development ▪ Job administration ▪

    What’s next? ▪ Q+A
  5. Introduction

  6. What is batch processing? “Batch processing … is defined as

    the processing of data without interaction or interruption.” Michael Minella, Pro Spring Batch 6
  7. Batch domain language (1/2) 7

  8. Batch domain language (2/2) 8

  9. Batch domain model 9

  10. Chunk-oriented processing 10

  11. Core Features ▪ Based on Spring Framework ▪ Flexibility ▪

    Xml/Java config ▪ Declarative I/O ▪ Rich library of item readers/writers ▪ Robustness ▪ Repeat/Retry/Skip/Restart ▪ Transaction management ▪ Chunk-oriented processing ▪ Scalability ▪ Multi-threaded steps ▪ Parallel steps ▪ Remote chunking/partitioning 11
  12. Use cases ▪ ETL processing ▪ Generation of statements/reports ▪

    Data analysis ▪ Data science ▪ Business intelligence 12
  13. Spring Batch in production 13

  14. History of Spring Batch v1.0
 Mar 28, 2008 v2.0
 Apr

    11, 2009 v3.0
 May 22, 2014 v4.0
 Dec 1, 2017 - Builders for readers - Builders for writers - Java 8 - Spring Framework 5 - Initial APIs - Item-oriented processing - XML configuration - Java 1.4 - Spring Framework 2.5 - Step scope - Chunk-oriented processing - Remote chunking/partitioning - Java 5 - Spring Framework 3 v2.2
 Jun 05, 2013 - Java configuration - Spring Data support - Non-identifying Job params - AMQP support - SQLFire support - Job scope - JSR-352 support - SQLite support - Spring Batch Integration - Spring Boot support 14
  15. Job development

  16. Job development with Spring Boot + = Dev 16

  17. Job administration

  18. + = Job administration with Spring Cloud Data Flow Ops

    18
  19. What’s next?

  20. Roadmap ▪ Spring Batch v4.1 (SpringOne 2018)* ▪ Simplify remote

    chunking/partitioning configuration ▪ Add JSON ItemReader/ItemWriter implementations ▪ Add JSR-305 annotations to APIs ▪ Spring Batch v4.0.2/v3.0.10 ▪ Maintenance releases for v4.0.x/v3.0.x lines ▪ v3.0.10 will be the last patch version for v3.0.x line ▪ Contributions are welcome! * Those are goals not commitments! 20
  21. Thank you! Slides: https://speakerdeck.com/benas/spring-batch-intro Code: https://github.com/benas/spring-batch-intro Spring Batch home: https://projects.spring.io/spring-batch/

    Spring Cloud Data Flow home: https://cloud.spring.io/spring-cloud-dataflow/