Komplexe Datenbank-Mappings

Als Ergänzung zu den Datenbank-Mapping- und Integrationsfunktionen bietet MapForce ein Datenbankabfrageregister zur Durchführung direkter Datenbankabfragen. Wenn Sie über das Datenbankabfrageregister eine Verbindung zu einer Datenbank herstellen, werden ihre Tabellen im Browser-Fenster von MapForce in einer hierarchischen Struktur angezeigt.

MapForce Datenbankabfrage

Anschließend können Sie über das SQL Editor-Register SQL- oder SQL/XML-Anweisungen anzeigen, bearbeiten und ausführen - entweder durch Öffnen bestehender SQL-Dateien oder durch Neuerstellung von SQL-Anweisungen mittels der Drag-and-Drop und Autokomplettierungsfunktionen.

Sie können Ihr SQL Script ausführen, die Ergebnisse in tabellarischern Form anzeigen und die abgerufenen Daten und das SQL Script in separaten Dateien speichern.

Datenbankschlüssel-Einstellungen

Mit Hilfe der Datenbankschlüssel-Einstellungen können Sie in MapForce einstellen, wie Primär- und Sekundärschlüsselwerte zu einer als Zielkomponente für ein Datenmapping verwendeten Datenbank hinzugefügt werden sollen. Dabei haben Sie die Möglichkeit, entweder in MapForce Werte für Schlüssel zu definieren oder die Werte automatisch vom Datenbanksystem generieren zu lassen.

In Situationen, in denen Primär- und/oder Sekundärschlüsselbeziehungen in Ihren Datenbanktabellen nicht explizit definiert sind, können Sie mit MapForce diese Beziehungen inline ohne Auswirkung auf die Quelldaten definieren.

Definition von Datenbankaktionen

Beim Mappen auf eine Datenbank können Sie in MapForce Datenbankaktionen auswählen, mit denen Sie steuern können, wie Daten in die Datenbank geschrieben werden. Damit haben Sie volle Flexibilität, um die komplexesten Datenverwaltungsaufgaben zu automatisieren.

Über das einfach zu verwendende Dialogfeld "Datenbankaktionen" können Sie die Spalten in der ausgewählten Tabelle definieren, anhand derer Sie festlegen, welche Aktion (INSERT, UPDATE, DELETE) an der Datenbank ausgeführt werden soll.

Dank dieser Funktion stehen Ihnen in MapForce noch nie dagewesene Möglichkeiten zur Bearbeitung von Datenbankzeilen bei der Integration von XML-, PDF-, Datenbank-, EDI-, XBRL-, Flat File-, Excel-, JSON-, JSON5-, Protocol Buffers-, Webservice- oder anderen Datenbankdaten zur Verfügung.

Gespeicherte SQL-Prozeduren

MapForce bietet solide Unterstützung für gespeicherte Prozeduren als Input-Komponenten (Prozeduren, die Ergebnisse liefern) oder Output-Komponenten (Prozeduren, die Daten einfügen oder aktualisieren). Gespeicherte Prozeduren können auch als funktionsähnlicher Aufruf eingefügt werden, wodurch Input-Daten definiert, die gespeicherte Prozedur ausgeführt und die Output-Daten gelesen und auf andere Komponente gemappt werden können.

In dieser Abbildung sehen Sie das Mapping einer gespeicherten Prozedur in SQL Server, um eine XML-Datei zu erstellen. Die Prozedur gibt eine Datentabelle zurück, in der alle Manager in der Weisungskette oberhalb der als Input-Parameter angegebenen Mitarbeiter-ID angezeigt werden - in diesem Beispiel die Konstante 67.

Der Parameter könnte anders, z.B. als berechneter Wert oder als von anderswo in der Datenbank abgerufenes Datenelement geliefert werden.

MapForce verfügt über ein Kontextmenü, über das die gespeicherte Prozedur ausgeführt werden kann, damit die für das Mapping verwendete Datenstruktur sichtbar wird: Das gezeigte Mapping generiert die XML-Ausgabe.

Gespeicherte Prozedur in MapForce

Mappen von XML in Datenbankfeldern

Neben umfangreichen XML-Mapping-Funktionalitäten ermöglicht MapForce auch das Mappen von in relationalen Datenbankfeldern gespeicherten XML-Daten (Unterstützung derzeit für SQL Server & IBM DB2). Sie weisen dem Feld einfach ein XML-Schema zu - entweder ein in der Datenbank registriertes oder eines aus Ihrem lokalen Dateisystem - und MapForce stellt das Schema zu Mappingzwecken als Substruktur des Datenbankfelds dar.

