El servicio Web REST de ArcGIS se basa en dos principios claros:
Cada servicio SIG publicado en un ArcGIS Server se considera un recurso y se puede acceder a él a través de una dirección URL como http://<nombre de host>/arcgis/rest/<NombreServicio>. Esta dirección URL también se conoce como extremo REST.
- Cada recurso tiene:
- Propiedades que lo describen
- Operaciones que se pueden realizar en los recursos (opcional)
- Recursos hijo (opcional)
Una operación es una acción sobre un recurso que desencadena la transferencia de estado del recurso y/o crea nuevos recursos. Un recurso hijo es un recurso que vive en el contexto de su origen y hereda las propiedades del mismo. Un recurso hijo también puede tener sus propias propiedades y apoyar las operaciones que se pueden realizar en él. Un recurso crea una jerarquía de extremos para sus recursos y operaciones hijos a los que se puede acceder a través de una dirección URL.
Servicios REST de geoprocesamiento
Un servicio de geoprocesamiento es un recurso al que se accede a través de una dirección URL. El formato de dirección URL para el servicio de geoprocesamiento es http://<nombre de servidor>/<nombre de instancia>/rest/services/<Nombre de servicio>/GPServer, por ejemplo, http://myServer/ArcGIS/rest/services/BufferPoints/GPServer. Un servicio de geoprocesamiento tiene propiedades, como Descripción de servicios, Tareas, Tipo de ejecución y Servidor de mapas de resultado. Las tareas de geoprocesamiento que se publican en el seno de un servicio de geoprocesamiento son sus recursos hijo. El servicio de geoprocesamiento en sí no tiene ningún operaciones, pero las tareas admiten las operaciones submitJob o ejecutar. Las tareas en un servicio de geoprocesamiento heredan las propiedades del Tipo de ejecución y las propiedades del Servidor de mapas de resultado, y tiene propiedades adicionales como las tareas Descripción, Parámetros, etc. Las propiedades del servicio y la tarea están determinados por el responsable de publicación del servicio y no puede ser modificado por los clientes.
La figura siguiente muestra la jerarquía de los recursos de geoprocesamiento REST. Observe que las propiedades del servicio de geoprocesamiento mostradas en naranja, como Tipo de ejecución, Número máximo de registros (Núm. máx. de registros en la ilustración) y el Resultado del servidor de mapas se heredan por cada tarea de geoprocesamiento.
Tareas de geoprocesamiento
Una tarea de geoprocesamiento es un recurso hijo del servicio de geoprocesamiento. Un servicio de geoprocesamiento puede tener una o más tareas. Consideremos una tarea de geoprocesamiento como una herramienta de geoprocesamiento gestionada por el servidor. La herramienta se ejecuta en el servidor cuando un cliente envía una solicitud con los correspondientes valores de los parámetros de entrada. Cuando la herramienta se ejecuta correctamente, los valores de parámetro de salida se devuelven al cliente. La dirección URL de acceso para una tarea de geoprocesamiento es http://<url-serviciogp>/<nombreTarea>, por ejemplo, http://myserver/ArcGIS/rest/services/BufferPoints/GPServer/BufferPoints.
Más información acerca de las tareas de geoprocesamiento en REST
Tipo de ejecución
La funcionalidad de geoprocesamiento de una tarea de geoprocesamiento puede ser sencilla y tardar unos segundos para ejecutarse en el servidor, o puede se compatible con funcionalidades avanzadas, procesando datasets grandes, y podría tardar más tiempo en ejecutarse. Por lo tanto, la API REST ofrece dos opciones para ejecutar la tarea de geoprocesamiento en el servidor.
- Sincrónica: las tareas sincrónicas son adecuadas para las tareas que se ejecutan rápidamente. En las tareas sincrónicas, el cliente envía una solicitud para ejecutar la tarea y los resultados de la tarea se envían como respuesta al cliente.
- Asíncronas: las tareas asíncronas son adecuadas para los trabajos con ejecuciones largas. En las tareas asíncronas, el servidor devuelve un Id. de trabajo que el cliente utiliza para el sondeo del estado de la tarea. Cuando el estatuto se haya completado, los resultados se crean como recursos hijo del trabajo al que el cliente puede acceder a través de su Id. de trabajo.
Servidor de mapas de resultado
El servidor de mapa de resultados es un servicio de mapas dinámico que acompaña a un servicio de geoprocesamiento para visualizar los resultados de geoprocesamiento. Cada parámetro de salida del geodataset de una tarea de geoprocesamiento se agrega como una capa para el servicio de mapas. La visualización de las capas se determina mediante la simbología que se definió en el momento de la publicación. Dado que es un servicio de mapas dinámico, los clientes pueden agregar el servicio de mapas o las capas del servicio de mapas para las aplicaciones Web. Los clientes también pueden realizar operaciones como Identificar, Buscar y Exportar mapa en el servicio de mapas y Consultar, generar renderizadores y acceder a las entidades en las capas del servicio de mapas.
Cantidad máxima de registros
El número máximo de propiedades de registros determina el número de entidades de salida o de registros devueltos por el servicio. Si el número de registros de salida o entidades creadas por una tarea de geoprocesamiento supera el número máximo de registros, el servicio devolverá todas las entidades o registros. Los clientes pueden identificar estos casos si examinan la propiedad de exceso del límite de transferencia del conjunto de entidades o de registros devueltos por la tarea. La propiedad de exceso del límite de transferencia se establece como verdadera cuando el número de registros y entidades del parámetro de salida supera el número máximo de registros especificado por el servicio.
Visualizar la página de servicio en un navegador Web
Cada ArcGIS Server tiene un directorio de servicios, accesible con una dirección URL, y cada servicio en el servidor tiene su propia página de servicio, que también es accesible con una dirección URL. Las propiedades del servicio REST de geoprocesamiento que se describen arriba se pueden examinar en la página de servicio en un navegador Web. La página de servicio se utiliza principalmente por los desarrolladores web para comprender las capacidades de un servicio. Incluso si no es un desarrollador web, verá que la página de servicios le ayudará a entender cómo las decisiones que toma cuando publica un servicio afectan a cómo los desarrolladores web utilizan su servicio y las tareas del mismo.
Una vez que haya publicado correctamente un servicio de geoprocesamiento en ArcGIS for Desktop, se agregará un nuevo servicio de geoprocesamiento a su conexión de ArcGIS Server en la ventana Catálogo. Para visualizar la página de servicios para el servicio, haga clic derecho en el servicio y seleccione Propiedades del servicio. De esta manera se abrirá el Editor de servicio. En el Editor del servicio, haga clic en la pestaña Geoprocesamiento que se encuentra en Recursos. El valor de la URL de REST, que se ilustra a continuación, es la URL para la página del servicio.
Copiar y pegar la URL de REST en la barra de direcciones del navegador para ver la página del servicio. La información que se enumera en la página de la URL de REST se refiere directamente a la página de propiedades que se define cuando publica el servicio de geoprocesamiento. En la ilustración que aparece a continuación muestra las propiedades que se especificaron en el Editor de servicio durante la publicación y las propiedades correspondientes como se ven en la página de servicios.
Tenga en cuenta que las tareas de geoprocesamiento del servicio en el navegador Web se enumeran con un vínculo HTML. Cada vínculo conducirá a una página de tarea en la que puede encontrar información sobre las propiedades de tarea y las operaciones compatibles.
Más información sobre la página de tarea en el directorio de servicios