Flowable

adesso Blog

In der schnelllebigen Businesswelt von heute ist eine effiziente Datenmigration entscheidend für die Aufrechterhaltung eines reibungslosen Betriebs und für die Steigerung der Produktivität. Dieser Artikel befasst sich mit der praktischen Anwendung von Quarkus für die Migration einer grossen Anzahl an Daten und Dokumenten von einem Altsystem zu Flowable.

Durch den Einsatz von Quarkus als Migrationstool und Flowable APIs ist uns die Umstellung auf eine moderne, skalierbare und agile Plattform gelungen, die vollständig mit dem BPMN-Standard konform ist. Unser Fokus lag dabei auf der Systemleistung sowie darauf, das Tagesgeschäft des Kunden nicht zu beeinträchtigen. Lesen Sie, welche Herausforderungen wir bewältigt haben und welche Strategien dabei zur Anwendung gekommen sind.

Reibungslose Migrationen ermöglichen - für langanhaltenden Nutzen unserer Kund:innen

Vor Kurzem haben wir im Rahmen eines Citizen Development Programms für einen unserer Kunden an dessen strategischen Initiativen mitgewirkt. Der Kunde wollte eine überholte Altanwendung mit der Flowable-Plattform neu entwickeln und dabei das vorhandene Know-how und die benutzerdefinierten Komponenten innerhalb des Ökosystems nutzen. Dies war eine typische Ausgangssituation für unsere Projekte, abgesehen von ein paar Ausnahmen:

  • 1) Die Anwendung war öffentlich zugänglich
  • 2) Das Altsystem war seit mehreren Jahren in Betrieb, darum war die Migration (eines Teils) der Businessdaten sowie der relevanten Dokumente eine schwierige Anforderung

Um eine reibungslose Übertragung sicherzustellen, haben wir einen umfassenden Migrationsplan entwickelt, der alle notwendigen Aktivitäten und Massnahmen umfasste. Dieser Plan zielte darauf ab, die Datenintegrität zu schützen, die höchsten Qualitätsstandards zu garantieren und Betriebsstörungen zu vermeiden.

Der Umfang des Projekts war ambitioniert, doch schon während der Setup-Phase sind wir auf eine erhebliche Einschränkung gestossen: Wir hatten keinen direkten Zugang zur Flowable-Infrastruktur, einschliesslich der Datenbank. Unser einziger Kommunikationsweg mit Flowable führte über die von Flowable Work bereitgestellten APIs. Diese Einschränkung erforderte eine sorgfältige Planung und innovative Lösungen, um eine erfolgreiche Datenmigration zu gewährleisten, ohne dabei die Integrität und Leistung des neuen Systems zu beeinträchtigen.

Schnellere Bereitstellung, volle Kontrolle für Kund:innen

Die Architektur der neuen Lösung in Flowable wurde sorgfältig geplant, um die Möglichkeiten zur Speicherung geschäftsrelevanter Daten zu nutzen. Metadaten wurden systematisch in Flowable-Datenobjekten gespeichert, während Dokumente als Flowable Content Items verwaltet wurden. Diese strategische Entscheidung stellte sicher, dass alle relevanten Informationen innerhalb des Flowable-Ökosystems effektiv organisiert wurden, was einen optimierten Zugriff und eine effiziente Verwaltung ermöglicht hatte. Dieser Ansatz steht im Einklang mit unserem Citizen Development-Programm: Die IT-Abteilung der Organisation stellt die Plattform und die Werkzeuge zur Verfügung, mit denen die Benutzer:innen ihre eigenen Anwendungen mit Low-Code-Methoden erstellen können, während gleichzeitig der Bedarf an externen Systemen oder externer Infrastruktur reduziert wird.

Als Erstes haben wir nun den Migrationsplan entworfen und einige wichtige Schlüsselkennzahlen (KPIs) festgelegt, um die Qualität der Datenmigration zu bewerten und Massnahmen für das Rollback zu implementieren. Dabei haben wir mehrere Iterationen geplant, um Lernprozesse und Verbesserungen während des gesamten Vorgangs zu ermöglichen.

Unsere Methodik umfasste sorgfältige Tests und Validierungen in jeder Phase. Jede Iteration beinhaltete die Übertragung einer Teilmenge von Daten, gefolgt von umfassenden Qualitätsprüfungen und Leistungsbewertungen. Diese inkrementelle Strategie hat den Prozess unterstützt und ermöglichte eine rasche Anpassung an auftretende Herausforderungen.

Flowable

Abbildung 1: Ablauf der Migration

Unser Team hat Quarkus verwendet, um ein robustes und effizientes Migrationstool zu entwickeln. Als Java-Framework, das für schnelle Startzeiten und geringen Speicherbedarf bekannt ist, hat sich Quarkus als ideale Wahl erwiesen. Das Tool konnte nahtlos mit den Flowable-APIs verbunden werden, was eine sichere und genaue Datenübertragung ermöglicht hat. Besonderes Augenmerk lag darauf, die Datenkonsistenz und Datenintegrität während des gesamten Migrationsprozesses sicherzustellen.

Während der Migration sind wir auf mehrere Herausforderungen gestossen, darunter Diskrepanzen in den Datenformaten und -strukturen zwischen dem Altsystem und Flowable. Um diese zu beseitigen, implementierten wir Strategien zur Datentransformation und -zuordnung, sodass die Kompatibilität und Kohärenz der migrierten Daten gewährleistet wurde. Ausserdem haben wir einen Rollback-Mechanismus eingerichtet, um im Falle kritischer Probleme schnell zum vorherigen Zustand zurückkehren zu können.

