bmap4j - Batch Management And Processing For Java |
Das bmap4j Framework - Batch Management |
en | |
Batch Management mit bmap4jDas bmap4j Framework stellt eine Vielzahl von Funktionen für den effizienten Einsatz von Batch-Programmen in J2EE und J2SE Umgebungen zur Verfügung. Zusammen mit der Repository Komponente von Xinventa und der BatchRepo Webadmin Applikation steht eine vollständige Lösung zur Planung, Überwachung und Auswertung von Batch Jobs zur Verfügung, welche sich heute in der Praxis tagtäglich bewährt. Job ManagementDas bmap4j Framework stellt ein standardisiertes, auf JMX basiertes Interface zur Verfügung, welches Funktionen zur Steuerung und Abfrage von Statusinformationen von Batch Jobs zur Verfügung stellt. Dieses Interface kann von unterschiedlichen Management Applikationen und Tools, welche JMX unterstützen zum Management der Jobs verwendet werden (z.B. JConsole, JMX for Ant, bmap4j Admin Client, WebSphere wsadmin, JBoss twiddle, ...). Enterprise Scheduler, welche JMX nicht direkt unterstützen (z.B. Control-M) werden über entsprechende Scripts an den entsprechenden Applikations-Server angebunden. Auch diese Scripts stehen als Teil des Frameworks zur Verfügung. Der Teil "Batch Management" des Frameworks umfasst diejenigen Funktionen, welche zur Steuerung von Batch Jobs sowie zur Abfrage von Informationen über Programme und Jobs dienen:
Parameter ManagementBatch Programme werden normalerweise durch Parameter gesteuert. Je nach auszuführendem Job nehmen diese Parameter spezifische Werte-Vektoren an und definieren damit die Wirkungsweise des einzelnen Jobs. Die für einen Job gewünschten Werte werden diesem beim Start mitgegeben. Wird bmap4j ohne Repository eingesetzt, erfolgt die Definition der Werte-Vektoren ausserhalb des bmap4j Frameworks - z.B. im Scheduler als Kommando-Zeilen-Parameter der oben erwähnten JMX Tools. Dies bedeutet, dass Änderungen in den Batch Parameter Werten im Scheduler vorgenommen werden müssen, was bei fachlichen Parametern aufwändige und teilweise fehleranfällige Prozesse zur Folge hat. Demgegenüber kann mit dem Batch Repository das Parameter Management zentral über das Batchrepo Webadmin GUI erfolgen. Dort können die verschiedenen benötigten Parameter-Werte-Vektoren als sogenannte Paramter-Templates zentral definiert werden. Beim Job Start werden die spezifischen Werte über die Template-Id dann von JobController aus dem Repository geholt und an das Programm geliefert, ohne dass weitere Komponenten involviert sind. Im Scheduler muss dann nur noch die entsprechende Template-Id hinterlegt werden, welche den zu startenden Job spezifiziert. Änderungen an Parameterwerten können mit entsprechenden Rechten auch vom fachlichen Betrieb vorgenommen werden und werden dann aber nachvollziehbar protokolliert. Job ProtokollIn Zusammenarbeit mit dem Processing ist der Management Layer dafür verantwortlich, dass das Job Protokoll entsprechend erstellt wird. Standardmässig erfolgt die Protokollierung in einem speziellen Job Log-File. Zusammen mit dem Batch Repository werden diese Informationen zu einem persistenten Job Protokoll. Mittels des Batchrepo Webadmin GUI's lassen sich daraus detaillierte Auswertungen auf Stufe Job und Programm erstellen. FehlerlistenIm Normalfall muss ein Batch Programm seine Ausführung nicht unterbrechen, falls einzelne applikatorische Fehler auftreten. Diese Fehler müssen jedoch gesammelt und weitergeleitet werden, damit die entsprechenden Aktionen zur Korrektur durchgeführt werden können. Das bmap4j Framework stellt in diesem Fall Hilfsfunktionen zur Erstellung von Fehlerlisten zur Verfügung und stellt zudem sicher, dass die Fehler falls nötig unter entsprechender Transaktionskontrolle protokolliert werden. Java EE Programm DeploymentWie jede andere EE Applikation auch werden Batch Programme mit bmap4j Unterstützung in einer Java EE Umgebung als EAR deployt. Der Management-Teil des Frameworks kann daher für das Deployment des Batch Programmes direkt vom Deployment-Dienst des eingesetzten Applikations-Servers profitieren. Daher fügt sich das Deployment der Batch Programme auch nahtlos in den Deployment-Prozess Ihres Unternehmens ein. Für das Registrieren/Deregistrieren von spezifischen Management-Komponenten wie beispielsweise den JobController werden je nach verwendetem Applikations-Server mehr oder weniger herstellerspezifische Funktionen benötigt. Beim Design der Architektur wurde jedoch darauf geachtet, dass dennoch möglichst standardisierte Technologien zum Einsatz kommen. Da die Steuerung der Batch Jobs über den Management Layer erfolgt, werden keine EE Application Clients benötigt, um Batch Jobs laufen zu lassen. Das heisst, dass für die BTP-Funktionen keine EE Application Client Umgebungen unterhalten werden müssen. Java SE Programm DeploymentBatch Programme welche die Java EE Services wie z.B. den Transaktionsservice nicht zwingend benötigen, können zu Test- oder Debugzwecken im durch das Framework zur Verfügung gestellten InProcess-Server laufen gelassen werden. Das produktive Deployment von Batch Programmen im SE Umfeld ist zwar möglich, wird jedoch in Anbetracht der Verfügbarkeit von open-source Applikationsservern nicht empfohlen. JMXSeit Java SE Version 1.4 verfügbar und in Version 1.5 als Standardkomponente in die JVM integriert, bietet JMX aus folgenden Gründen die optimale Basis für die Steuerung von Batch Programmen:
Einbindung Enterprise SchedulerEiner der Gründe anfallende Aufgaben als Batches zu realisieren ist der Wunsch, die Verarbeitungsleistung der Server ausserhalb der online Zeit von interaktiven Programmen zu nutzen. Dies bedeutet, dass die Batch Programme auch vielfach ausserhalb der Betriebszeiten gesteuert werden müssen. Dies erfolgt normalerweise automatisiert durch Scheduling-Programme. In kleineren Unternehmen werden vielfach die plattformspezifischen Tools (z.B. cron, at) verwendet. Sind diese den gestellten Anforderungen nicht gewachsen, werden plattformübergreifende Enterprise Scheduler (z.B. BMC Software Control-M, CA Workload Automation, arvato Systems Bagjas, etc.) eingesetzt. Die von bmap4j Framework über JMX zur Verfügung gestellten Management Funktionen erlauben die effiziente Integration der Batch Programme in die Scheduler Komponenten. |
||
25.05.2018 12:24 | Copyright © 2007 - 2018 by Xinventa GmbH, Luzern |