Sortieren von Datenbank-Input-Komponenten

Nicht immer jedoch genügt bei komplexen Datenmapping-Aufgaben eine einfache SQL-Abfrage innerhalb einer Datenbank. Für solche Zwecke oder wenn sich andere Daten oder Bedingungen im Mapping auf die Sortierreihenfolge auswirken, bietet MapForce mit der SQL-WHERE/ORDER-Komponente für Datenbank-Input zusätzliche Datenbanksortierfunktionen.

Unterstützung für NULL-Werte in Datenbankaktionen

Das Dialogfeld "Datenbankaktionen" unterstützt den Vergleich von NULL-Werten. Dies erleichtert die Arbeit mit Datenbanken, die Nullwerte enthalten. In MapForce können Datenbankmappings so konfiguriert werden, dass Datenvergleiche gemäß den Regeln für die im Mapping verwendeten Datenbanken NULL-fähig durchgeführt werden.

Mit dem Datenmapping rechts soll die Zieltabelle aktualisiert werden, ohne dass doppelte Einträge eingefügt werden. Beide Tabellen erlauben laut Definition NULL im Feld "email", daher könnten in jeder Tabelle übereinstimmende Datensätze mit NULL-Email-Feldern vorhanden sein.

Durch Klick auf das Aktionssymbol neben der Datenbank "TARGET" rufen Sie das Dialogfeld "Datenbankaktionen" auf. Wenn das Kontrollkästchen "NULL equal" neben dem Feld "email" aktiviert wird, werden NULL-Werte in der Quell- und Zielkomponente im Datenmapping als gleich behandelt, auch wenn sie laut Datenbankregeln nicht identisch sind.

Null-fähiges Datenmapping in MapForce

Unternehmens-ETL

ETL (Extract-Transform-Load)-Tools dienen zum Extrahieren von Daten aus externen Quellen, zum Transformieren dieser Daten in ein normalisiertes Datenformat und zum anschließenden Laden der Daten in eine Zieldatei oder ein Speichersystem.

Dank seiner Unterstützung für die gebräuchlichen Unternehmensdatenformate (XML, Datenbanken, PDF, Flat Files, EDI, usw.) ist MapForce ein extrem effektives, schlankes und skalierbares ETL-Tool. Über die übersichtliche visuelle Benutzeroberfläche können Sie beliebige unterstützte Mapping-Strukturen laden und Nodes anschließend mit Hilfe von Drag-and-Drop verbinden, Datenverarbeitungsfunktionen und Filter hinzufügen oder mit Hilfe des visuellen Function Builder komplexere ETL-Projekte erstellen.

MapForce ETL

Anstatt die visuelle Benutzeroberfläche zu nutzen, können Sie MapForce auch über eine flexible Java- oder COM-basierte API aufrufen, womit Ihnen eine integrierte Automationsebene für Ihre ETL-Implementierungen zur Verfügung steht.

Verarbeitung von ETL-Daten

Mittels Drag-and-Drop-Funktionen können Sie in MapForce Ihre ETL-Datenstrukturen ganz einfach miteinander verknüpfen.

Über eine integrierte Funktionsbibliothek können Datenverarbeitungsfilter und Funktionen hinzugefügt werden und mit Hilfe des visuellen Function Builder können mehrere Inline- und/oder rekursive Operationen zu komplexeren ETL- oder Datenintegrationsprojekten kombiniert werden oder sogar für die Verwendung in anderen Mapping-Projekten gespeichert werden.

MapForce unterstützt auch komplexe ETL-Szenarios mit mehreren Input- und Output-Schemas, mehreren Quell- und/oder Zieldateien oder komplexen Datentransformationen in mehreren Schritten.

Direkter Datei-Input und -Output (Datenstreaming)

Durch die Unterstützung von Datenstreaming und die Möglichkeit, Input aus beliebig großen XML-, CSV- und FLF-Dateien sowie relationalen Datenbanken zu streamen und auch die Ausgabe in ebenso große XML-, CSV- und FLF-Dateien zu streamen oder in eine Datenbank einzufügen, lässt sich die Performance Ihrer ETL-Projekte immens steigern.

Durch diese integrierte Funktion kann MapForce nun auch extrem große Ausgabedateien problemlos verarbeiten. Die einzige Einschränkung bildet nur mehr der verfügbare Arbeitsspeicher auf Ihrem Rechner.

Um diese Funktion zu aktivieren, klicken Sie einfach in der Symbolleiste im MapForce Design-Fenster auf die Schaltfläche BUILTIN.

