Insérer un code personnalisé dans un job Talend avec tJava

Dans cet article, nous allons voir comment insérer du code java dans un job Talend afin d’étendre ses fonctionnalités. Talend open studio est une plate-forme d’intégration de données, basée sur le langage java. C’est un outil qui permet de répondre à toutes les problématiques liées au traitement de données : ETL (Extraction, Traitement et chargement de données), EAI (Echange de données Inter-Application) et synchronisation de données. L’avantage des solutions talend réside dans leur facilité de prise en main, leur souplesse, leur flexibilité et un excellent résultat graphique des jobs grâce aux interfaces des composants.

Spring-Batch (Part II): Validation and Skip Policy. Ou comment gérer les données non valides dans un batch?

Après la première partie sur les tests unitaires du reader de Spring-Batch, nous passons à la validation des données input.
Ce second volet exige un minimum de connaissances sur spring & spring-batch.

Nous tentons de relever plusieurs défis majeurs correspondants aux attentes en production:

  • identifier avec précision le numéro de la ligne invalide (non traitée par le batch lancé la veille),
  • générer un rapport exploitable du déroulement du batch (exécutée la nuit),
  • porter en base les erreurs rencontrées en traçant correctement leurs causes exactes,

Nous nous posons la question de la validation des lignes lues par le Reader et aussi comment définir une politique d'éviction (skip) de ces lignes non valides.

En franglais, c'est la question validate & skip policy dans les batchs.

Ce sont deux notions bien distinctes mais fort bien liées.

Framework Spring-Batch 2.x : Une démo avancée (Part 1/2)

spring-mini-logo.png

Le (célèbre) framework Spring-Batch, dans sa nouvelle version (actuellement v 2.1.8), apporte d'importantes nouveautés.

Qu'est-ce que ce (nouveau) framework?
A quoi peut-il servir?

Nous répondons à ces questions avec une démo de lecture des données depuis une base.
Ces données sont transformées puis consignées dans un fichier.
Tout cela réalisé avec peu de code.


PRE-REQUIS: Connaître impérativement spring.

Spring-Quartz : Planifier une tâche batch java en 30 minutes

L'objet de ce billet est de montrer comment planifier une tâche java avec Quartz et Spring et ce en n'ajoutant que quelques lignes de configuration xml.
Ce "QuickStart" introduisant Spring2.5+ et Quartz 1.6.5+ vous permet d'être opérationnel en 30 minutes.
Quartz est un ordonnanceur (scheduler) qui permet de planifier des tâches batch java (Job) à des intervalles spécifiés. Par exemple, réaliser des traitements lourds (génération de rapports, de statistiques) à des heures où les ressources du serveur sont suffisamment disponibles.
Quartz s’intègre assez facilement dans Spring (sauf peut être en mode Cluster, qui ne sera pas traité ici, pour lequel l'apprentissage est important!).
Afin de faciliter la mise en place de notre exemple, nous avons privilégié le mode RAMJobStore (les Jobs Quartz sont chargés en mémoire sans les persister).
Notre exemple est un projet web mais sachez qu'il est encore plus simple de prendre un projet java. Néanmoins le type de projet web est très instructif.
Nous terminerons ce billet en testant le Job exemple avec une classe JUnit4 avec Spring.
Tous les détails de configuration des dépendances Maven, de Spring et celles de Quartz dans Spring seront donnés.
Nous mentionnons, surtout à l'intérieur des codes, les explications utiles pour comprendre l'api Quartz et toutes les indications nécessaires afin d'éviter les quelques pièges de la configuration Spring-Quartz.
Un seul pré-requis nécessaire: connaître le framework Spring. La connaissance de Quartz peut s'acquérir de manière incrémentale.