Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Batch
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Rodrigo Graciano
October 07, 2022
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Batch
Deck for the Batch Processing Cloud Apps with Java
Rodrigo Graciano
October 07, 2022
More Decks by Rodrigo Graciano
See All by Rodrigo Graciano
Advancing with Java
graciano
0
35
Your Java isn't the same
graciano
0
230
Batch Processing
graciano
0
430
Java 9 ao 17 - Oracle no TDC
graciano
0
150
KnoxJava - Java 9-17
graciano
0
170
Of concurrency and other demons
graciano
0
160
Java 9 to Java 16: A review of recent changes to the language
graciano
0
180
Java 9 ao 15 - Evolução da Linguagem Java
graciano
0
290
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
180
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
yield再入門 #phpcon
o0h
PRO
0
470
act1-costs.pdf
sumedhbala
0
230
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.3k
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
5分で問診!Composer セキュリティ健康診断
codmoninc
0
330
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
130
霧の中の代数的エフェクト
funnyycat
1
400
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
280
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
240
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
It's Worth the Effort
3n
188
29k
The Language of Interfaces
destraynor
162
27k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Building an army of robots
kneath
306
46k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
Transcript
BATCH PROCESSING CLOUD APPS WITH JAVA ELDER MORAES RODRIGO GRACIANO
OUTUBRO 2022
WHAT SPRING BATCH IS? Spring Batch is a lightweight, comprehensive
batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#spring-batch-intro
WHAT SPRING BATCH IS NOT? Spring Batch is not a
scheduler https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#spring-batch-intro
RODRIGO GRACIANO • Principal Software Engineer - NY • Líder
do JUG de NY - NYJavaSIG • graciano.dev • Twitter: @rodrigograciano
ELDER MORAES • Java Champion • Autor de diversos livros
• Developer Advocate na Red Hat • Líder do SouJava • eldermoraes.com • Twitter: @elderjava
THE BASICS
BATCH VOCABULARY
BATCH COMPONENTS JOB
BATCH COMPONENTS STEP
BATCH ARCHITECTURE https://docs.spring.io/spring-batch/docs/current/reference/html/images/spring-batch-reference-model.png JobRepository JobLauncher Job Step 1 *
BATCH COMPONENTS TASKLET
TASKLETS • 1 time operation instead of read/write • Run
a DB query • Copy Files • Zip/unzip files
CHUNK TASKLET - STEP SEQUENCE Process Step Read Write
CHUNK-ORIENTED STEP + PROCESSORS https://docs.spring.io/spring-batch/docs/current/reference/html/images/chunk-oriented-processing-with-item-processor.png
SHOW ME SOME CODE: BASIC DEMO This Photo by Unknown
Author is licensed under CC BY-NC-ND
• JobRepository • JobLauncher • JobRegistry • JobExplorer • PlatformTransactionManager
• JobBuilderFactory • StepBuilderFactory @EnableBatchProcessing
JOB REPOSITORY •It’s how Job, Step, JobParameters, JobExecution, and StepExecution
are persisted
READERS • Database (JDBC, Mongo, Neo4j, Hibernate, etc.) • Flat
Files (delimited, fixed-length) • XML, JSON • JMS, Kafka, Amqp • Multi-file
WRITERS • Database (JDBC, Mongo, Neo4j, Hibernate, etc.) • Flat
Files (delimited, fixed-length) • XML, JSON • JMS, Kafka, Amqp • Multi-file • Email
PROCESSORS •Transforming •Filtering •Validations
LISTENERS JobExecutionListener StepExecutionListener ItemReadListener ItemWriteListener ChunkListener ItemProcessListener SkipListener
JOB EXECUTION LISTENERS
BEYOND THE BASICS SCALING AND PARALLEL PROCESSING
SCALING AND PARALLEL PROCESSING •Parallel steps •Multi-threaded •Async Processor and
AsyncWriter •Remote Partitioning •Remote Chunking
SCALING AND PARALLEL PROCESSING •Parallel steps •Multi-threaded •Async Processor and
AsyncWriter •Remote Partitioning •Remote Chunking
PARALLEL PROCESSING Step 1 Step 2 Step 3 Start Step
4
SCALING AND PARALLEL PROCESSING •Parallel steps •Multi-threaded •Async Processor and
AsyncWriter •Remote Partitioning •Remote Chunking
SCALING AND PARALLEL PROCESSING •Parallel steps •Multi-threaded •Async Processor and
AsyncWriter •Remote Partitioning •Remote Chunking
SCALING AND PARALLEL PROCESSING •Parallel steps •Multi-threaded •Async Processor and
AsyncWriter •Remote Partitioning •Remote Chunking
None
WHAT ABOUT THE CLOUD?
QUESTIONS? https://github.com/rodrigolgraciano/cloud-batch.git https://speakerdeck.com/graciano/cloud-batch @rodrigograciano @ elderjava