Micro Batch Services powered by Spring Boot

Batcharchitektur in the Enterprise

Tobias Flohre, Dennis Schulte
© iStockphoto.com/liangpv

Immer mehr Unternehmen setzen auf Batchverarbeitung in Java – nur wie macht man es richtig? In diesem Artikel stellen wir die unserer Erfahrung nach optimale Architektur für Batch Services im Enterprise-Umfeld zunächst Framework-neutral vor: verteilte Umgebung, Container, Kommunikation über HTTP, fertig. Vielfach kundenerprobt. Und doch – ganz problemfrei und schnell geht es nicht immer. Aufwände fließen in die Entwicklung eines eigenen Meta-Batch-Frameworks, der Umgang mit den Application Servern ist nicht immer ganz einfach, und schnell entstehen Batchmonolithen mit Unmengen von Jobs – ein Horror für Updates und Testing. Wie kann man diese Aufwände umgehen? Dieser Artikel zeigt, wie ein eigener Spring Boot Starter dafür sorgt, dass man nur noch Jobs schreiben muss und alles andere geregelt ist.

Es gibt viele verschiedene Wege, Batch Jobs zu schreiben und zu betreiben, und dieser Artikel hat nicht zum Ziel diese alle aufzulisten – dafür wäre auch gar kein Platz. Hier soll es um den unserer Erfahrung nach optimalen Weg im Enterprise-Umfeld gehen. Und dann wollen wir noch aufzeigen, was Microservices damit zu tun haben. Bei der Einführung von Java Batch im Unternehmen müssen drei Fragen beantwortet werden:

1. Soll ein Framework verwendet werden? Wenn ja, welches?
2. Wie sollen die Batch Jobs betrieben werden?
3. Wie werden die Batch Jobs ins Unternehmen eingebunden? Wer startet sie?

(Den kompletten Artikel finden Sie im Java-Magazin 10.2014)

Geschrieben von
Tobias Flohre
Tobias Flohre
Tobias Flohre arbeitet als Senior-Softwareentwickler bei der codecentric AG. Seine Schwerpunkte sind Java-Enterprise-Anwendungen und Architekturen mit JEE/Spring, häufig mit Fokus auf Spring Batch. Er spricht regelmäßig auf Konferenzen und bloggt auf blog.codecentric.de. E-Mail: tobias.flohre@codecentric.de.
Dennis Schulte
Dennis Schulte
Dennis Schulte ist seit 2009 als Senior IT Consultant bei der codecentric AG tätig. Er unterstützt seine Kunden insbesondere im Bereich Enterprise-Architekturen und der Optimierung von IT-Prozessen. Aufgrund seiner langjährigen Erfahrung als Architekt und Entwickler verfügt er über ein umfassendes Wissen im Bereich Java EE und Open-Source-Technologien und hier insbesondere im Umfeld Spring Batch und Massendatenverarbeitung. Seine Projektschwerpunkte liegen in der Architekturberatung und der Durchführung von Projekten im Versicherungsumfeld.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: