Der ArcGIS REST-Web-Service basiert auf zwei klaren Prinzipien:
Jeder auf einem ArcGIS-Server veröffentlichte GIS-Service gilt als Ressource, auf die über eine URL wie http://<Hostname>/arcgis/rest/<Service-Name> zugegriffen werden kann. Diese URL wird auch als REST-Endpunkt bezeichnet.
- Jede Ressource verfügt über Folgendes:
- Eigenschaften, die sie beschreiben
- Vorgänge, die für die Ressourcen ausgeführt werden können (optional)
- untergeordnete Ressourcen (optional)
Ein Vorgang ist eine Aktion für eine Ressource, die die Statusübertragung der Ressource auslöst und/oder neue Ressourcen erstellt. Eine untergeordnete Ressource ist eine Ressource, die im Kontext der übergeordneten Ressource besteht und die Eigenschaften von dieser erbt. Eine untergeordnete Ressource kann auch eigene Eigenschaften besitzen und auf ihr ausführbare Vorgänge unterstützen. Durch eine Ressource wird eine Hierarchie von Endpunkten für die ihr untergeordneten Ressourcen und Vorgänge erstellt, auf die über eine URL zugegriffen wird.
Geoverarbeitungs-REST-Services
Ein Geoverarbeitungsservice ist eine Ressource, auf die über eine URL zugegriffen wird. Das URL-Format für einen Geoverarbeitungsservice lautet http://<Servername>/<Instanzname>/rest/services/<Service-Name>/GPServer (z. B. http://myServer/ArcGIS/rest/services/BufferPoints/GPServer). Ein Geoverarbeitungsservice verfügt über Eigenschaften wie "Service-Beschreibung", "Tasks", "Ausführungstyp" und "Ergebniskartenserver". Die in einem Geoverarbeitungsservice veröffentlichten Geoverarbeitungs-Tasks stellen seine untergeordneten Ressourcen dar. Der Geoverarbeitungsservice selbst verfügt über keine Vorgänge, aber die Tasks unterstützen einen submitJob- oder execute-Vorgang. Die Tasks in einem Geoverarbeitungsservice erben die Eigenschaften "Ausführungstyp" und "Ergebniskartenserver" und verfügen über zusätzliche Eigenschaften wie "Task-Beschreibung", "Task-Parameter" usw. Die Eigenschaften des Service und des Tasks werden vom Publisher des Service bestimmt und können nicht von Clients geändert werden.
Die folgende Abbildung zeigt die Hierarchie von Geoverarbeitungs-REST-Ressourcen. Beachten Sie, dass orange dargestellte Eigenschaften von Geoverarbeitungsservices wie "Ausführungstyp", "Maximale Anzahl von Datensätzen" (in der Abbildung Max no. of Records) und "Ergebniskartenserver" von allen Geoverarbeitungs-Tasks geerbt werden.
Geoverarbeitungs-Tasks
Ein Geoverarbeitungs-Task ist eine untergeordnete Ressource des Geoverarbeitungsservice. Ein Geoverarbeitungsservice kann einen oder mehrere Tasks umfassen. Betrachten Sie einen Geoverarbeitungs-Task als vom Server verwaltetes Geoverarbeitungswerkzeug. Das Werkzeug wird auf dem Server ausgeführt, wenn ein Client eine Anforderung mit entsprechenden Eingabeparameterwerten sendet. Wenn das Werkzeug erfolgreich ausgeführt wurde, werden die Ausgabeparameterwerte an den Client zurückgegeben. Die Zugangs-URL für einen Geoverarbeitungs-Task lautet http://<GP-Service-URL>/<Task-Name>. Beispiel: http://myserver/ArcGIS/rest/services/BufferPoints/GPServer/BufferPoints.
Weitere Informationen zu Geoverarbeitungs-Tasks in REST
Ausführungstyp
Die Geoverarbeitungsfunktionen eines Geoverarbeitungs-Tasks können einfach sein, sodass ihre Ausführung auf dem Server nur wenige Sekunden dauert. Tasks können aber auch erweiterte Funktionen und die Verarbeitung großer Datasets unterstützen und länger dauern. Daher bietet die REST-API zwei Optionen für die Ausführung des Geoverarbeitungs-Tasks auf dem Server:
- Synchron: Synchrone Tasks sind für schnell ausgeführte Tasks geeignet. In synchronen Tasks sendet der Client eine Anforderung zur Ausführung des Tasks, und die Ergebnisse des Tasks werden als Antwort an den Client gesendet.
- Asynchron: Asynchrone Tasks sind für Tasks mit langer Ausführungsdauer geeignet. Bei asynchronen Tasks gibt der Server eine Auftrags-ID zurück, mit der der Client den Task-Status abrufen kann. Wenn der Status "abgeschlossen" lautet, werden die Ergebnisse als untergeordnete Ressourcen des Auftrags erstellt, auf die der Client mit der Auftrags-ID zugreifen kann.
Ergebniskartenserver
Der Ergebniskartenserver ist ein zu einem Geoverarbeitungsservice gehöriger dynamischer Kartenservice zur Visualisierung der Geoverarbeitungsergebnisse. Jeder Geodataset-Ausgabe-Parameter eines Geoverarbeitungs-Tasks wird dem Kartenservice als Layer hinzugefügt. Die Visualisierung der Layer wird durch die Symbolisierung bestimmt, die bei der Veröffentlichung definiert wurde. Da es sich um einen dynamischen Kartenservice handelt, können Clients den Kartenservice oder die Kartenservice-Layer zu Webanwendungen hinzufügen. Zudem können Clients Vorgänge wie Identifizieren, Suchen und Karte exportieren für den Kartenservice sowie Abfragen, Renderer generieren und den Zugriff auf Features für die Kartenservice-Layer ausführen.
Maximale Anzahl von Datensätzen
Die Eigenschaft "Maximale Anzahl von Datensätzen" bestimmt die Anzahl der Ausgabedatensätze oder -Features, die vom Service zurückgegeben werden. Wenn die Anzahl der von einem Geoverarbeitungs-Task erstellten Ausgabedatensätze oder -Features die maximale Anzahl von Datensätzen überschreitet, werden keine Features oder Datensätze vom Service zurückgegeben. Die Clients können solche Fälle an der Eigenschaft "Transferlimit wurde überschritten" des vom Task zurückgegebenen Feature-Sets bzw. Datensatzes erkennen. Die Eigenschaft "Transferlimit wurde überschritten" wird auf True gesetzt, wenn die Anzahl der Datensätze und Features des Ausgabeparameters die durch den Service bestimmte maximale Anzahl von Datensätzen überschreitet.
Anzeigen der Service-Seite in einem Webbrowser
Jeder ArcGIS-Server verfügt über ein Services-Verzeichnis, auf das mit einer URL zugegriffen wird, und jeder Service auf dem Server verfügt über eine eigene Service-Seite, auf die ebenfalls über eine URL zugegriffen wird. Die oben beschriebenen Eigenschaften für den Geoverarbeitungs-REST-Service können auf der Service-Seite in einem Webbrowser angezeigt werden. Die Service-Seite wird im Wesentlichen von Webentwicklern verwendet, um die Funktionen eines Service zu verstehen. Auch für andere Benutzer kann die Services-Seite zum Verständnis beitragen, wie sich ihre beim Veröffentlichen eines Service getroffenen Entscheidungen auf die Verwendung des Service und der enthaltenen Tasks durch Webentwickler auswirken.
Nachdem Sie einen Geoverarbeitungsservice erfolgreich in ArcGIS Desktop veröffentlicht haben, wird Ihrer ArcGIS for Server-Verbindung im Fenster Katalog ein neuer Geoverarbeitungsservice hinzugefügt. Um die Services-Seite anzuzeigen, klicken Sie mit der rechten Maustaste auf den Service, und wählen Sie Service-Eigenschaften. Dadurch wird der Service-Editor geöffnet. Klicken Sie im Service-Editor unter Funktionen auf die Registerkarte Geoverarbeitung. Der unten dargestellte Wert REST-URL enthält die URL der Service-Seite.
Kopieren Sie die REST-URL, und fügen Sie sie in die Adressleiste des Browsers ein, um die Service-Seite anzuzeigen. Die Informationen auf der REST-URL-Seite entsprechen direkt den Eigenschaften, die Sie beim Veröffentlichen des Geoverarbeitungsservice definiert haben. Die folgende Abbildung zeigt die Eigenschaften, die im Service-Editor beim Veröffentlichen angegeben wurden, und die entsprechenden Eigenschaften auf der Service-Seite.
Beachten Sie, dass die Geoverarbeitungs-Tasks des Service im Webbrowser mit einem HTML-Link aufgelistet sind. Jeder Link führt zu einer Task-Seite mit Informationen zu Task-Eigenschaften und dem unterstützten Vorgang.