Auch die Leistungsfähigkeit stellte eine Herausforderung dar. Die Übertragung einer so grossen Datenmenge erforderte mehrere Betriebsstunden. Um dieses Problem zu lösen, beschlossen wir, Strategien zu implementieren, die es ermöglichen, Arbeitsschritte parallel laufen zu lassen und so den Prozess zu beschleunigen. Wir haben Mutiny eingesetzt, um die Parallelisierung in Quarkus auszuführen, was die Effizienz unseres Migrationstools erheblich steigerte. Dieser Ansatz ermöglichte es uns, die Arbeitslast auf mehrere Threads zu verteilen, was die Gesamtmigrationszeit reduzierte und es uns ermöglichte, verschiedene Migrationstestläufe durchzuführen. Dieses Vorgehen stellte sicher, dass das Projekt im Zeitplan blieb.

Eine weitere Herausforderung betraf die Fähigkeiten der Ausführungsumgebung für das Migrationswerkzeug. Diese waren aufgrund der vom Kunden auferlegten Sicherheitsprotokolle eingeschränkt. Wir hatten Zugang zu einer Docker-Umgebung und haben einen Testcontainer implementiert, der mit Quarkus lief, um die Datenextraktion aus dem Datenbank-Dump des Altsystems zu erleichtern. Dieses Setup ermöglichte eine effiziente Extraktion der für die Migration relevanten Daten unter Verwendung von Hibernate und JPA (in der Quarkus-Variante „Panache“). Darüber hinaus wurde der Lebenszyklus des Testcontainers eng mit dem Lebenszyklus der Java-Anwendung gekoppelt, um das ordnungsgemässe Herunterfahren beim Ausführungsende sicherzustellen. Das folgende Diagramm veranschaulicht dies.

Flowable

Abbildung 2: Architektur des Migrationstools

Darüber hinaus haben wir einen ausgeklügelten Rollback-Mechanismus entwickelt und implementiert, um sicherzustellen, dass alle während des Migrationsprozesses vorgenommenen Änderungen rückgängig gemacht werden können. Dieser Mechanismus nutzte detaillierte Trace- und Log-Dateien, um eine gründliche Bereinigung der Umgebung zu ermöglichen. Diese Rollback-Funktion erwies sich als besonders vorteilhaft für die Durchführung mehrerer Migrationsversuche und ermöglichte es uns, den gesamten Prozess auf sichere Weise zu verfeinern und zu optimieren.

Fazit

Trotz der Komplexität des Projekts konnten wir dank unserer sorgfältigen Planung, kombiniert mit unserem adaptiven und iterativen Ansatz, einen reibungslosen und erfolgreichen Datenmigrationsprozess für unseren Kunden sicherstellen. Mit der Umstellung auf Flowable haben wir nicht nur die Anwendungslandschaft des Kunden modernisiert, sondern ihn auch in die Lage versetzt, die vollen Möglichkeiten einer BPMN-konformen Plattform zu nutzen und seine Kundenstrategie im Rahmen des Citizen Development-Ansatzes voranzutreiben. Unsere Datenmigrationsstrategie hat sich als zuverlässig, skalierbar und genau erwiesen, so dass unser Kunde iterativ verschiedene Datenmigrationsvarianten durchführen sowie die Qualität der Daten überprüfen kann und während der Produktion ein verlässliches Verhalten des Datenmigrationsprozesses gewährleistet bekommt.

Sprechen Sie uns gerne an, falls Sie weitere Details zu diesem Projekt erfahren möchten. Unser Competence Center „Business Automation” verfügt über eine umfangreiche Erfahrung in Datenmigrationsprojekten.


Mehr zum Thema

  • Service Sheet

    Citizen Development mit adesso

    Erfahren Sie, wie Sie mit Citizen Development Ihre Teams befähigen, smarte Lösungen schneller zu entwickeln, während Sie die Agilität steigern und IT-Engpässe reduzieren. Mehr erfahren

  • Webseite

    Steigern Sie die Effizienz mit Prozessautomatisierung

    Business Process Automation kann Ihre Abläufe optimieren, wiederkehrende Aufgaben eliminieren und Ihr Unternehmen für langfristigen Erfolg in einer zunehmend digitalen Welt auslegen. Mehr erfahren

  • Success Story

    Prozessautomatisierung bei PostFinance

    Erfahren Sie, wie wir PostFinance befähigt haben, Kerngeschäftsprozesse zu automatisieren, die Effizienz zu steigern und den Grundstein für eine nachhaltige digitale Transformation zu legen. Mehr erfahren

  • Webseite

    Verwandeln Sie Daten in Unternehmenswert mithilfe von KI

    Entdecken Sie, wie KI-gesteuerte Datenstrategien Informationen in Aktionen umwandeln können, um Erkenntnisse zu gewinnen, die Leistung zu steigern und einen echten Mehrwert für Ihr Unternehmen zu schaffen. Mehr erfahren

Bild Gianluca Colaianni

Autor Gianluca Colaianni

Gianluca Colaianni ist seit 2021 als Managing Consultant & Team Leader bei adesso Schweiz tätig. Er ist verantwortlich für den Bereich Hyperautomation im Competence Center „Business Automation” mit Fokus auf Java-Technologien, Frontend, Mobile und Testautomatisierung.

Kategorie:

Softwareentwicklung

Schlagwörter:

-