Dank der Unterstützung für Bulk-Einfügungen in Datenbanken sowie direktes Daten-Streaming eignet sich MapForce Server auch ideal für die Ausführung von ETL-Datenmappings.

Datenmapping von Webservices

MapForce unterstützt den Aufruf von SOAP- und REST-Webservices direkt über ein Mapping. Sie können einen Webservice-Aufruf in ein Mapping einfügen und Input-Parameter sowie Benutzername/Passwort oder eine andere Authentizierung definieren. Um das Ergebnis an eine andere Komponente zu übergeben oder es in eine Datei zu schreiben, verbinden Sie die Output-Parameter mit dem Webservice.

MapForce unterstützt auch generische HTTP-Webservices, die normalerweise im Message Body benutzerdefinierte Request- oder Response-Strukturen übertragen. MapForce unterstützt sowohl JSON- als auch XML-Daten im Request oder Response Body, sodass Sie praktisch jeden HTTP-Webservice, in dem XML- oder JSON-Strukturen verwendet werden, aufrufen können.

MapForce Webservice

Die Einstellungen können auf Basis einer Vorlagen-URL vorgenommen werden. Dies ist ein hilfreicher Schritt, wenn Sie Webservice-Aufrufe in einem Webbrowser-Fenster testen und anpassen möchten.

Sie hätten gerne ein konkretes Anwendungsbeispiel? Hier finden Sie eine ausführliche Anleitung zur Integration von Webservice-Daten.

Unterstützung für Webservices Security

MapForce unterstützt die Authentifizierung auf Basis des WS-Security-Standards mittels Client-Zertifikaten und durch Aufruf von Webservices über HTTPS. Die Parameter für die sichere Kommunikation werden im Rahmen des Datenmappings definiert, sodass die Ausführung automatisch erfolgt.

Visuelle Entwicklung von Webservices

Altova MapForce bietet Funktionen zum Erstellen von Webservices anhand von WSDL 1.1/2.1-Dateien und XML-, PDF-, Datenbank-, Flat File, XBRL-, Flat File-, Excel- und/oder JSON-Datenquellen.

WSDL (Web Services Description Language) ist eine XML-basierte Sprache zum Beschreiben und Auffinden von Webservices, in denen Daten mittels XML-basierter Nachrichten zwischen Applikationen ausgetauscht werden. MapForce unterstützt visuelles WSDL-Mapping mittels Drag-and-Drop auf Basis von WSDL 1.1 oder 2.0. WSDL arbeitet Hand in Hand mit SOAP, wobei WSDL den Webservice und seine Funktionen definiert, während SOAP das von der Client-Anwendung verwendete Transportprotokoll ist, das die in der WSDL-Beschreibung aufgelisteten Funktionen dann tatsächlich aufruft. Eine WSDL-Datei besteht aus mehreren Transaktionen, von denen jede ein SOAP Request Schema und ein SOAP Response-Schema enthält.

Um einen Webservice auf Basis einer WSDL-Datei zu implementieren, muss normalerweise Code zum Aufrufen der für die einzelnen Transaktionen benötigten Daten geschrieben werden. MapForce automatisiert diesen Vorgang durch visuellen Verbinden von Datenquellen und Operationen. Anhand des fertigen visuellen Mappings generiert MapForce automatisch den C#- oder Java-Code für die Implementierung des Service auf einem Server.

XBRL-Datenmapping

Extensible Business Reporting Language (XBRL) ist eine XML-basierte Markup-Sprache für die elektronische Übertragung von Geschäfts- und Finanzdaten.

MapForce unterstützt XBRL-Taxonomien als Quelle und Ziel jedes beliebigen Mappings, wodurch Backend-Buchhaltungsdaten grafisch in ein passendes Format transformiert werden können, ohne dass dadurch die semantische oder strukturelle Integrität beeinträchtigt würde. So können Berichtsdaten nun für die Finanzanalyse integriert werden.

MapForce XBRL-Mapping

Dank der Unterstützung für Mapping-Ausführungsdateien, der Codegenerierung in Java, C# oder C++ und der Automatisierung über MapForce Server können Sie die Konvertierung von Finanzdaten auf Basis des grafischen Mapping-Designs automatisieren. Die Einreichung von Finanzdaten wird dadurch zu einem wiederholbaren und besser zu verwaltenden Prozess, da Sie so ganz nach Bedarf gültige XBRL-Berichte anhand der in den Feldern des Buchhaltungssystems gespeicherten Daten erzeugen können.

Erstellen von XBRL-Mappings

