bmap4j - Batch Management And Processing For Java

xinventa logo

Grundlagen

en

Batch-Transaction-Processing Grundlagen

Transaktionen

Transaktionen sind das "Lebenselixier" der Unternehmens-IT. Sie garantieren durch die ihnen eigenen, sogenannten ACID-Eigenschaften (Atomicity, Consistency, Isolation und Durability) die Konsistenz der Unternehmensdaten.

Plattformen für die Transaktionsverarbeitung

Lange Zeit war die Transaktionsverarbeitung der Mainframe-Umgebung vorbehalten und auch heute noch spielt der IBM-Host beispielsweise in der Banken- und Versicherungsbranche eine wichtige Rolle.

Die Gründe für diese Situation sind vielfältig:

  • Der Host bietet jahrzehntelang bewährte Technologie.
  • Das Bewusstsein für die Transaktionen ist sowohl in der Entwicklung als auch im Betrieb gut etabliert.
  • Das Know-How im Bereich der Transaktionsverarbeitung wird im Mainframe-Umfeld fortwährend gepflegt.

Zwar ist die Migration auf moderne Applikationsplattformen wie Java EE im Gang, doch wirken in vielen Unternehmen die fehlende Modularität sowie der grosse Umfang der bestehenden Programme als Inhibitor. Kommen für die Entwicklung auf der neuen Plattform dann noch das möglicherweise unterentwickelte Bewusstsein für die Belange der Transaktionsverarbeitung hinzu, wird ein ins Auge gefasster Migrationspfad vielfach gar nicht erst eingeschlagen.

Batch Programme

Batch-Programme verarbeiten im Normalfall eine grosse Zahl von einfachen Geschäftsfällen (EGF). Ein EGF ist dabei diejenige atomare Einheit, über welche die Konsistenz der Daten gewährleistet werden muss. Vielfach wird der EGF auch als Record bezeichnet, wobei dies nichts über die Komplexität der damit verbundenen Datenmanipulationen aussagt. Beispiele von EGF's / Record's sind (in aufsteigender Komplexität):

  • Simpler Update einer Datenbank-Row
  • Anpassung des Entitätenmodells eines ERP- oder CRM-Systems
  • Neuberechnung aller Policen eines Kunden

Der Batch (English für Stapel) umfasst die Menge der Records eines einzelnen Jobs. Der Ausdruck wird aber auch vielfach als Synonym verwendet für (Batch-)Program oder (Batch-)Job.

BTP und OLTP Syteme

Batch Programme benötigen eine Laufzeitumgebung, in welcher sie ausgeführt werden. Diese Laufzeitumgebung stellt im Normalfall diverse Basisdienste zur Verfügung, welche für die Batch-Verarbeitung benötigt werden. Einer dieser Dienste ist beispielsweise die Transaktionsverarbeitung. Das Programm zusammen mit den Basisdiensten der Laufzeitumgebung bildet das Batch-Transaction-Processing (BTP) System.

Diese BTP Systeme stehen aus folgenden Gründen im Gegensatz zu den OnLine-Transaction-Processing (OLTP) Systemen:

  • Die BTP-Programme laufen vielfach ausserhalb der Büro- beziehungsweise der sogenannten Online-Zeiten.
  • Je nach Grösse des Unternehmens werden diese Batch-Jobs auch ohne "Begleitung" gefahren.
  • Die Verarbeitung kann dabei im Normalfall keinem fachlichen User zugeordnet werden.
  • Und je nach fachlicher Funktion des Programms sind die Laufzeiten der Jobs unter Umständen sehr kritisch.

Damit die Vorgaben bezüglich der Laufzeit eingehalten werden können, muss eine performante und skalierbare Umgebung bereitgestellt werden.

Die ersten drei Punkte bedingen zudem, dass der Nachvollziehbarkeit entsprechendes Gewicht bei der Entwicklung von BTP-Programmen verliehen wird.

Und drittens muss auch ein BTP-System weitreichende Anforderungen bezüglich Sicherheit und Robustheit erfüllen, da Batch Programme vielfach Teil von businesskritischen Prozessen darstellen.

Eine adäquate Architektur hilft dabei, ein leistungsfähiges BTP-Systems zu realisieren und dessen sicheren Betrieb langfristig sicherzustellen.