Erweitern von ArcGIS mit SDKs und APIs

ArcGIS-Systeme basieren in der Regel auf einem stabilen Fundament vorhandener, leicht verständlicher Softwarekomponenten. Diese Komponenten können auf verschiedene Weise bereitgestellt und entsprechend den Workflows und Anforderungen konfiguriert werden, und für viele Systeme reichen die vorhandenen Anwendungen, Services, Werkzeuge und Funktionen aus. In anderen Fällen können die Anforderungen oder Designkriterien eine Anpassung der Software oder des Workflows erfordern. Die ArcGIS-Plattform bietet eine Vielzahl von Software Development Kits (SDKs), Skripterstellungs- und Automatisierungs-Engines sowie APIs (Application Development Interfaces, Anwendungsentwicklungsschnittstellen), die zum Erreichen dieser Ziele beitragen können. Die Esri Developer-Site bietet umfassende Dokumente und Anleitungen zu einigen dieser APIs und SDKs sowie Dokumentation zu den anderen REST-APIs und Funktionen der grundlegenden ArcGIS-Komponenten.

Bei manchen Projekten und Teams besteht eine klare Vorstellung von der Rolle der Softwareentwicklung oder -anpassung im Designprozess. Bei anderen Designprozessen hingegen müssen die erforderlichen Anpassungen durch die Überprüfung der Anforderungen oder in späteren Schritten des Designprozesses ermittelt werden. In beiden Fällen ist ein klarer Ansatz wichtig, um zu entscheiden, wie und wo ArcGIS erweitert werden soll.

Entscheidungskriterien für die Anpassung von Anwendungen

Die Entscheidung, in einem Projekt benutzerdefinierte Software zu entwickeln, ist mit einer Reihe von Auswirkungen, Vorteilen und Überlegungen verbunden. Die Rolle der Entwicklung in ArcGIS-Systemen lässt sich als Spektrum hilfreicher Optionen betrachten: von sofort einsatzbereiten Systemen, die durch Pop-up-Konfigurationen, Arcade-Skripte oder andere Techniken leicht konfiguriert werden können, über Python-fähige Workflows für die Datenmigration oder Geoverarbeitung und erweiterbare Low-Code-Apps, die das Hinzufügen von Arcade, CSS und HTML zur Benutzeroberfläche unterstützen, bis hin zu vollständig angepassten Systemen mit einem sorgfältig gestalteten Front-End, benutzerdefinierten Web-Services und einer erheblichen Automatisierung von Daten und Prozessen.

Dieses Spektrum kann auf viele Arten unterteilt werden, es lassen sich jedoch drei Hauptansätze unterscheiden:

  • Konfigurieren Sie Apps, die Ihren Geschäftsanforderungen entsprechen. ArcGIS bietet eine Reihe konfigurierbarer Apps, die grundlegende bis erweiterte Workflows mit einfachen, browserbasierten Konfigurationsmöglichkeiten unterstützen. Die Verwendung dieser Apps erfordert den geringsten Aufwand und die geringsten laufenden Kosten, jedoch werden nicht alle Konfigurationen unterstützt. Zu den Apps in dieser Kategorie zählen Instant Apps, Story Maps, Dashboards, Field Maps oder Survey 123.
  • Verwenden Sie Low-Code-App-Builder. Esri bietet eine Vielzahl von App-Buildern an, die ein Low-Code-Erlebnis bieten, darunter ArcGIS Experience Builder, StoryMaps, Dashboards, ArcGIS Hub, Enterprise Sites und ArcGIS Instant Apps. Alle diese Apps ermöglichen in gewissem Grad die Konfiguration von benutzerdefiniertem HTML und CSS sowie verschiedene Implementierungen oder Profile von Arcade. Mit ihnen lassen sich genau zugeschnittene, markenorientierte Anwendungen erstellen, die das Erscheinungsbild einer vollständig angepassten Anwendung haben, während weiterhin schnelle Änderungen oder Anpassungen der Funktionalität vorgenommen werden können. Experience Builder ermöglicht auch die Erstellung von benutzerdefinierten Widgets, die entwickelt und dann für die Verwendung in mehreren verschiedenen Anwendungen zur Verfügung gestellt werden können.
  • Vollständiges Anpassen von Apps mit ArcGIS-SDKs. Esri erstellt SDKs für eine Vielzahl von Programmierumgebungen und Sprachen. Jedes bietet robuste Unterstützung für die Erstellung von Kartenanwendungen und datengesteuerten Anwendungen, die ArcGIS-Layer, Benutzeroberflächeninteraktionen, sichere Authentifizierung und komplexe Kartenerstellungsfunktionen umfassen. Da Sie nicht jeden dieser speziellen Teile selbst programmieren müssen, können Sie unternehmensfreundliche Apps erstellen, um die in Ihrer Organisation verfügbaren ArcGIS-Funktionen zu nutzen und den Aufwand für die App-Entwicklung und -Wartung zu reduzieren. Die Esri Developer-Site bietet umfassende Informationen zur Auswahl der verfügbaren SDKs sowie allgemeine Workflows, Funktionsbeschreibungen und Beispielcode. Esri bietet auch eine Reihe von App-Komponenten, um die Webentwicklung durch standardisierte Ansätze für die Benutzeroberfläche zu vereinfachen.

