Die Basis für einen Geoprocessing Service ist ein funktionierendes ArcToolbox-Tool (Model oder Script).

Geoprocessing Model in ArcMap Model Builder
Um das Model für einen Geoprocessing Service einzurichten, müssen einige Änderungen vorgenommen werden:
•Zugriffsrechte: Die Toolbox muss sich in einem lokalen Verzeichnis mit Zugriffsrechten für den ArcGISSOC Account befinden. Die Verzeichnisse für Input, Intermediate und Output Daten müssen Leseberechtigungen (Input) und Schreibberechtigungen (Intermediate, Ouput) aufweisen. Die folgende Daten-Struktur mit Vollzugriff auf den ArcGISSOC Account wird empfohlen:

Access Schema von ArcGIS Server Services. © by Esri
•Input-Daten: Es wird empfohlen, lokale Daten einzubinden. Aber es ist auch möglich UNC-Pfade zu verwenden. Daten werden im Model mit absoluten Pfaden durch die Verwendung des Connected Tool verknüpft (Verwenden Sie nicht Drag and Drop des Themenbaums oder den "Add Data" Button). Hinsichtlich Performance wird empfohlen, die Input-Daten in einer File Geodatabase zu speichern.

Input-Daten - Geoprocessing Model / Tool
•Unterstützte Input Datentypen: Wie in der Esri Online Hilfe beschrieben (s. http://help.arcgis.com/de/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/na/009300000029000000/) werden nur bestimmte Datentypen als Eingabeparameter (input) für die unterschiedlichen Clients von ArcGIS Server unterstützt. Die folgende Tabelle bezieht sich auf diese Informationen von Esri (graue Header-Zellen) und wurde von SynerGIS um die unterstützten Eingabeparameter von WebOffice 10 R3 erweitert (orange Header-Zelle).
Eingabeparameter-Datentyp |
Für ArcGIS Desktop-Clients unterstützt? |
Für ArcGIS Explorer-Client unterstützt? |
Für Webanwendungs-Clients unterstützt? |
In WebOffice 10R3 unterstüzt? |
Feature-Set |
Ja |
Ja |
Ja |
Ja (max. 1) |
Datensatz |
Ja |
Ja |
Ja |
Ja |
Feature-Class |
Nein (Jedoch werden Feature-Class-Eingaben mit dem Datentyp "Feature-Set" indirekt unterstützt) |
Nein |
Nein |
Als Datei |
Tabelle |
Nein (Jedoch werden Tabelleneingaben mit dem Datentyp "Recordset" indirekt unterstützt) |
Nein |
Nein |
Als Datei |
Raster |
Ja |
Nein |
Nein |
Als Datei |
Standardtypen (z.B. "Long", "Double", "Boolean", "Date", "Zeichenfolge") und "Lineare Einheit" (z.B. "1000 Meter") |
Ja |
Ja |
Ja |
Long, Double, String, Linear Unit: Ja Boolean, Date mit workaround (calculate value) |
Datei (z.B. eine ZIP- oder XML-Datei) |
Ja |
Ja |
Ja |
Ja |
Layer (beliebiger Typ von Layer, z.B. Feature-Layer, Raster-Layer, Network Analyst-Layer) |
Nur Layer im Karten-Service des Ergebnisses oder Quellkartendokument |
Nur Layer im Karten-Service des Ergebnisses oder Quellkartendokument |
Nur Layer im Karten-Service des Ergebnisses oder Quellkartendokument |
Nein |
Input-Datentypen für einen Geoprocessing Service (© by Esri), erweitert durch SynerGIS
•Validierung des Inputs: Da es keine Möglichkeit gibt, die Validierung eines lokalen Tools einer ArcToolbox auf einen Geoprocessing Service zu übertragen bzw. eine allgemeine client-seitige Validierung zu haben, ist es nützlich mit Voraussetzungen/Preconditions im Model zu arbeiten. Um eine if-else-Logik in einem Model zu implementieren, können Script-Tools oder das Calculate Value Tool verwendet werden. Der Output-Typ dieser Tools sollte long oder boolean sein, false, zero oder negative Werte bei nicht vorhandenen Preconditions, bzw. true oder positive Werte bei vorhandenen Preconditions liefern. Wenn z.B. die Summe user-bestimmter Werte 100 betragen soll, kann man hierfür ein Calculate Values Tool verwenden.

Geoprocessing Model mit Input Validation - Model

Geoprocessing Model mit Input Validation - Calculate Value tool
•Output Daten: Verwenden Sie absolute, lokale Pfade für die Ergebnis-Daten, welche auch als Model-Parameter vorhanden sein müssen. Wenn das Ergebnis eine Verarbeitung eines Input-Datensatzes ist und ein absoluter Pfad definiert wurde, wird keine Kopie des Ergebnisses im ArcGISJobs Ordner abgelegt. Die Verwendung der %Scratchworkspace% Environment Variable ist nützlich für die Speicherung individueller Kopien der Geoprocessing Service Ergebnisse. Dadurch werden sie im ArcGISJobs Ordner und im angegebenen “local data source” Ordner (siehe Kapitel Konfigurieren in WebOffice Author) abgelegt.
•Unterstützte output Datentypen: Wie in der Esri Online Hilfe beschrieben (s. http://help.arcgis.com/de/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/na/009300000029000000/) werden nur bestimmte Datentypen als Ausgabeparameter (output) für die unterschiedlichen Clients von ArcGIS Server unterstützt. Die folgende Tabelle bezieht sich auf diese Informationen von Esri (graue Header-Zellen) und wurde von SynerGIS um die unterstützten Ausgabeparameter von WebOffice 10 R3 erweitert (orange Header-Zelle).
Ausgabeparameter-Datentyp |
Für ArcGIS Desktop-Clients unterstützt? |
Für ArcGIS Explorer-Client unterstützt? |
Für Webanwendungs-Clients unterstützt? |
In WebOffice 10R3 unterstüzt? |
Feature-Class |
Ja |
Ja |
Ja |
Ja |
Raster |
Ja |
Nein (Kann nur mithilfe eines Karten-Services des Ergebnisses auf der Karte angezeigt werden) |
Nein (Kann nur mithilfe eines Karten-Services des Ergebnisses auf der Karte angezeigt werden) |
Nein |
Tabelle |
Ja |
Nein (Services mit einem Ausgabeparameter vom Datentyp "Tabelle" werden in der Liste verfügbarer Tasks nicht angezeigt) |
Ja |
Nein (Unterstützung geplant) |
Standardtypen (z.B. "Long", "Double", "Boolean", "Date", "Zeichenfolge") und "Lineare Einheit" (z.B. "1000 Meter") |
Ja (Wird im Ergebnis des Service auf der Registerkarte "Ergebnisse" des ArcToolbox-Fensters angezeigt) |
Ja (Wird im Ergebnis des Tasks angezeigt) |
Ja |
Ja (über Messages) |
Datei |
Ja |
Ja |
Ja |
Nein |
Output Daten (© by Esri), erweitert durch SynerGIS
•Symbology: Verwenden Sie ein Layer File, welches auf den Input-Daten basiert und entsprechend abgelegt wird (Zugriffsrechte).
•Publizieren: Ein Model darf nicht über das Kontextmenü der ArcToolbox publiziert werden, da bestimmte Eigenschaften gesetzt werden müssen:

Toolbox publizieren
•Add New Service --> Geoprocessing Service
•Execution Mode: Asynchronous
Hinweis: Es ist möglich die Art des Ausführungsmodus in der WebOffice 10 R3 Projekt Konfiguration auszuwählen. Weitere Details siehe Kapitel Geoprocessing.
•Tools exposed by: Toolbox!
•Set Max Numbers of Records
•Show Messages (für nützliche Error Messages)

Geoprocessing Service Eigenschaften
•Aktivieren von Web Access für debuggen (Task Name und Konfiguration sind über http://<server>/arcgis/rest/services/<service name> zugänglich). Nicht empfohlen für Produktiv-Systeme.

Geoprocessing Service Capabilities
•Pooling: Mindestens 2 Instanzen, brauchbare Timeouts.
•Bevor ein Geoprocessing Service zu einer Applikations-Konfiguration hinzugefügt werden soll, testen Sie ihn in ArcGIS Desktop durch hinzufügen des Services zu einer ArcToolbox und führen Sie den Task aus.