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?

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  4. 24.04.2018 4
    KLASSISCHE BATCHVERARBEITUNG
    Bundesarchiv, B 145 Bild-F038812-0025 / Schaack, Lothar / CC-BY-SA 3.0

    View full-size slide

  5. 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

    View full-size slide

  6. 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

    View full-size slide

  7. 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

    View full-size slide

  8. 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

    View full-size slide

  9. HUMAN WORKFLOW MANAGEMENT
    BPM IST MEHR ALS BATCHVERARBEITUNG
    24.04.2018 9
    Process-Engine

    View full-size slide

  10. HEUTE HAT MAN DIE QUAL DER WAHL
    24.04.2018 10

    View full-size slide

  11. 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

    View full-size slide

  12. EIN TYPISCHER BATCH
    MONATS-/JAHRESABSCHLUSS
    • Turnusmäßige Zinsberechnung
    • Zeitgesteuerte Fortschreibung von
    Lebensversicherungen
    • Regelmäßige Meldeverfahren
    • Blackbox zur Laufzeit (gekapselte Fachlogik)
    12
    24.04.2018

    View full-size slide

  13. EIN TYPISCHER PROZESS
    „K-GLASBRUCH“
    24.04.2018 13

    View full-size slide

  14. 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

    View full-size slide

  15. 24.04.2018 © viadee 2018 15
    PRAXISSZENARIO
    COMMON REPORTING STANDARD

    View full-size slide

  16. PRAXISSZENARIO
    COMMON REPORTING STANDARD
    24.04.2018 16

    View full-size slide

  17. 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

    View full-size slide

  18. 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

    View full-size slide

  19. 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

    View full-size slide

  20. 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

    View full-size slide

  21. 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

    View full-size slide

  22. 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

    View full-size slide

  23. 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

    View full-size slide

  24. 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

    View full-size slide

  25. KOMBINATION VON EINZELSATZ- UND
    MASSENSATZVERARBEITUNG
    24.04.2018 25
    Quelle: https://camunda.org/bpmn/examples/#bpmn-examples-monthly-invoicing

    View full-size slide

  26. BATCH NACH AUßEN – PROZESS NACH
    INNEN
    24.04.2018 26

    View full-size slide

  27. FAZIT
    24.04.2018
    Process-Engine und
    Batch koexistieren
    Lösungsmuster anhand
    Kriterien festlegen
    Eine Kombination ist
    möglich
    27

    View full-size slide