Was ist eine Serverobjekterweiterung?

Mit Serverobjekterweiterungen (SOEs) können Sie die Basisfunktionalität von ArcGIS-Server-Karten- und Image-Services erweitern. Es werden keine anderen Service-Typen unterstützt. Die meisten SOEs verwenden dazu ArcObjects-Code, um mit GIS-Daten und -Karten zu arbeiten. ArcObjects sind die Kernkomponenten, auf denen ArcGIS basiert. Sie ermöglichen Ihnen die größtmögliche Flexibilität beim Schreiben von GIS-Funktionen.

SOEs sind geeignet, wenn Sie eine gut definierte Geschäftslogik ausführen müssen, was mithilfe der ArcGIS-Web-APIs nur schwer erreicht werden kann. SOEs haben die folgenden Vorteile:

Sie können eine SOE entwickeln, wenn Sie ArcObjects-Funktionen bereitstellen möchten, die auf keine andere Weise verfügbar sind oder eine schnelle Ausführung erfordern.

SOEs eignen sich für erfahrene Entwickler und erfordern Kenntnisse verschiedener Entwicklungsplattformen. Die ArcObjects-SDKs für Java und Microsoft .NET Framework enthalten mehrere SOE-Beispiele, die Sie untersuchen können.

Was Sie zum Entwickeln einer SOE wissen müssen

Zur SOE-Entwicklung sind Kenntnisse der ArcObjects-Verwendung durch Java oder die .NET-Programmiersprachen erforderlich. Außerdem ist ein Verständnis der REST- oder SOAP-Prinzipien erforderlich.

Wenn Sie darüber hinaus benutzerdefinierte Eigenschaftenseiten für die SOEs jenseits der automatisch generierten schreiben möchten, benötigen Sie Kenntnisse in der Windows Forms-Entwicklung oder von Java Swing (für ArcCatalog-Seiten) oder in der Web Forms-Entwicklung mit Hypertext Markup Language (HTML) und JavaScript (für Managerseiten).

Wann eine SOE notwendig ist

SOEs können Kenntnisse in der Web-Service-Entwicklung und ArcObjects erfordern und müssen einen Bereitstellungsprozess durchlaufen, um auf dem Server verfügbar gemacht zu werden. Bevor Sie eine Serverobjekterweiterung entwickeln, sollten Sie einige einfachere Alternativen erwägen.

Die einfachste Alternative zum Entwickeln einer SOE ist möglicherweise das Erstellen eines Geoverarbeitungsmodells, das die Geschäftslogik erfüllt, und deren Veröffentlichung als Service. Sie können ModelBuilder verwenden, um die benötigten Werkzeuge interaktiv zu ziehen, abzulegen und zu verbinden, anstatt ArcObjects-Code zu schreiben. Geoverarbeitungs-Services unterstützten auch die asynchrone Ausführung, sodass Sie einen Auftrag starten, dann zu etwas Anderem wechseln und später zum Auftrag zurückkehren können, um die Ergebnisse zu überprüfen.

Ein Nachteil von Geoverarbeitungs-Services ist, dass sie einen relativ großen Speicherbedarf haben und möglicherweise langsamer als SOEs ausgeführt werden. Wenn Sie einen Prozess nur wenige Male am Tag ausführen, sollte dies kein Problem sein. Wenn Sie einen Prozess allerdings häufig am Tag oder mit vielen Benutzern gleichzeitig ausführen, könnte es sinnvoll sein, die Zeit in die Erstellung einer SOE zu investieren.

Viele Entwickler haben in der Vergangenheit ArcObjects-Code für verschiedene Aufgaben geschrieben, die jetzt ohne ArcObjects durchführbar sind. Eine ausführliche Diskussion der Möglichkeiten, sich den Herausforderungen des Web Mapping zu nähern, ohne ArcObjects zu verwenden, finden Sie unter Alternativen zu Serverobjekterweiterungen.

5/16/2014