Um auf Basis einer bestehenden Taxonomie ein XBRL-Mapping zu erstellen, fügen Sie Ihre Taxonomiestruktur einfach in das MapForce-Design-Fenster ein. Daraufhin wird eine grafische Darstellung der Dateistruktur mit Taxonomie-Concepts, Hypercubes, Abstract Elements, Periods, Identifiers usw. mit intuitiven Symbolen angezeigt.

Die Struktur- und Semantikinformationen für die XBRL-Komponente werden aus der dazugehörigen Linkbase abgerufen und in einer leicht interpretierbaren Hierarchie angezeigt, die je nach Bedarf erweitert oder reduziert werden kann.

Filtern und Verarbeiten von XBRL-Daten

MapForce bietet flexible Unterstützung für das Filtern und Verarbeiten von Daten mittels komplexer Verarbeitungsfunktionen auf Basis von Booleschen Bedingungen oder für die Bearbeitung von Daten während der Konvertierung vom Quell- ins Zielformat.

Da XBRL-Daten eine flache Struktur haben, müssen die Quelldaten oft mit Hilfe von Gruppierungsfunktionen in Gruppen zusammengefasst werden, die dann weiter verarbeitet werden, um die Daten in eine hiearchische Struktur umzuwandeln. Dies wird durch Gruppierungsfunktionen in der MapForce-Funktionsbibliothek erleichtert.

1:n-Mappings und verkettete Datenmappings

MapForce ist ein extrem flexibles Datenmappingtool für komplexe Datenintegrations- und -konvertierungsprojekte. Als Input- und Zielkomponente eines Datenmappings können gemischte Formate wie z.B. jede Kombination vom XML-, Datenbank-, PDF-, Flat File-, EDI-, Excel-, XBRL- und Webservice-Daten verwendet werden. Dabei können eine Input-Komponente auf eine Output-Komponente, ein Input auf mehrere Outputs, viele Quelldaten auf eine Zielkomponente oder viele Quellkomponenten auf viele Zielkomponenten, alle in unterschiedlichen Formaten gemappt werden.

Verkettetes Mapping in MapForce

MapForce ermöglicht die Integration von Daten aus mehreren Dateien und das Aufteilen von Daten aus einer Datei auf mehrere. Mit Hilfe von Platzhalterzeichen (z.B. ? oder *) in Dateinamen, einer Datenbanktabelle, automatischen Nummerierungssequenzen oder anderen Methoden können mehrere Dateien definiert werden. Diese Funktion eignet sich für die verschiedensten Szenarien. So müssen z.B. manchmal Daten aus einer Datensammlung integriert werden oder es muss für jeden Datensatz der Haupttabelle in einer großen Datenbank eine separate XML-Datei generiert werden.

Auch Dateinamen können als Parameter in Ihren Datenintegrationsprojekten verwendet werden. Auf diese Art können Sie dynamische Mappings erstellen, in denen die jeweiligen Dateinamen zur Laufzeit definiert werden.

Verkettetes Datenmapping

Verkettete Transformationen ermöglichen die Erstellung komplexer Mappings, in denen der Output eines Mappings zum Input eines anderen wird. Dies ist eine weitere leistungsstarke Funktion für die Ausführung vollständig automatisierter Transformationen in MapForce. Jede verkettete Komponente wird zu einem Modul in einer unabhängigen Transformationssequenz und ermöglicht dadurch on-the-fly-Konvertierungen.

Bei verketteten Datentransformationen können beliebig viele Mapping-Komponenten verwendet werden, die mit einer Endkomponente verbunden sind. Genau wie für das Endresultat des Mappings kann auch für Zwischenkomponenten eine Vorschau angezeigt bzw. Code generiert werden.

Ausgabevorschau

Bei Generierung mehrerer dynamischer Ausgabedateien hat jede Datei ihr eigenes nummeriertes Fenster in der Ausgabevorschau. Alle Ausgabedateien können in einem einzigen Schritt gespeichert werden.

Bei verketteten Mappings und Mappings, die mehrere Ausgabekomponenten erzeugen, können Sie die Komponente der Ausgabevorschau zuweisen.

Datenmapping-Dokumentation

MapForce wird oft in Teams bestehend aus Entwicklern und technisch nicht versierten Fachleuten verwendet, um die verschiedensten komplexen Daten von und auf XML-Dateien, Datenbanken, Flat Files, EDI, Excel, XBRL und Webservices zu mappen. Sie haben in MapForce die Möglichkeit, eine ausführliche Dokumentation zu Ihren Datenmappings zu generieren, sodass Designer und Datenintegrationsspezialisten Ihre Mappings für andere Abteilungen und/oder Kunden dokumentieren können und gemeinsam überprüfen können, ob die Daten korrekt gemappt wurden.