Es gibt keine einzelne optimale Komponente für alle Aufgaben von der Konfiguration bis hin zur vollständigen Entwicklung. Die Entscheidung sollte auf der Entwicklungskapazität des Teams, der Architekturphilosophie der Organisation in Bezug auf Anpassungen und der Kenntnis der langfristigen Auswirkungen aller in diesem Bereich getroffenen Entscheidungen basieren.

Häufige Motivationen und Faktoren für die Softwareentwicklung

Bei einem breiten Spektrum an Anpassungs- und Softwareentwicklungsoptionen ist es wichtig, auch einige der Motivationen für die Wahl einer dieser Optionen zu kennen. Bei der Entscheidung für den geeigneten Ansatz der Anpassung oder Erweiterung kann jede von ihnen für unterschiedliche Kriterien von Belang sein.

  • Motivationen im Hinblick auf Funktionalität und Integration gründen in erster Linie auf dem Fehlen spezieller Funktionen in einer vorhandenen App oder einem bestehenden Workflow oder auf der Notwendigkeit, eine Integration in ein anderes System zu unterstützen, für das keine App vorhanden ist. Eine weitere Motivation ist der Wunsch, mehrere Funktionen in einer einzigen einheitlichen Oberfläche zu vereinen.
  • Performance und Skalierbarkeit. Wenn die Performance vorhandener Services, Schnittstellen oder Workflows nicht Ihren Anforderungen entspricht, kann eine benutzerdefinierte Option neue Möglichkeiten bieten, um den gewünschten Servicegrad zu erreichen, oder direkten Zugriff auf einen Prozess ermöglichen, der erheblich Zeit spart und die Benutzerzufriedenheit verbessert.
  • Design. Wenn eine Anwendung mit einem Branding versehen werden muss, das mit den Formatierungs- und Designoptionen vorhandener ArcGIS-Apps nicht erstellt werden kann, lassen sich möglicherweise mit einer benutzerdefinierten Anwendung die speziellen Schnittstellen oder Designziele der Organisation erreichen. Das Esri Calcite Design System bietet eine allgemeine Grundlage für gut gestaltete und benutzerfreundliche Schnittstellen.
  • Zielgruppe und User Experience. Benutzerfreundlichkeit ist ein wichtiges Erfolgskriterium für die meisten Anwendungsdesigns, und das Verständnis der unterschiedlichen Anforderungen, die verschiedene Benutzergruppen an die Funktionalität stellen, ist eine wichtige Voraussetzung. Geführte Workflows können selbst erfahrenen Benutzern helfen, die App schnellstmöglich produktiv zu machen.
  • Kultur und Fähigkeit der Organisation. Möglicherweise hat Ihre Organisation Präferenzen oder eine Vorliebe für bestimmte Methoden bei der Entwicklung im Anwendungsdesignprozess. Die Geschäftsführung, das Projektmanagement und die technischen Teams verfügen bei der Entscheidung über Anpassungsoptionen möglicherweise über Präferenzen, bestimmte Gewohnheiten oder relevante Erfahrung und können diese bei der Entscheidungsfindung für eine neue Option nutzen. Wenn Sie die Fähigkeit der Organisation zum Durchführen einer Anpassung und deren Verwaltung sowie der nicht unbedeutenden Wartung umfassend konfigurierter Apps sorgfältig in Betracht ziehen, stellen Sie sicher, dass bewusste Entscheidungen getroffen werden, die Ihrer Anwendung zum Erfolg verhelfen.
  • Kosten. Die Entwicklung einer Anwendung ist immer mit Kosten verbunden, und gehen Sie nicht davon aus, dass die Anpassung höhere Kosten verursacht. Eine zweckmäßige App kann eine längere und erfolgreichere Lebensdauer haben als eine konfigurierte Anwendung, je nach der Lebensdauer der konfigurierten Anwendung, der erforderlichen Funktionalität und den erwarteten Änderungen. Bei den Kostenüberlegungen sollten die Kosten des ersten Builds, aber auch die laufende Wartung und alle durch die Entscheidung verursachten Risiken berücksichtigt werden.
  • Lebensdauer. Apps sollten nicht für eine unbegrenzte Lebensdauer konzipiert werden. Ein vernünftiges Austauschintervall, wobei andere Optionen oder Ansätze in Betracht gezogen werden, stellt sicher, dass neue Anwendungsoptionen berücksichtigt werden und eine vorhandene App nicht für unbegrenzte Zeit verwendet wird, wenn möglicherweise eine bessere Option vorhanden ist. In einigen Fällen ist das Aktualisieren einer benutzerdefinierten Anwendung so einfach wie das Einbinden einer neuen Version eines SDK. Andere Updates können jedoch umfangreicher sein oder eine größere Investition nach sich ziehen, abhängig vom Zeitpunkt der anfänglichen App-Entwicklung und dem Lebenszyklus des zum Erstellen verwendeten SDK.

