La especificación del servicio de procesamiento web (WPS) del Open Geospatial Consortium, Inc. (OGC), es una especificación internacional para ofrecer y ejecutar el procesamiento geoespacial en la web. Cuando un servicio de geoprocesamiento se publica con recursos WPS, cualquier cliente que admita el servicio WPS puede acceder a los datos. Si no tiene experiencia con WPS y desea obtener más información antes de ver este tutorial, consulte Servicios WPS.
Este tutorial le guiará a través del proceso de publicación de un servicio de geoprocesamiento en ArcGIS Server al que pueden acceder clientes WPS. Para hacerlo, debe preparar una herramienta en ArcGIS Desktop, ejecutar la herramienta y obtener un buen resultado, y después publicar el resultado de geoprocesamiento con el recurso WPS habilitado.
Antes de comenzar con este tutorial
Con ArcGIS Server 10.8.1 o posterior, puede publicar una herramienta web o un servicio de geoprocesamiento desde ArcGIS Pro o ArcGIS Desktop. Si su versión de ArcGIS Server es 10.8 o anterior, solo puede publicar un servicio de geoprocesamiento habilitado con WPS desde ArcGIS Desktop:
- Para disponer de detalles sobre cómo configurar su sitio de ArcGIS Server, consulte Configurar una implementación en un solo equipo.
- Para aprender a hacer que los datos a los que hace referencia el recurso SIG estén disponibles para el servidor, consulte Volver accesibles los datos para ArcGIS Server.
Publicar un servicio WPS desde ArcGIS Pro
Antes de configurar un servicio WPS, debe publicar su análisis en ArcGIS Server. Si el servidor está federado, publique su análisis como una herramienta web. Si su servidor es una implementación en un solo equipo, publíquelo como un servicio de geoprocesamiento. Para publicar una herramienta web, consulte Un recorrido rápido por el procedimiento para crear y compartir herramientas web. Para publicar como un servicio de geoprocesamiento, consulte Un recorrido rápido para la creación y el uso compartido de servicios de geoprocesamiento. Una vez que haya publicado una herramienta web o servicio de geoprocesamiento, configure un servicio WPS con los siguientes pasos:
- Iniciar sesión en ArcGIS Server Manager
- En la pestaña Servicios predeterminada, localice y haga clic en el vínculo de su servicio publicado.
- En la pestaña Capacidades, active la casilla de verificación WPS.
Después de activar la opción WPS, verá las propiedades del servicio WPS. Puede configurar propiedades como Nombre, Resumen y Título.
Publicar un servicio WPS en ArcGIS Desktop
A diferencia de la publicación desde ArcGIS Pro, solo puede publicar análisis como una herramienta web o servicio de geoprocesamiento a través de una conexión de servidor. No obstante, puede configurar un servicio WPS durante el proceso de publicación además de configurarlo en ArcGIS Server Manager después de la publicación. A continuación, se describen pasos de publicación detallados:
Prepare la herramienta de geoprocesamiento en ArcGIS Desktop
Un servicio de geoprocesamiento contiene una o más tareas. Una tarea es similar a una herramienta de geoprocesamiento en el sentido de que acepta parámetros y devuelve resultados; es un término que utilizan clientes de ArcGIS Server para describir rutinas que funcionan en un servidor y devuelven resultados. Por ejemplo, puede crear una herramienta de geoprocesamiento que delinea cuencas hidrográficas basadas en el uso de la tierra, y datos de elevación. Esta herramienta puede publicarse a continuación con el recurso WPS habilitado y utilizarse como una tarea en una aplicación conforme con WPS en la web.
El tema Crear tareas de geoprocesamiento con ModelBuilder puede guiarle a través de los elementos que debe tener en cuenta al crear su herramienta de geoprocesamiento.
Ejecutar la herramienta
Antes de publicar la herramienta, ejecute la herramienta primero y obtenga un resultado de procesamiento exitoso en la ventana Resultados. Para hacerlo, aplique los pasos siguientes:
- En el árbol de Catálogo, haga doble clic en su herramienta de geoprocesamiento.
- Introduzca los valores de parámetros apropiados y haga clic en Aceptar para ejecutar la herramienta.
Cuando se ejecuta la herramienta satisfactoriamente, aparece la ventana Resultados.
Publique el resultado
Después de que la herramienta se ejecute satisfactoriamente, puede publicar su herramienta de geoprocesamiento como un servicio de geoprocesamiento. Durante este proceso, puede habilitar el recurso WPS que hará que el servicio de geoprocesamiento (y las tareas subsiguientes) cumplan con WPS de OGC.
- Haga clic con el botón derecho en su resultado de geoprocesamiento y elija Compartir como > Servicio de geoprocesamiento.
- En la ventana Compartir como servicio, elija Publicar un servicio. Haga clic en Siguiente.
- En el cuadro de diálogo Publicar un servicio, haga clic en la casilla de verificación Conectar a ArcGIS Server para crear una conexión al servidor.
- En la ventana Agregar ArcGIS Server, elija Publicar los servicios SIG. Haga clic en Siguiente.
- En la dirección URL del servidor, escriba la URL del sitio de ArcGIS Server con el que desea establecer conexión, por ejemplo, http://gisserver.domain.com:6080/arcgis.
- Desde la lista desplegableTipo de servidor, elijaArcGIS Server.
Durante el proceso de publicación, se crea un archivo de definición del servicio que se almacena temporalmente y de manera local en el disco. Cuando finaliza el proceso de publicación, se carga la definición del servicio en el servidor y se elimina el archivo local. Para los fines de este tutorial, acepte la carpeta provisional predeterminada y continúe.
- Introduzca su Nombre de usuario y Contraseña. Haga clic en Finalizar.
- En la ventana Publicar un servicio, introduzca un nuevo nombre para el servicio. El nombre no puede tener más de 120 caracteres de longitud y solo puede contener caracteres alfanuméricos y guiones bajos. Haga clic en Siguiente.
De manera predeterminada, los servicios se publican en la carpeta raíz (root) de ArcGIS Server. Los servicios se pueden organizar en subcarpetas dentro de la carpeta raíz.
Elija la carpeta donde desea publicar el servicio o cree una carpeta que incluya el servicio. Haga clic en Continuar. - Aparece el Editor de servicio. Utilizará el Editor del servicio para elegir lo que pueden hacer los usuarios con su servicio de geoprocesamiento y tomar el control preciso de cómo expondrá el servidor su servicio de geoprocesamiento. Haga clic en la pestaña Recursos.
- Por defecto, el geoprocesamiento está habilitado. Seleccione WPS.
- En el panel izquierdo del Editor del servicio, haga clic en WPS. Utilice este panel para elegir cómo configurar las propiedades del servicio WPS. Al proporcionar las propiedades del servicio WPS, los clientes pueden obtener una mejor comprensión del publicador del servicio.
- El campo URL muestra la URL que utilizan los clientes para acceder al servicio WPS. La dirección URL tendrá el siguiente formato: http://gisserver.domain.com:6080/arcgis/services/folder/service/GPServer/WPSServer.
Nota:
Copie y guarde la URL del servicio WPS. La necesitará para realizar los pasos adicionales de este tutorial.
- Para configurar un servicio WPS con archivos de recursos generados por el sistema, utilice la opción predeterminada Introducir propiedades del servicio a continuación. Los campos Nombre, Título y OnlineResource se rellenan automáticamente y no deben modificarse. Opcionalmente, puede completar las propiedades adicionales utilizando los campos de la lista. Para obtener más información, consulte las Propiedades disponibles del servicio WPS.
- Para configurar un servicio WPS para que utilice archivos de recursos externos, seleccione Utilizar archivos de recursos externos. Para utilizar esta opción, debe haber creado un archivo de recursos de WPS.
- Espacio de nombre y Prefijo son propiedades únicas que se utilizan para diferenciar sus procesos de WPS de otros procesos de WPS. Estos se completan automáticamente y no deben ser modificados.
Sugerencia:
Para disponer de consejos y mejores prácticas sobre cómo configurar propiedades del servicio de geoprocesamiento utilizando el Editor del servicio, consulte Configuración del servicio de geoprocesamiento: General. Para obtener más información acerca de la mejor configuración de los servicios para su implementación, consulte Ajustar y configurar servicios.
- El campo URL muestra la URL que utilizan los clientes para acceder al servicio WPS. La dirección URL tendrá el siguiente formato: http://gisserver.domain.com:6080/arcgis/services/folder/service/GPServer/WPSServer.
- Haga clic en el botón Analizar . Esto examinará su resultado para ver si se puede publicar como servicio WPS en el servidor.
Sugerencia:
Para contar con más área de visualización al configurar su servicio WPS, haga clic en el botón Contraer situado en la parte superior del Editor del servicio.
- Solucione cualquier error en la sección Errores de la ventana Preparar. Esto debe hacerse antes de publicar su resultado como un servicio WPS. Si lo desea, puede arreglar las advertencias y mensajes informativos para mejorar aún más el rendimiento y apariencia del servicio. Para obtener más información acerca de cómo resolver estos problemas, consulte Analizar tu recurso SIG.
Nota:
Puede registrar carpetas y geodatabases en su sitio de ArcGIS Server, lo cual garantiza que el servidor pueda reconocer y utilizar sus datos. Si continúa con los pasos siguientes, todos los datos a los que haga referencia su herramienta que surjan de una carpeta o geodatabase no registrada se copiarán en el servidor en el momento de la publicación. Esta es una medida de precaución para asegurar que el servidor pueda acceder a todos los datos que utiliza el servicio. Para obtener instrucciones detalladas acerca de cómo registrar una carpeta o una geodatabase con el sitio de ArcGIS Server, consulte Registrar sus datos con ArcGIS Server usando ArcGIS Desktop o ArcGIS Pro.
- De forma opcional, en el Editor de servicio, haga clic en Vista previa . Esto puede proporcionarle una vista previa de cómo aparecerá el cuadro de diálogo de la herramienta cuando se visualiza en la web.
- Después de solucionar los errores en su modelo de geoprocesamiento, haga clic en Publicar .
Obtener y describir un servicio WPS
Una vez que haya publicado un servicio WPS, este se puede utilizar en cualquier cliente que admita el servicio WPS 1.0.0. Un navegador web es uno de los clientes más sencillos de un servicio WPS. Puede solicitar información a través de HTTP y las respuestas o excepciones se devuelven a través del navegador.
Siga estos pasos para acceder a los servicios WPS mediante un navegador web:
- Abra un navegador web.
- Realice las solicitudes GetCapabilities y DescribeProcess tal y como se indica en las siguientes secciones.
GetCapabilities
Esta solicitud devuelve todos los metadatos y procesos disponibles a través del servicio en formato GML. Para utilizar la operación GetCapabilities, copie y pegue la URL del servicio WPS en la barra de direcciones y agregue ?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities al final de la URL.
Ejemplo de URL: https://gisserver.domain.com:6443/arcgis/services/my_wps/GPServer/WPSServer?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities
Ejemplo de URL: https://gisserver.domain.com/webadaptor//services/my_wps/GPServer/WPSServer?Service=WPS&Version=1.0.0&Request=GetCapabilities
DescribeProcess
La respuesta a una solicitud DescribeProcess contiene información detallada para una oferta de proceso específica, que básicamente describe el identificador único del proceso y el identificador, tipo y esquema de cada parámetro obligatorio u opcional de entrada/salida para el proceso. Esta información es necesaria para un cliente WPS para presentar solicitudes posteriores Ejecutar para el procesamiento geoespacial real. Para utilizar la operación DescribeProcess, copie y pegue la URL del servicio WFS en la barra de direcciones y agregue ?SERVICE=WPS&VERSION=1.0.0&REQUEST=DescribeProcess al final de la URL.
Ejemplo de URL: https://gisserver.domain.com:6443/arcgis/services/my_wps/GPServer/WPSServer?SERVICE=WPS&VERSION=1.0.0&REQUEST=DescribeProcess&Identifier=output_feature_layer
Ejemplo de URL: https://gisserver.domain.com/webadaptor/services/my_wps/GPServer/WPSServer?Service=WPS&Version=1.0.0&Request=DescribeProcess&Identifier=output_feature_layer
Ejecutar un proceso de servicio WPS
Para realizar procesamiento geoespacial en la web, puede enviar una solicitud Ejecutar al servicio WPS a través de un cliente WPS. Una solicitud Ejecutar normalmente tiene el valor o referencia de cada parámetro de entrada y salida del proceso de WPS y también especifica cómo debe devolver el servicio WPS el resultado del proceso. La respuesta a una solicitud de Ejecutar integrada contiene el resultado del procesamiento espacial y se pueden configurar para devolver los resultados de los últimos trabajos de procesamiento espacial.
Las operaciones Ejecutar generalmente se invocan a través de una solicitud HTTP POST en el cliente WPS. A continuación, se incluye un ejemplo de solicitud Ejecutar enviada al ejemplo de URL: https://gisserver.domain.com:6443/arcgis/services/my_wps/GPServer/WPSServer o un ejemplo de URL equivalente: https://gisserver.domain.com/webadaptor/services/my_wps/GPServer/WPSServer?Service=WPS&Version=1.0.0&Request=Execute&Identifier=SampleProcessId:
<wps:Execute xmlns:wps="http://www.opengis.net/wps/1.0.0" service="WPS" version="1.0.0" language="en-US">
<ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">SampleProcessId</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">Input_String</ows:Identifier>
<wps:Data>
<wps:LiteralData dataType="xs:string">abcdefg</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true" lineage="true" status="false">
<wps:Output schema="http://www.w3.org/TR/xmlschema-2/#string" asReference="false">
<ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">Output_String</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
Para obtener más información sobre las operaciones de solicitud de WPS y sus parámetros, consulte la especificación OGC WPS 1.0.0. Esri también mantiene una página web Estándares abiertos que detalla su soporte para servicios de OGC en ArcGIS.