Datenzuordnungs-REST-Webdienste
MapForce 2016 Release 2 bietet erweiterte Funktionen für die Datenzuordnung von Webdiensten und bietet umfassende Unterstützung für REST-Webdienste. MapForce akzeptiert XML oder JSON als Antwort des Webdienstes, ermöglicht die Definition von Parametern und unterstützt benutzerdefinierte HTTP-Header. Benutzer können die Webdiensterschnittstelle manuell definieren oder Einstellungen aus einer WADL-Datei oder einer URL importieren. Die manuelle Definition von REST-Webdiensteinstellungen ermöglicht es Entwicklern, Einstellungen basierend auf einer Vorlagen-URL zu erstellen. Dies ist ein praktischer Schritt, wenn Entwickler REST-Aufrufe in einem Webbrowser testen und verfeinern, da die URL vom Browser kopiert und als Vorlage verwendet werden kann.

Wir haben bereits festgestellt, dass die von GPS-Systemen erfassten Koordinaten präzise sind, aber die Höhendaten sind bekanntermaßen ungenau. Das USGS bietet einen REST-Webdienst an, der Anfragen entgegennimmt, die Längengrad und Breitengrad enthalten, und präzise Höhendaten liefert, entweder im XML- oder JSON-Format. Wir können diesen Webdienst in einer MapForce-Datenzuordnung verwenden, um GPS-Daten von einem Garmin-Gerät zu aktualisieren und gleichzeitig das Datenformat von XML in JSON zu konvertieren.
Wir beginnen damit, den Web-Dienst in einem Browserfenster zu testen. Die unten angegebene URL öffnet ein Eingabeformular, mit dem eine Beispielabfrage generiert werden kann:

Wenn wir auf die Schaltfläche "Höhe abrufen" klicken, generiert das Formular eine vollständige REST-GET-Abfrage, sendet diese und zeigt das Ergebnis anschließend unterhalb des Formulars an. Wir können dieses Ergebnis nutzen, um die Antwort für unsere Datenzuordnung zu modellieren.

Wir fügen den Web-Dienst zu unserer Mapping-Konfiguration hinzu, indem wir auf die Schaltfläche "Web-Dienst-Funktion einfügen" in der MapForce-Symbolleiste klicken. Dadurch öffnet sich das Dialogfenster "Web-Dienst-Einstellungen", in dem wir die URL des USGS-Dienstes angeben.

Als Nächstes müssen wir die Anfrageparameter und den Antwortkörper definieren. Diese Definitionen bilden die Grundlage für die Zuordnung, wie im folgenden Abschnitt des Dialogfensters "Anrufeinstellungen" gezeigt.

Wir haben in XMLSpy bequem ein JSON-Schema generiert, um die Antwort zu definieren, basierend auf der JSON-Instanzdatei, die aus dem Browserfenster gespeichert wurde. Im Folgenden ist die XMLSpy-Schemaansicht der konvertierten Antwort dargestellt:

Das Eingabeformular des Höhenmessdienstes der USGS enthielt alle Informationen, die wir benötigen, um die Eingabeparameter zu definieren. Diese können wir nun im nächsten Abschnitt des Dialogfensters "Anrufeinstellungen" hinzufügen:

Die Einheiten und Ausgabewerte für jede Anfrage ändern sich während der Ausführung nicht, und wir hätten feste Werte festlegen können. Stattdessen werden wir diese Werte als Konstanten in der Zuordnung bereitstellen. Alle erforderlichen Sicherheitseinstellungen werden ebenfalls im Dialogfenster "Aufrufeinstellungen" konfiguriert. Wenn wir auf "OK" klicken, um das Dialogfenster zu schließen, wird die Web-Service-Funktion zur Zuordnung hinzugefügt.

Jeder Wegpunkt in der Quelldatei im GPX-Format liefert eine Reihe von Koordinaten. Während der Kartenerstellung sendet eine Web-Service-GET-Anfrage bei jeder Verarbeitung eines Wegpunkts eine Anfrage an die USGS, und die Antwort liefert aktualisierte Höheninformationen.
Jetzt müssen wir lediglich Elemente der Anfrage und der Antwort mit den Eingabe- und Ausgabekomponenten verbinden, wie unten dargestellt. Die Konstanten für die Einheiten und den Ausgabetyp sind oben links zu sehen, und der Höhenwert wird auf zwei Dezimalstellen gerundet, bevor er in die Ausgabe eingefügt wird.

Bitte beachten Sie, dass die Ausgabe eine JSON-Datei ist. Das Eingabekomponente wird in dieser Teilansicht der Zuordnung nicht angezeigt, handelt sich aber um eine Standard-GPX-Datei im XML-Format. Die Datenzuordnungsverbindungen, die von links kommen, hinter der Webdienstoffunktion in der Abbildung verlaufen und mit dem Ausgabekomponenten verbunden sind, repräsentieren alle Werte, die ohne Änderung von der XML-Eingabe in die entsprechenden JSON-Elemente kopiert werden.
Wenn wir auf die Schaltfläche "MapForce-Ausgabe" klicken, wird die Transformation ausgeführt und eine JSON-Datei generiert, wie in der hier gezeigten Ansicht zu sehen ist:

In einer Produktionsumgebung können wir die Zuordnung als MapForce-Ausführungsdatei speichern, um eine automatisierte Verarbeitung durch den MapForce-Server zu ermöglichen, entweder über die Befehlszeile oder unter der Steuerung des FlowForce-Servers.
Altova MapForce ist ein preisgekröntes, grafisches Werkzeug für die Datenzuordnung, -konvertierung und -integration, das Daten zwischen beliebigen Kombinationen von XML, Datenbanken, EDI, XBRL, einfachen Textdateien, Excel, JSON und/oder Webdiensten verarbeiten kann. Laden Sie eine voll funktionsfähige Testversion herunter und testen Sie es selbst!