Orchestrer des traitements de données avec Spring Batch

Les batchs sont des programmes que l'on retrouve dans de nombreuses organisations. Workflows complexes, reprise après incident, lecture-transformation-écriture de données, stratégies de réessais, détection d'anomalies...: ce sont autant de sujets qui mêlent règles métiers et exigence de performance et auxquels Spring Batch propose une solution.

Ce cours vous permettra d'apprendre les concepts qui structurent un batch et de les mettre en oeuvre avec Spring Batch.

(7 heures)

En présentiel ou en classe virtuelle
En français ou en anglais
Public

Développeurs et développeuses Java, architectes

Accessible aux personnes en situation de handicap

Délai

Le cours peut être organisé dans un délai d'un mois.

Objectifs

A l'issue du cours vous saurez:

Prérequis

Ce cours demande une connaissance solide des bases de la programmation Java (principes de la programmation orientée objet, types génériques, annotations, expressions lambda), de Spring et Spring boot et une habitude de travailler avec Eclipse ou IntelliJ.

Méthodes pédagogiques

Programme détaillé

Introduction
  • Présentation des concepts et des cas d'utilisation.
  • La base de données de suivi des jobs utilisée par Spring Batch.
  • Le rôle des beans créés automatiquement par Spring boot (JobLauncher, JobRepository...)

Mise en pratique: création d'un projet Spring Boot en vue de développer un Job Spring Batch, création de la base de suivi des jobs.

Définition d'un Job
JobBuilder
  • Un Job comme ensemble de flows et de steps.
  • Les workflows séquentiels.
  • Les workflows conditionnels.
  • Les workflows parallèles.
  • Les statuts possibles d'un Job.
  • les scopes JobScope et StepScope.
  • Bonnes pratique d'organisation du code.

Mise en pratique: création d'un Job simple.

Lancement d'un job
JobLauncher
  • La transmisssion des paramètres (JobParameters).
  • Lancement en ligne de commande.
  • Lancement par une planification Spring.
  • Lancement depuis un test avec spring-batch-test.

Mise en pratique: exécution du Job défini précédemment depuis la méthode main et depuis un test.

Définition d'un Step
StepBuilder
  • la démarcation transactionnelle.
  • L'accès aux JobParameters.
  • les chunk oriented step et ses composants: ItemReader,ItemProcessor, ItemWriter.
  • les tasklet steps.
  • La tolérance aux erreurs (skip, retry).
  • Les listeners.

Mise en pratique: ajout de chunk oriented steps et de tasklet steps au Job créé précédemment, application d'une stratégie de rééssais et déclaration de listeners.

Prix et financements

2 12

Réduction de 50% pour les associations reconnues d'utilité publique.

Sources de financements pour les organisations françaises:

Contact

Questions, inscriptions, demande d'adaptation: