Datenschutz-Hinweis: Diese Website nutzt Cookies für Funktions-, Komfort- und Statistikzwecke. Um eine detaillierte Beschreibung der verwendeten Cookies einzusehen und bei Bedarf deren Speicherung anpassen, besuchen Sie bitte unsere Datenschutzerklärung.

English

Neues von SoftProject

Ab jetzt keine Neuigkeiten mehr verpassen! 
Melden Sie sich zu unserem kostenlosen X4 Newsletter an.

Lernen Sie uns persönlich kennen!

06.11.2018 – 07.11.2018 SoftProject meets Insurance + Anwendertag

Expertentipp zum JDBC Iterator: Ressourcen sparen bei Datenbankabfragen

In der Adventszeit gibt es viel zu tun – wie Pakete packen und festliche Schleifen schnüren. Das umfassendste Gesamtpaket zur Prozessautomatisierung bietet bekanntlich SoftProject mit der X4 Suite, die bald in Version 5.2 veröffentlicht wird. Eine besondere Schleife für ressourcensparende Datenbankabfragen ermöglicht der demnächst verfügbare JDBC Iterator – schon jetzt vorgestellt von SoftProject-Entwickler Matthias Glinka in diesem Expertentipp.

Alle Jahre wieder – Datenbanken abzufragen oder die Inhalte von Datenbanktabellen zu aktualisieren zählt zu den Routineaufgaben jedes X4-Prozessentwicklers. Umso wichtiger, dass dies schnell und fehlerfrei gelingt. Dazu stellt die X4 Suite für jeden Anwendungsfall die entsprechenden Adapter und Konnektoren für beliebige JDBC (Java Database Connectivity) Datasources bereit. So lassen sich innerhalb von X4-Integrationsprozessen SQL-Statements ausführen und deren Ergebnisse anschließend als strukturierte XML-Daten verarbeiten. Heute erfahren Sie, welche Möglichkeiten es gibt, Abfrageergebnisse mit Hilfe von Prozesschleifen iterativ, also beispielsweise zeilenweise, zu verarbeiten. 

Matthias Glinka


Software-Entwickler für die X4 Suite bei SoftProject

Lieber klassisch oder doch eher modern?

Der klassische Weg, um innerhalb Ihres X4-Prozesses Daten aus einer relationalen Datenbank iterativ abzufragen, besteht aus drei Prozess-Schritten: Zunächst ein Statement-Dokument mit den entsprechenden SQL-Anweisungen, ein vorkonfigurierter JDBC Connector und ein nachfolgender XPath Iterator. Der JDBC Connector erzeugt für die gesamte Ergebnismenge von SQL-Abfragen etc. ein XML-Ergebnisdokument. Dieses wird an den XPath Iterator übergeben, der auf Basis eines hinterlegten XPath-Ausdrucks einzelne Ergebnisse selektiert und gleichzeitig den Beginn einer Schleife markiert, um die einzelnen Datensätze schrittweise zu verarbeiten (siehe Abbildung 1).

Abbildung 1: JDBC Connector mit XPath Iterator-Schleife
Abbildung 1: JDBC Connector mit XPath Iterator-Schleife

Diese klassische Variante ist zwar sehr flexibel, um die gewünschte Ergebnisknoten innerhalb des XML-Dokuments treffsicher auszuwählen. Der JDBC Connector erzeugt aber auch für die gesamte Ergebnismenge ein XML-Dokument, das während der gesamten Prozesslaufzeit im Arbeitsspeicher gehalten werden muss.

Kurz und bündig mit dem neuen JDBC Iterator

Die moderne Variante zur schrittweisen Datenbankabfrage in X4-Prozessen nutzt den JDBC Iterator – ohne Aufpreis enthalten im kommenden Release 5.2 der X4 Suite. Dieser neue Adapter vereint für die meisten Anwendungsfälle die Funktionen des JDBC Connectors und eines XPath Iterators in einem Arbeitsschritt.

Als Basis dient der Adapter-Parameterwert fetchSize. Dieser beschränkt die Blockgröße, also die Anzahl der Ergebnisse pro Abfrage. Wie der XPath Iterator liefert der JDBC Iterator als Statuswert eine 1, wenn weitere Datensätze vorhanden sind, und den Status 0, wenn das Ende der Ergebnismenge erreicht wurde und die Schleife verlassen werden kann. 

Der JDBC Iterator gibt dabei lediglich das Abfragergebnis des jeweiligen Schritts aus und hält währenddessen die Datenbankverbindung geöffnet. Statt einem großen Ergebnisdokument wird nun in den einzelnen Durchgängen jeweils ein dediziertes Ergebnisdokument für die sofortige Verarbeitung ausgegeben. Das Setzen von Save Points empfiehlt sich übrigens erst nach Verlassen der Schleife, da im Iteratormodus die Datenbankverbindung geöffnet bleibt.

Der kompakte Abfragemodus mit dem JDBC Iterator spart also nicht nur Arbeitsspeicher-Ressourcen, sondern macht Ihr X4-Prozessmodell auch deutlich übersichtlicher (siehe Abbildung 2).

Abbildung 2: Der JDBC Iterator vereinfacht die iterative Datenbankabfrage
Abbildung 2: Der JDBC Iterator vereinfacht die iterative Datenbankabfrage

Tipp: Um den JDBC Iterator ohne Iteration auszuführen, können Sie dessen Parameter fetchSize auf den Wert 0 setzen. Dann verhält sich der Adapter wie der JDBC Connector: Er lädt die gesamte Ergebnismenge, erzeugt ein Gesamt-XML-Dokument und schließt die Datenbankverbindung direkt wieder. Auch vom Handling ist der Adapter gleich und verwendet dieselben Input-XML-Strukturen.

Ein Paket für alle Aufgaben

Ob ganz klassisch oder mit moderner Schleife – für die Modellierung von ausführbaren X4-Prozessen mit der X4 Suite benötigen Sie keine Java-Programmierkenntnisse oder verschiedene Entwicklungsumgebungen. Dank direkt lauffähiger Beispiele und Prozess-Patterns können Sie alle Integrationsaufgaben im X4 Designer grafisch modellieren und im gleichen Schritt umsetzen.

Weiterführende Informationen


X4 Adapter

Die verfügbaren Schnittstellen und Konnektoren für den X4 Enterprise Service Bus im Überblick

X4 Suite testen

Die aktuelle Version der X4 Suite 30 Tage kostenlos testen mit zahlreichen ausführbaren Praxisbeispielen und mitgelieferten Prozess-Patterns 

Zurück

Über uns


SoftProject GmbH

Die SoftProject GmbH ist ein unabhängiges Software-Haus mit Hauptsitz in Ettlingen bei Karlsruhe. Das im Jahr 2000 gegründete Unternehmen wächst überdurchschnittlich und beschäftigt heute rund 80 Mitarbeiter. Mehr als 300 Unternehmen weltweit setzen mittlerweile auf die SoftProject-Technologie „Made in Germany“.

Als Spezialisten für die Digitalisierung und Automatisierung von Geschäftsprozessen bietet SoftProject Lösungen und Services rund um ihr Kernprodukt, die X4 Suite. Zum Leistungsspektrum zählen außerdem Consulting, Training, Support sowie Hosting für Lösungen auf Basis der X4-Technologie.

© 2018 SoftProject GmbH