Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automatisierung mit Process-Engine oder Batchverarbeitung – Wann lohnt sich welcher Architekturansatz?

Automatisierung mit Process-Engine oder Batchverarbeitung – Wann lohnt sich welcher Architekturansatz?

Prozessautomatisierung ist ein wesentlicher Bestandteil moderner Software-Architektur und kann mit Hilfe zahlreicher Technologien umgesetzt werden. Neben der Legacy-Batch-Verarbeitung, die in vielen Unternehmen noch auf dem Mainframe läuft, wird häufig Spring Batch und eine auf BPMN basierende Process-Engine eingesetzt (z.B. Camunda). Wir stehen in unserer täglichen Praxis regelmäßig vor der Entscheidung, welchen Architekturansatz wir für ein konkretes Problem empfehlen. Diese Frage stellt sich insbesondere bei der Ablösung von Legacy-Anwendungen, bei denen oft eine Migration historisch gewachsener Batch-Anwendungen in Richtung einer Process-Engine sinnvoll ist, um eine synchrone Echtzeitverarbeitung mit der Möglichkeit von Nutzerinteraktionen zu unterstützen. Wir werden anhand einiger Praxisszenarien einen Kriterienkatalog vorstellen, der als Entscheidungshilfe für die Frage „Batch oder BPM“ dient. Da das Ergebnis nicht immer eindeutig ist, stellen wir darüber hinaus einige Ansätze zur Kombination von Process-Engine und Batch-Anwendung bei einer durchgängigen Integration in die Anwendungslandschaft vor.

Tobias Voß

April 24, 2018
Tweet

More Decks by Tobias Voß

Other Decks in Programming

