Vermeiden Sie unnötige Datenintegrationen
Das Internet stellt riesige Datenmengen für eine Vielzahl interessanter Anwendungen bereit. Aber jedes Mal, wenn Sie eine einzigartige Analyse und Präsentation von Informationen erstellen, die Sie nicht selbst kontrollieren, besteht das Risiko, dass der Eigentümer irgendwann in der Zukunft die gleiche Darstellung anbietet, wodurch Ihre Anwendung sofort überflüssig wird.
Genau das ist bei unserem Groupon-API-Datenanalyseprojekt passiert, über das wir ursprünglich am 1. August 2011 berichteten. Glücklicherweise basiert der Kern unseres Projekts auf einer grafischen Datenzuordnung mit MapForce. Wir können die Zuordnung schnell und einfach anpassen und für die Darstellung eines völlig anderen Datensatzes wiederverwenden, der neuen Mehrwert bietet.

Unser Projekt begann, als wir feststellten, dass Groupon-Angebote nur in wenigen einzelnen Standorten verfügbar waren, aber online eingelöst werden konnten, um physische Produkte zu bestellen, die fast überallhin verschickt werden konnten.
Wir haben MapForce verwendet, um die Groupon-API abzufragen und alle Angebote von allen Groupon-Standorten abzurufen. Anschließend haben wir die Angebote, die als Online-Angebote klassifiziert waren, herausgefiltert und sie in einer HTML-Seite dargestellt, die elegant von Altova StyleVision für Desktop- und mobile Geräte formatiert wurde.
Der neu hinzugefügte Bereich "Produkte" am oberen Rand der Groupon-Webseite macht unsere ursprüngliche Datenstruktur überflüssig, da er sofortigen Zugriff auf Artikel zum Verkauf aus vielen verschiedenen Standorten bietet.

Noch schlimmer ist, dass, da viele der gleichen Produkte fast überall bei Groupon angeboten werden, unsere Karten nun Dutzende von Duplikaten erzeugen.
Nutzen Sie die Anwendung erneut
Wenn man das Ganze etwas abstrakter betrachtet, bleibt die ursprüngliche Begründung für unser Projekt gültig: Groupon organisiert und präsentiert Angebote basierend auf einer geografischen Suche, aber es gibt Fälle, in denen ein Angebot attraktiver ist als der Ort selbst. Nehmen wir zum Beispiel an, eine Reise nach Allentown, Pennsylvania, steht vielleicht nicht auf Ihrer Wunschliste, aber was, wenn Sie von einem Groupon-Angebot wüssten, bei dem Sie einen Ferrari, Lamborghini oder Aston Martin für die Hälfte des üblichen Preises fünf oder zehn Runden auf der Rennstrecke von Pocono fahren können?
Das Angebot von Ferrari ist kein Online-Angebot und wird daher nicht unter dem Reiter "Produkte" aufgeführt, und es wird auch nicht von unserer MapForce-Datenzuordnung ausgewählt. Als neues Ziel für unser Zuordnungsdesign möchten wir alle Groupon-Angebote aus allen Standorten sammeln, die NICHT als Online-Angebote klassifiziert sind. Es gibt wahrscheinlich viele interessante Dinge zu tun an Orten, die einem vielleicht nicht sofort in den Sinn kommen. Hier ist der Abschnitt unserer ursprünglichen Datenzuordnung, der die Datenantwort von der API filterte, um Online-Angebote auszuwählen:

Die Funktion "contains" im Zentrum des Screenshots prüft, ob ein Element mit dem Namen "redemptionLocation" in der Angebotsbeschreibung das Wort "Online" enthält, was darauf hindeutet, dass es sich um ein Online-Angebot handelt. Das Angebot wird nur dann zur weiteren Verarbeitung weitergeleitet, wenn das Ergebnis "wahr" ist.
Die logische "UND"-Funktion oben rechts kombiniert Online-Angebote mit einer Prüfung des Elements "isSoldOut", um nur die Angebote auszuwählen, die noch verfügbar sind ( isSoldOut = falsch).
Wir können den Datensatz, der bereits erfasst wurde, sehr einfach umkehren, indem wir eine logische "Nicht"-Funktion hinter die Funktion "enthält" einfügen. Die neue Zuordnung wählt alle Angebote aus, die das Wort "Online" NICHT im Element "redemptionLocation" enthalten.

Da sich die Struktur der Daten nicht ändert, sondern nur der Inhalt, müssen wir vor der Ausführung der neuen Version der Zuordnung keine weiteren Maßnahmen ergreifen. Hier ist ein Ausschnitt der XML-Ausgabe, der den Ferrari-Deal zeigt:

Wir könnten diese Ausgabedatei nehmen und sie sofort mit StyleVision verarbeiten, wobei wir unser ursprüngliches Stylesheet verwenden, um ein HTML-Dokument zu erstellen. Aber während wir uns in MapForce befinden, fügen wir noch zwei weitere Verbesserungen hinzu.
Doppelte Daten entfernen
Wir erhalten immer noch einige Duplikate in den neuen Ergebnissen, da die gleichen Angebote häufig in verschiedenen Stadtteilen großer Städte angeboten werden. Eine der Beispielkonfigurationen, die mit MapForce installiert werden, ist eine Mapping-Datei namens DistinctArticles.mfd, die zeigt, wie Duplikate aus einem Eingabestrom entfernt werden können, wenn XML-Knoten wiederholte Daten enthalten.
Wir können das Design einfach vom Beispiel auf unsere Groupon-Darstellung übertragen

Das Element "Titel" fungiert als eindeutiger Schlüssel, um doppelte Angebote zu identifizieren, und die Variable "compute-when" sendet nur die erste Kopie zur weiteren Verarbeitung.
Selbstverständlich können wir diese Strategie zur Vermeidung von Doppelungen auch auf die ursprüngliche Zuordnung der Online-Angebote anwenden, um herauszufinden, ob der Bereich "Produkte" für einen bestimmten Standort tatsächlich alle verfügbaren Online-Angebote enthält. (Das ist nicht der Fall.)
Daten sortieren
Eine neue Funktion, die in MapForce 2012, Version 2, hinzugefügt wurde, ermöglicht es uns, die Daten zu sortieren, bevor sie in die Ausgabedatei gelangen. Hier ist der Abschnitt der Zuordnung, der zuerst nach den Namen der Unterbereiche sortiert, die die Groupon-Standorte für Angebote darstellen, und dann innerhalb jedes Standorts nach dem Titel des jeweiligen Angebots.

Jetzt können wir die abgeschlossene Zuordnung verarbeiten und ein HTML-Dokument erstellen, indem wir die XML-Ausgabedatei mit unserem ursprünglichen StyleVision-Stylesheets transformieren:

Vielleicht können wir sogar einen guten Preis für einen leckeren italienischen Snack bekommen, nachdem wir mit einem schnellen italienischen Auto gefahren sind! MapForce und StyleVision sind zusammen im speziell angebotenen Altova MissionKit erhältlich. Überzeugen Sie sich selbst, wie einfach es ist, das MissionKit zur Integration von Daten von einer Web-API zu verwenden – **laden Sie eine kostenlose 30-Tage-Testversion herunter