Was ist eine Serverobjekterweiterung?

Mit Serverobjekterweiterungen (SOEs) können Sie die Basisfunktionalität von ArcGIS for Server erweitern. 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 die ArcObjects-Funktionalität, die auf keine andere Weise (durch Standardgeoverarbeitungswerkzeuge oder ArcGIS Server-Services) verfügbar ist, bereitstellen möchten oder eine schnelle Ausführung erforderlich ist.

SOEs eignen sich für erfahrene Entwickler und erfordern Kenntnisse verschiedener Entwicklungsplattformen. Die ArcObjects-SDK für Java enthält mehrere SOE-Beispiele, die Sie untersuchen können.

SOEs werden hauptsächlich zum Erweitern von Karten-Services entworfen.

Was Sie zum Entwickeln einer SOE wissen müssen

Zur SOE-Entwicklung sind Kenntnisse der ArcObjects-Verwendung durch Java 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 von Java Swing (für ArcCatalog-Seiten) oder in der Web Forms-Entwicklung mit Hypertext Markup Language (HTML) und JavaScript (für Managerseiten).

Benötigen Sie eine SOE?

SOEs können Kenntnisse in der Web-Service-Entwicklung und ArcObjects erfordern und müssen durch einen Bereitstellungsprozess laufen, 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 erreichbar sind. Eine ausführliche Diskussion der Möglichkeiten, sich Webzuordnungsherausforderungen zu nähern, ohne ArcObjects zu verwenden, finden Sie unter Alternativen zu Serverobjekterweiterungen.

9/23/2013