Das ArcGIS Enterprise SDK enthält mehrere zusätzliche Technologien zur Anpassung von GIS-Services, die Integrations-Workflows oder -muster unterstützen können. Mit jedem dieser Muster können Java- oder .NET-Softwareentwickler Code mit dem ArcGIS Enterprise SDK schreiben, um vorhandene Services zu erweitern, neue Muster zu erstellen oder bestehendes Service-Verhalten zu beeinflussen.
Serverobjekterweiterungen (SOEs) werden verwendet, um vorhandenen Services neue Methoden oder Funktionen (REST-Endpunkte) hinzuzufügen. Diese Erweiterungen beeinflussen die vorhandenen Endpunkte und Methoden der Services nicht, sodass sie in der Regel nur von benutzerdefinierten Anwendungen oder Workflows genutzt werden können, die den Endpunkt kennen und ihn direkt aufrufen können. Weitere Informationen zu SOEs finden Sie unter Was ist REST SOE.
Serverobjekt-Interceptoren (SOIs) werden verwendet, um vorhandene Endpunktfunktionen eines bestimmten unterstützten Service zu beeinflussen, zu steuern oder anzupassen. Das bedeutet, dass der SOI-Code bei jeder Anforderung an den Service aufgerufen wird und der Entwickler selektiv einen vorhandenen logischen Pfad, wie eine /query- oder /identify-Anforderung, überschreiben kann. Der SOI-Code kann dann entweder auf die eingehende Anforderung reagieren und Parameter oder Eingaben anpassen oder auf die Antwort des vorhandenen Server-Backends reagieren und Attribute entfernen, Informationen hinzufügen oder andere Operationen ausführen. Weitere Informationen zu SOIs, einschließlich Beispielen und Codierungsrichtlinien, finden Sie unter Was ist ein SOI.
Service-Interceptoren sind ein neues Entwicklungsmuster, das eine globale Kontrolle bestimmter Service-Muster oder -Typen ermöglicht und auf der REST-Ebene auf Standortebene und nicht an einem einzelnen Service arbeitet. Interceptoren können verwendet werden, um das Verhalten einer Reihe von Services zu steuern, anstatt auf jeden Service unabhängig einen SOI anzuwenden. Weitere Informationen zu Service-Interceptoren und Vergleiche mit vorhandenen SOI-Konzepten finden Sie im Überblick über Service-Interceptoren.
Für Integrationszwecke bieten diese Erweiterbarkeitsmuster eine Methode, um eine Integration in einem vorhandenen Anwendungsserver (ArcGIS Server) bereitzustellen, sodass sie in andere ArcGIS-Workflows oder -Muster integriert werden kann.
SOEs basieren auf vorhandenen Services und übernehmen daher das Authentifizierungsmodell verbundener Services in einer ArcGIS Enterprise-Bereitstellung. .NET- oder Java-Entwicklungsmuster weisen möglicherweise festgelegte Bibliotheken oder Werkzeuge für die Arbeit mit einem Remote-Datensatz oder -System auf, sodass das Erstellen eines neuen Web-Service-Endpunkts mit einer SOE ein einfacherer Weg zur Integration sein kann, als einen eigenständigen Dienst zu hosten und zu erstellen.
SOIs arbeiten mit vorhandenen Endpunkten wie einer /query-Anforderung. Dies ermöglicht das Abfangen einer Abfrage. Dann kann jede gewünschte Aktion für die Abfrageeingabe oder die Ergebnismenge ausgeführt werden, wie z. B. Daten aus einem vorhandenen System zu verknüpfen oder Ergebnisse basierend auf einer Abfrage auf einen anderen Endpunkt zu filtern. Diese Schritte führen zu Latenz bei jeder Anforderung und sollten sorgfältig entworfen werden, um eine erhebliche Verschlechterung der Performance zu vermeiden.
ArcGIS Online-Apps oder -Services, die mit ArcGIS Enterprise-Services interagieren, können Benutzer von SOIs und Service-Interceptoren werden, indem sie diese Layer in eine Erfahrung für die Erstellung von Webkarten integrieren. Dasselbe gilt für ArcGIS Pro, das ein unterstützter Client für diese Service-Typen ist, der sie für Visualisierungs- und kartografische Zwecke, als Quellen für Geoverarbeitungswerkzeuge oder zum Drucken nutzen kann, wobei die gesamte SOI- oder Service-Interceptor-Logik erhalten bleibt. SOEs werden im Allgemeinen von benutzerdefinierten Anwendungen genutzt, die darauf ausgelegt sind, mit diesen neuen, anwendungsfallspezifischen Endpunkten zu arbeiten.
| Funktion | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| SOEs und SOIs | N. z. |
Volle Unterstützung Teilunterstützung
Bevor Sie mit der Entwicklung von SOE, SOI oder eines Service-Interceptors beginnen, konsultieren Sie die ArcGIS Enterprise SDK-Dokumentation, insbesondere die Designphilosophie für das ArcGIS Enterprise SDK, die hilfreiche Hinweise und Hintergrundinformationen zu diesen Entwicklungsmustern bietet. Best Practices und Empfehlungen für die SOE-Entwicklung finden Sie im Dokumentationsthema Strategien zum Erstellen von REST-SOEs.