Migration

Migration von MapQuest Geocoding

MapQuest Geocoding gibt es schon so lange, dass viele darauf aufbauende Integrationen älter sind als ein Großteil der aktuellen Welle von Karten-APIs. Der Schlüssel, der über ein MapQuest-Entwicklerkonto erzeugt wird, wird als Query-Parameter gesendet, und die Antworten liefern ein results-Array mit einem verschachtelten locations-Array. Jeder Eintrag enthält ein latLng-Objekt und eine aufgeschlüsselte Adressstruktur mit Feldern wie adminArea5 für die Stadt und postalCode für die Postleitzahl oder ZIP-Code.

Integrationen dieses Alters bringen manchmal eine besondere Art technischer Schulden mit: Der Code, der MapQuest aufruft, wurde vielleicht von jemandem geschrieben, der nicht mehr im Team ist, mit Kommentaren, die auf Entscheidungen verweisen, an die sich niemand mehr erinnert. Das ist kein Grund, auf die Migration zu verzichten, aber ein Grund, gründlich zu testen, statt anzunehmen, dass der bestehende Code von der Person, die jetzt migriert, gut verstanden wird.

Der MapQuest-Kompatibilitäts-Host von My Geocode bildet die Struktur der results- und locations-Arrays samt den latLng- und Adressfeldern nach und ändert nur die Texte zu Urheberrecht, Nutzungsbedingungen und Datenschutz. Alle Details finden Sie unter /compatibility/mapquest/. In den meisten Fällen ist die Aktualisierung von Host und Schlüssel die gesamte Änderung; das verschachtelte Zugriffsmuster results[0].locations[0].latLng sollte weiterhin Daten in derselben Form liefern.

Eine sinnvolle Reihenfolge für eine ältere Integration wie diese:

  1. Finden Sie jede Stelle in der Codebasis, die auf den MapQuest-Host oder -Schlüssel verweist, da älterer Code manchmal beides fest einprogrammiert, statt es aus der Konfiguration zu lesen
  2. Verlagern Sie diese Verweise in die Konfiguration, falls sie dort noch nicht sind, unabhängig davon, bei welchem Anbieter Sie landen
  3. Richten Sie eine Staging-Umgebung auf den Kompatibilitäts-Host aus und vergleichen Sie eine Stichprobe echter Produktionsadressen mit den alten Ergebnissen, bevor Sie etwas im Live-Betrieb anfassen

Die Authentifizierung auf der neuen Seite akzeptiert einen X-API-Key-Header, einen Authorization: Bearer-Header, HTTP Basic Auth oder einen Query-Parameter. Wie auch immer der alte MapQuest-Schlüssel gesendet wurde, hier gibt es eine passende Option.

Die Preise sind pauschal und erfordern keine Entscheidung über eine Kontostufe: 2.500 Anfragen pro Tag kostenlos ohne Schlüssel, 2.500 weitere kostenlos pro Schlüssel und Tag, gezählt pro Netzwerk, danach Prepaid-Guthaben zu 0,0001 € pro Anfrage oder ein Unlimited-Schlüssel zu 50 € pro Monat. Jeder Endpunkt, einschließlich dieses Kompatibilitäts-Hosts, kostet gleich viel. Damit entfällt eine Variable, die ältere Verträge manchmal in Form volumenabhängiger Stufensprünge enthielten.

Bei einer MapQuest-Integration, die jahrelang ohne viel Aufmerksamkeit still funktioniert hat, besteht das Ziel einer solchen Migration darin, dass es auch danach so still bleibt: dieselbe Antwortstruktur, derselbe Code, nur ein anderer Host und Schlüssel im Hintergrund.