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
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
36
Your Java isn't the same
graciano
0
240
Batch Processing
graciano
0
430
Java 9 ao 17 - Oracle no TDC
graciano
0
150
KnoxJava - Java 9-17
graciano
0
180
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
300
Other Decks in Programming
See All in Programming
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
180
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
160
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
Google Apps Script で Ruby を動かす
kawahara
0
140
FDEが実現するAI駆動経営の現在地
gonta
2
270
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
What's New in Android 2026
veronikapj
0
250
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
160
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Code Review Best Practice
trishagee
74
20k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
210
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
360
Writing Fast Ruby
sferik
630
63k
How to train your dragon (web standard)
notwaldorf
97
6.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
320
The Pragmatic Product Professional
lauravandoore
37
7.4k
Test your architecture with Archunit
thirion
1
2.3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
Between Models and Reality
mayunak
4
390
Google's AI Overviews - The New Search
badams
0
1.1k
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