Transcript

  1. 24. April 2018 Christian Nockemann und Tobias Voß viadee Unternehmensberatung

    GmbH Automatisierung mit Process-Engine oder Batch – Wann lohnt sich welcher Architekturansatz?
  2. 24.04.2018 WER SIND WIR? • Senior Berater – viadee IT-Unternehmensberatung

    • Aktuelle Schwerpunkte • Spring basierte Enterprise-Anwendungen • Umstieg von monolithischer zu Microservice-Architektur • Qualitätskriterien des Software-Entwicklungsprozesses CHRISTIAN NOCKEMANN (Dipl.-Wirt.Inform.) • Senior Berater – viadee IT-Unternehmensberatung • Leiter Kompetenzbereich IT-Architektur und Softwareentwicklung • Aktuelle Schwerpunkte • IT-Architektur bei Versicherungen • Digitalisierung und Prozessautomatisierung • Batchverarbeitung im Java- und Mainframe-Umfeld TOBIAS VOß (Dipl. Informatiker) 2
  3. 24.04.2018 3 Ansätze zur Automatisierung im Vergleich: Batch vs. BPM

    Einstufung von Szenarien aus der Praxis Kriterienkatalog zur Entscheidungshilfe Kombination von Prozessen und Batchverarbeitung AGENDA
  4. MAINFRAME IM EINSATZ BATCH-VERARBEITUNG MIT Z/OS 24.04.2018 5 Behörden /

    Dienstleister / Partner COBOL-Programme (Embedded SQL) IBM DB2 Sequentielle Dateien XML-Dateien Dateitransfer (SFTP, C:D) Dienstprogramme (Utilities) JCL / JES IBM MQ Series TWS TSO / ISPF / SDSF / RACF
  5. AKTUELLE THEMEN SPRING BATCH / JAVA BATCH 24.04.2018 6 Quelle:

    Spring Batch Reference Documentation JobLauncher Job Step JobRepository ItemReader ItemProcessor ItemWriter 1 * 1 1 1 1 1 1 6
  6. GESCHÄFTSPROZESSMANAGEMENT EBENEN UND METHODEN 24.04.2018 7 Geschäftsprozessarchitektur  Übergreifendes Zusammenspiel

    aller Geschäftsprozesse eines Unternehmens Fachliche Prozessmodelle  Ebene 1: Ziele, Start und Ende von Prozessen  Ebene 2: Operative Abläufe im Detail Technische Prozessanwendungen  Technische Attributierung der operativen Prozessmodelle  Ausführung in Process-Engines Prozesslandkarten, Ordnungsrahmen, WKDs eEPKs, Adonis, … Organisatorische BPM-Projekte Prozessautoma- tisierungsprojekte Formales Metamodell + Ausführungssemantik
  7. UNTERNEHMENSWEITE BPM-ARCHITEKTUREN VERANKERUNG IN ANWENDUNGSLANDSCHAFT 24.04.2018 8  Die übergreifende

    Prozesslogik wird im Prozessmodell abgebildet und somit aus den Anwendungen extrahiert.  Eine zentrale Prozess-Engine steuert die anwendungsübergreifende Ausführung des Prozesses (Makro-Flow). Kunden identifizieren Vertrag lesen Sachverhalt prüfen Schaden regulieren Manuelle Aktivität Partner Vertrag Leistung Aktivitäten- management Leistung Exkasso Text Schadenmeldung Rule Prozesssteuerung Service-Layer 8
  8. AGENDA 24.04.2018 11 Ansätze zur Automatisierung im Vergleich: Batch vs.

    BPM Einstufung von Szenarien aus der Praxis Kriterienkatalog zur Entscheidungshilfe Kombination von Prozessen und Batchverarbeitung
  9. EIN TYPISCHER BATCH MONATS-/JAHRESABSCHLUSS • Turnusmäßige Zinsberechnung • Zeitgesteuerte Fortschreibung

    von Lebensversicherungen • Regelmäßige Meldeverfahren • Blackbox zur Laufzeit (gekapselte Fachlogik) 12 24.04.2018
  10. EINE MISCHUNG AUS BATCH UND PROZESS RIESTER-MELDEVERFAHREN 24.04.2018 14 Anbieter

    (Bank/Vers.) Kunde schließt Vertrag ab ZfA beantragt Zulage (AZ01-Meldung) (ZA0Zulagenmitteilung 2-Meldung) Zulage wird dem Kunden gutgeschrieben XML-Schnittstellen MQ 14
  11. AGENDA 24.04.2018 17 Ansätze zur Automatisierung im Vergleich: Batch vs.

    BPM Einstufung von Szenarien aus der Praxis Kriterienkatalog zur Entscheidungshilfe Kombination von Prozessen und Batchverarbeitung
  12. EINZEL- VS. MASSENDATENVERARBEITUNG 24.04.2018 Kriterium Batch Process-Engine Einzeldaten Ein einzelner

    Festsetzungsantrag geht ein Batchverarbeitung für einzelne Datensätze ist nicht sinnvoll Prozesse sind grundsätzlich auf einzelne Datensätze ausgelegt Massendaten Meldung im Rahmen des Riester-Zulageverfahrens an die ZfA im Kontext von Jahresarbeiten Batchverarbeitung ist auf Massendaten ausgelegt und bietet insbesondere Vorteile in Bezug auf Performance und Transaktionen Viele gleichzeitige Instanzen desselben Prozesses haben Performance-Nachteile insb. beim Aufruf von Services der Backend-Systeme 18 Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges
  13. SYNCHRON VS. ASYNCHRON 24.04.2018 19 Kriterium Batch Process-Engine Synchrone Verarbeitung

    Ein Kunde meldet einen Schadensfall über die Website Keine direkte Interaktion möglich – Daten werden gesammelt und als Stapel verarbeitet Schadenmeldungs-Prozess wird direkt angetriggert, Real-Time- Rückmeldung möglich Asynchrone Verarbeitung • Jährliche Zulagenmitteilung im Rahmen des Riester- Zulageverfahrens von der ZfA verarbeiten • Anforderung eines Schaden- Gutachtens und Warten auf das Ergebnis Meldungs-XMLs können im Rahmen der Dunkelverarbeitung asynchron verarbeitet werden Process-Engines sind auch für asynchrone Verarbeitung ausgelegt und BPMN bietet eigene Sprachmittel für die asynchrone Kommunikation mit Dritten Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges
  14. EVENT VS. TERMIN 24.04.2018 20 Kriterium Batch Process-Engine Event •

    Ein Kunde meldet eine Adressänderung • Ein Gutachten zu einem Schadensfall geht ein Batchjobs starten nicht anhand von Einzelevents sondern laufen turnusmäßig Der automatisierte Prozess kann durch ein Event ausgelöst oder benachrichtigt werden Termin Monatliche Zinsberechnung Batchjobs werden generell zu festen Zeitpunkten gestartet Automatisierte Prozesse können auch an festgelegten Zeitpunkten selbstständig anlaufen und BPMN bietet Unterstützung für zeitgesteuertes Warten (z.B. Fristen) Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges
  15. INTERAKTIVITÄT UND ABHÄNGIGKEITEN ZU VORHANDENEN BATCHJOBS 24.04.2018 21 Kriterium Batch

    Process-Engine Nutzerinteraktionen nötig Sachbearbeiter muss eine manuelle Korrektur oder Bewertung vornehmen (z.B. Kontostand für Common Reporting Standard) Batchverarbeitung ist Dunkelverarbeitung und bietet keine bzw. nur sehr umständliche Möglichkeiten zur Interaktion Kann in Form von User-Tasks realisiert werden Abhängigkeiten vorhanden Bevor Rentenbezugsmitteilungen versendet werden können, läuft ein vorhandener Batchjob, der eine Kandidatenliste erzeugt Für das Scheduling von Batchjobs existiert eine Lösung. Oft ist dies Hostaufgabe. Process-Engines müssen in das Scheduling integriert werden. Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges
  16. AUSWERTUNG UND OPTIMIERUNG 24.04.2018 22 Kriterium Batch Process-Engine Fachliche Auswertung

    Ermittlung von fachlichen Kennzahlen Möglich, muss aber individuell programmiert werden Auswertungsmöglichkeiten in Form von Prozesskennzahlen generisch vorhanden Teilautomatisierung / Stufenweise Optimierung Ausbau des Automatisierungs- grades anhand BPM-Regelkreis Batchjobs besonders für Vollautomatisierung geeignet Teilautomatisierung durch finale Aussteuerung oder User- Tasks flexibel möglich Agiles bzw. iteratives Entwicklungsmodell gut möglich Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges
  17. WEITERE KRITERIEN 24.04.2018 23 Kriterium Batch Process-Engine Transaktionale Verarbeitung notwendig

    Partner soll nur als Kunde angelegt werden, wenn der Vertragsabschluss erfolgt. Batch ist naturgemäß transaktional Eine übergreifende Transaktion ist möglich, aber unüblich, stattdessen wird mit Kompensation gearbeitet, die aber fachlich komplexer ist. Ad-Hoc-Änderung von Geschäftsregeln Schadenlimits im Fall von Großereignissen anpassen Möglich, muss aber individuell programmiert oder explizit eingebunden werden Explizite Unterstützung für Geschäftsregeln durch den begleitenden Standard DMN (Decision Model and Notation) Wiederverwendung vorhandener Strukturen und Fachlichkeit Keine generelle Aussage möglich, kann aber im Einzelfall eine wichtige Rolle spielen Einzel-/ Massensatz (A-) Synchron Event vs. Termin Interaktion & Abhängig- keiten Auswertung & Optimierung Sonstiges
  18. AGENDA 24.04.2018 24 Ansätze zur Automatisierung im Vergleich: Batch vs.

    BPM Einstufung von Szenarien aus der Praxis Kriterienkatalog zur Entscheidungshilfe Kombination von Prozessen und Batchverarbeitung