Dokumentationsgenerierung in MapForce

Die generierte Dokumentation verschafft Ihnen einen Überblick über alle Mapping-Inputs und Outputs und enthält Details zu den Verbindungen und den angewendeten Funktionen und Filtern.

Dies ist eine unersetzliche Funktion für komplexe Datenintegrations- und Konvertierungsprojekte, in denen die Komplexität aller gemappten Formate den QA-Teams, Fachleuten und anderen Projektbeteiligten oft nicht bekannt ist.

Zur Verbesserung Ihrer Datenmapping-Dokumentation können Sie in MapForce Anmerkungen zu jeder beliebigen Mapping-Verbindung hinzufügen.

Diese Anmerkungen werden im Mapping angezeigt, um Schritte und andere Erklärungen für andere Mitglieder des Projektteams zu beschreiben.

Integration mit StyleVision

Dank der Integration mit StyleVision lassen sich MapForce XML- und XBRL-Datenmapping-Projektausgabedateien durch Verknüpfung mit einem Vorlagendesign automatisch in HTML, RTF, PDF und Word darstellen. Durch Kombination der Datenmapping-Funktionen von MapForce mit den Layoutoptionen von StyleVision können Sie die Generierung von Berichten automatisieren.

MapForce-StyleVision-Integration

Wenn Ihrem Datenmapping ein Stylesheet zugewiesen wurde, sehen Sie durch einfachen Klick auf das jeweilige Register (HTML, RTF, PDF oder Word 2007+) eine Ausgabevorschau. (StyleVision muss auf Ihrem Computer installiert sein.)

Quellcode zur Datenkonvertierung

Nachdem ein Projekt in MapForce erstellt und getestet wurde, kann es von MapForce Server ausgeführt werden, um Geschäftsprozesse, für die wiederholte Datentransformationen erforderlich sind, zu automatisieren.

Alternativ dazu kann MapForce die Datenintegration und wiederholt auftretende Geschäftsprozesse durch Generierung von Programmcode für komplexe immer wieder ausgeführte Datenmappings automatisieren.

MapForce enthält einen integrierten Code Generator, der automatisch anhand von XML-Schema-Definitionen, Datenbanken, Flat Files, EDI-Konfigurationsdateien, Excel-Arbeitsmappen und XBRL-Taxonomien Java-, C++ oder C#-Klassendateien generieren kann.

MapForce Codegenerierung

Das Ergebnis ist eine komplette Applikation, die die Mapping-Operationen für Sie durchführt. Sie können die Applikation direkt ausführen, den generierten Code in Ihre eigenen Applikation einfügen oder ihn durch ihre eigenen Funktionalitäten ergänzen.

Sie können den generierten Code direkt bearbeiten, um z.B. Ihre eigenen Quell- oder Zieldateien zu definieren, einen XML-Input-Stream als XML-Datenquelle zu verwenden oder Fehlerbehandlungscode hinzuzufügen.

Funktionen zur Generierung von MapForce Quellcode:

  • Lizengebührenfreier Java-, C++ und C#-Quellcode anhand von Datenmappings
  • Im Mapping enthaltene Datenverarbeitungsfunktionen werden im Quellcode implementiert
  • MapForce Built-In-Prozessor zur Vorschau auf das Ergebnis der Quellcodeausführung
  • Einfaches Aktualisieren von Code durch Ändern des zugrunde liegenden Datenmappings

Die Möglichkeit Programmcode in mehreren Programmiersprachen zu generieren kann sich bei XML-Transformationen in geschäftskritischen Datenmappings und -konvertierungen als extrem nützlich erweisen, da Sie dadurch blitzschnell Datenintegrationsoperationen in Quellcode, den Sie zu Ihren eigenen Applikationen kompilieren können, implementieren können.

Anpassen der Codegenerierung

Der generierte Ausgabecode kann mit Hilfe einer einfachen aber wirkungsvollen Template-Sprache komplett angepasst werden.

Der zugrunde liegende Parsing- und Validierungsprozessor kann einfach ersetzt werden, Code kann Ihren Vorgaben entsprechend angepasst werden und es stehen unterschiedliche Basisbibliotheken wie Microsoft Foundation Classes (MFC) und die Standard Template Library (STL) zur Verfügung. Sie können Ihren Code sogar mit Daten-Streams für Input und Output konfigurieren.