Best Practices für die Arbeit mit SDKs und APIs

Wenn die Entwicklung einer Anwendung oder Erstellung eines Systems Softwareentwicklung umfasst, können auf die meisten Szenarien Best Practices angewendet werden:

  • Verwenden Sie Tools, die dem Team vertraut sind: Ihre Organisation oder Ihr Team von Mitarbeitern hat möglicherweise Erfahrung mit bestimmten Sprachen, Softwareentwicklungsmethoden oder Methoden zum Erstellen von Anwendungen, und es ist in den meisten Szenarien von Vorteil, diesen vorhandenen Mustern zu folgen. Dies unterstützt die Effizienz, indem vorhandene Fähigkeiten genutzt werden, aus früheren Erfahrungen gelernt wird und das Team nicht aufgefordert wird, neue Technologien nur um der Neuheit willen zu übernehmen.
  • Bleiben Sie mit der neuesten Version auf dem neuesten Stand: Wie die grundlegenden Softwarekomponenten werden ArcGIS-SDKs und -APIs regelmäßig aktualisiert. Es empfiehlt sich, die neuesten Versionen dieser Produkte zu verwenden, da sie neben Verbesserungen der Sicherheit und Performance auch neue Funktionen enthalten. Esri dokumentiert für jede Version sorgfältig neue Funktionen und wichtige Änderungen, damit Entwickler mit möglichst wenig Unterbrechungen die neuesten Releases nutzen können.
  • Berücksichtigen Sie bei der Entwicklung die Grundpfeiler der Architektur – die in diesem Abschnitt beschriebenen Grundpfeiler der Architektur sind für auf Softwareentwicklung basierende Systeme ebenso relevant wie für vorkonfigurierte Systeme. Berücksichtigen Sie bei der Entwicklung einer neuen Anwendung oder Funktion die Bedeutung von Sicherheit, Leistung, Skalierbarkeit und Beobachtbarkeit, damit das Team die resultierende Anwendung für die vorgesehene Lebensdauer unterstützen und effektiv betreiben kann.

Zusammenfassung

Das Erweitern von ArcGIS, entweder durch Anpassung vorhandener Schnittstellen oder durch Erstellen neuer Anwendungen mit ArcGIS Maps SDKs, bietet eine hervorragende Möglichkeit, um einige der oben genannten Ziele zu erreichen. Wenn während des Entwurfs eines Enterprise-Systems die Relevanz der Erweiterung und Anpassung an die jeweilige Lösung genau erwogen wird, kann dies einen erheblichen Einfluss auf die zukünftige Bereitstellung und die zukünftigen Kosten des Systems haben. Berücksichtigen Sie im Zweifelsfall die Fähigkeiten und Voraussetzungen der Organisation, um zu bestimmen, ob ein bestehendes System oder eine benutzerdefinierte Lösung (oder in der Regel eine Kombination aus beiden) die bessere Option ist.

Top