Tutorial: Publicar un servicio de WFS-T

Complejidad: Principante Requisito de datos: Utilizar datos propios Objetivo: Publicar un servicio de WFS-T con ArcGIS 10.1 for Server y utilizarlo en un navegador Web.

Este tutorial le explica cómo publicar un servicio WFS con transacciones (WFS-T) en ArcGIS 10.1 for Server utilizando ArcMap. WFS es una especificación publicada por el Open Geospatial Consortium, Inc. (OGC), para proporcionar entidades geográficas en Internet. Un servicio de WFS con transacciones (WFS-T) permite a los clientes WFS aplicar ediciones (inserciones, borrados y actualizaciones) a los datos en la base de datos de origen a través del servicio de WFS.

Cuando un servicio de mapas o un servicio de geodatos se publica con los recursos de WFS, los clientes WFS que cumplen con OGC pueden acceder a los datos, incluso la Extensión de ArcGIS Data Interoperability for Desktop en ArcGIS for Desktop. Estos clientes WFS también pueden ver los últimos cambios realizados en los datos. Si es la primera vez que usa los servicios WFS y desea obtener más información antes de proseguir con este tutorial, consulte Servicios WFS.

Los servicios WFS son compatibles con las entidades simples procedentes de fuentes Esri, tales como shapefiles y geodatabases. Sin embargo, si va a habilitar transacciones en el servicio (WFS-T), todos los datos que desee editar deben estar almacenados en una geodatabase de ArcSDE. Este tutorial muestra el flujo de trabajo que se deberá utilizar cuando se trabaja específicamente con datos versionados.

Antes de comenzar con este tutorial

Si acaba de instalar ArcGIS 10.1 for Server, debe completar algunos pasos preparatorios para poder conectarse al servidor y publicar servicios:

Decidir entre un servicio de geodatos o un servicio de mapas

Con el servicio WFS, tiene la opción de publicar un servicio de geodatos o un servicio de mapas. Hay unas pocas diferencias que tiene que tener en cuenta cuando seleccione el tipo de servicio que va a crear. Las siguientes secciones resumen las funcionalidades disponibles en los servicios de mapas y geodatos para ayudarle a identificar el tipo de servicio que mejor se ajusta a sus requisitos.

Servicios de mapas

Un servicio de mapas WFS representa un documento de mapa que ha puesto a disposición para otros usuarios a través de Internet o cualquier cliente WFS compatible con OGC. El servicio de mapas con la funcionalidad de WFS le brinda un gran control de los datos que se publican a través del servicio. Aquí le presentamos algunas razones comunes por las cuales debería configurar un servicio de mapas:

  • A diferencia de un servicio de geodatos, un servicio de mapas único puede incluir datos procedentes de diferentes orígenes, incluidos los datos procedentes de varias geodatabases (archivo y ArcSDE) y shapefiles.
  • Puede seleccionar las clases de entidad que va a exponer a través del servicio de mapas.
  • Puede cambiar el nombre de las clases de entidad en el documento de mapa de manera que el servicio no exponga los nombres reales en la fuente de datos.

También hay algunas limitaciones asociadas con los servicios de mapas de WFS. Tenga en cuenta los siguientes aspectos cuando publique un servicio WFS a partir de un documento de mapa:

  • El documento de mapa es una especificación de las capas que estarán disponibles en el servicio de WFS. La simbología, las definiciones de consulta y los alias de campo definidos en el nivel de la capa no se transferirán al servicio de WFS porque el propósito del servicio es exponer las entidades en los datos. Para exponer las propiedades visuales del mapa mediante especificaciones OGC, utilice un servicio WMS.
  • Dos o más capas del mapa no pueden hacer referencia a la misma clase de entidad.
  • Dos o más capas del mapa no pueden tener el mismo nombre.
  • Dado que WFS sólo trabaja con entidades, cualquier capa ráster del mapa quedará excluida del servicio.
  • Las tablas no espaciales no se exponen.
  • Si desea que el servicio de WFS admita transacciones de edición (WFS-T), los datos de origen de todas las capas del mapa deben provenir del mismo espacio de trabajo, por ejemplo, la misma geodatabase de ArcSDE.

Servicios de geodatos

Un servicio de geodatos WFS le permite acceder a una geodatabase de ArcSDE o geodatabase de archivos a través de Internet o con cualquier cliente de WFS compatible con OGC. Cuando se crea un servicio WFS a partir de un servicio de geodatos, es importante tener en cuenta que todas las clases de entidad de la geodatabase quedarán expuestas en el servicio.

Los servicios de geodatos son útiles para las situaciones en que necesita acceder a geodatabases en ubicaciones remotas. Por ejemplo, en el caso de que una empresa quiera configurar geodatabases de ArcSDE para gestionar datos en sus oficinas de Los Ángeles y Nueva York. Una vez creadas, cada oficina puede publicar su geodatabase de ArcSDE en Internet mediante un servicio de geodatos.

Preparar los datos para un servicio WFS-T

Antes de crear un servicio WFS con acceso de lectura y escritura de datos, se requieren algunos requisitos iniciales para configurar los datos:

Siga los siguientes pasos para preparar los datos de un servicio WFS-T con datos versionados:

Pasos:
  1. En ArcCatalog o la ventana Catálogo de ArcGIS for DesktopDesktop, para cargar los datos que desee publicar en una geodatabase ArcSDE . Para obtener más información sobre la carga de datos, consulte Cargar datos en ArcCatalog.
  2. Registre los datos como versionados, para ello haga clic con el botón derecho del ratón sobre el dataset y seleccione Registrar datos como versionados en el menú contextual. Para más información, consulte Registrar datos como versionados.
  3. Ahora que los datos están versionados, debe dedicar específicamente una versión para que los usuarios de WFS la puedan editar. Si no existe dicha versión, haga clic con el botón derecho del ratón en la conexión ArcSDE y elija Administración > Administrar geodatabases.
  4. En la ventana de conexión, haga clic en la pestaña Versiones .
  5. Haga clic con el botón derecho del ratón en la versión de la geodatabase que desea crear una versión secundaria y haga clic en Nuevo.
  6. Introduzca un Nombre para la nueva versión. Si otros usuarios, además del creador, van a editar datos, debe configurarse la opción de Permiso en Público.
NotaNota:

Si está creando un servicio de mapas,continúe a la sección servicios de mapas a continuación. Si está creando un servicio de geodatos, continúe a la sección servicios de geodatossiguiente.

Para servicios de mapas

Para asegurar que el servicio de mapas publica los datos adecuados cuando se crea, el documento de mapa debe estar actualizado de modo que puedan hacer referencia a la nueva versión de WFS que se ha creado.

Pasos:
  1. Abra el documento de mapa en ArcMap.
  2. En la tabla de contenido ArcMap, haga clic en Lista por fuente Mostrar por fuente.
  3. Haga clic con el botón derecho del ratón en la conexión de la geodatabase y, a continuación, seleccione Cambiar versión.
  4. En el cuadro de diálogo Cambiar versión, seleccione la versión adaptada para los usuarios de WFS y haga clic en Aceptar.
  5. Guarde los cambios en el documento de mapa.

Para servicios de geodatos

Para asegurar que el servicio de geodatos publica los datos apropiados cuando se crea, las propiedades de conexión de la geodatabase deben estar actualizado de modo que puedan hacer referencia a la nueva versión de WFS que se ha creado.

Pasos:
  1. En ArcCatalog o la ventana Catálogo de ArcGIS for Desktop, haga clic con el botón derecho del ratón en la conexión a la geodatabase y elija Administración > Administrar geodatabases.
  2. En el cuadro de diálogo Administración , haga clic en Versiones.
  3. Seleccione la versión adaptada para los usuarios de WFS y haga clic en Aceptar.

Publicar un servicio WFS-T con ArcGIS 10.1 for Server

Para comenzar a publicar un servicio WFS-T, siga estos pasos.

Pasos:
  1. Siga las instrucciones en la tabla a continuación se basa en el tipo de servicio que desee publicar:

    opción

    Descripción

    Si desea publicar un servicio de mapas WFS-T...

    ...abra el documento de mapa en ArcMap y elijaArchivo > Compartir como > Servicio. Haga clic en Siguiente.

    Si desea publicar un servicio de geodatos WFS-T...

    ...navegue hasta la geodatabase ArcSDE o geodatabase de archivos en ArcCatalog o la ventana Catálogo, haga clic con el botón derecho del ratón y elija Compartir como servicio de geodatos.

  2. En la ventanaCompartir como servicio, elija Publicar un servicio. Haga clic en Siguiente.
  3. En el cuadro de diálogo Publicar a sevicio , haga clic en Connectar a ArcGIS 10.1 for Server Agregar ArcGIS Server para crear una nueva conexión con el servidor.
  4. En la ventana Agregar ArcGIS 10.1 for Server, elija Publicar servicios SIG. Haga clic en Siguiente.
  5. Para la direcciónURL del servidor, escriba la URL del sitio ArcGIS 10.1 for Server al que desea conectarse. Por ejemplo, http://myserver:6080/arcgis.
  6. Desde la lista desplegableTipo de servidor, elijaArcGIS 10.1 for Server.
  7. 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.
  8. Si el administrador del servidor ha habilitado la seguridad del sitio, introduzca su Nombre de usuario y Contraseña. Haga clic en Finalizar.
  9. Opcionalmente, 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 sólo puede contener caracteres alfanuméricos y guiones bajos. Haga clic en Siguiente.
  10. De manera predeterminada, los servicios se publican en la carpeta raíz (raíz) de ArcGIS 10.1 for 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 nueva carpeta que incluirá el servicio. Haga clic en Continuar.
  11. Se muestra el Editor del servicio. Utilizará el Editor del servicio para elegir lo qué los usuarios pueden hacer con su servicio WFS-T y tomar control preciso de cómo expondrá el servidor su servicio de imágenes. Haga clic en la pestaña Recursos.
  12. Por defecto, representación cartográfica y KML están habilitados. Seleccione WFS.
  13. En el panel izquierdo de la Editor del servicio, haga clic en WFS. Utilice este panel para elegir cómo configurar las propiedades del servicio WFS. Al proporcionar las propiedades del servicio WFS, los clientes pueden obtener una mejor comprensión del publicador del servicio.
    • El campoURL muestra la URL que utilizan los clientes para acceder al servicio WFS. La dirección URL tendrá el siguiente formato: http://<nombre de servidor>:6080/arcgis/services/<nombre de carpeta (si aplica)>/<nombre de servicio>/MapServer/WFSServer.
      NotaNota:

      Copie y guarde la URL del servicio WFS. La necesitará para realizar los pasos adicionales de este tutorial.

    • Si desea publicar un servicio WFS con archivos de recursos generados por el sistema, utilice la opción predeterminada Introducir propiedades del servicio a continuación. Los campos de Nombre, Tesela y OnlineResource se completan automáticamente y no se deben modificar. Opcionalmente, puede completar las propiedades adicionales utilizando los campos de la lista. Para más información, consulte lasPropiedades disponibles del servicio WFS.
    • Si desea configurar un servicio WFS 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 WFS. Para más información, consulte Utilizar archivos de recursos externos con servicios WFS.
  14. En la parte inferior del panel WFS, haga clic en la casilla de verificación Habilitar transacciones. Esto permitirá que los usuarios de WFS editen y apliquen cambios a los datos en la base de datos de origen.
  15. Haga clic en Analizar Analizar. Esto examina el documento de mapa o geodatabase para ver si se puede publicar en el servidor.
    SugerenciaSugerencia:

    Para tener más área de visualización al configurar su servicio WFS-T, haga clic en el botón Contraer Contraer en la parte superior del Editor de servicio.

  16. Corrija los Errores Error en la ventana Preparar; esto debe hacerse antes de que pueda publicar. Si lo desea, puede arreglar las advertencias y mensajes informativos para mejorar aún más el rendimiento y apariencia del servicio WFS-T. Para más información acerca de cómo resolver estos problemas, consulte Analizar el recurso SIG.
    NotaNota:

    Puede registrar las carpetas y geodatabases con el sitio de ArcGIS 10.1 for Server, asegurando así que el servidor pueda reconocer y utilizar los datos. Si continúa con los pasos siguientes, todos los datos a los que haga referencia el recurso SIG, que surjan de una carpeta o geodatabase no registrada, se copiarán al servidor al 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 instrucciones detalladas acerca de cómo registrar una carpeta o geodatabase con el sitio de ArcGIS 10.1 for Server, consulte Registrar los datos con ArcGIS 10.1 for Server utilizando ArcGIS for Desktop.

  17. Opcionalmente, en el Editor del servicio, haga clic en Vista previa Vista previa. Esto puede darle una idea de cómo el servicio WFS-T será cuando se visualizan en la web. Consulte Vista previa de mapa para más información.
  18. Después de solucionar los errores en el documento de mapa o geodatabase, haga clic en PublicarPublicar.

Utilizar el servicio WFS

Una vez haya publicado un servicio WFS, cualquier cliente que admita el servicio WFS 1.1 y el perfil de entidades simples de GML, incluidos los navegadores Web podrá usarlo. Un navegador web es uno de los clientes más sencillos de un servicio WFS. 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 WFS mediante un navegador web:

Pasos:
  1. Abra un navegador web.
  2. Realice las solicitudes GetCapabilities, DescribeFeatureType y GetFeature tal como se indica en las siguientes secciones.

GetCapabilities

Esta solicitud le devolverá todo tipo de entidades y funcionalidades disponibles a través del servicio en formato GML. Para utilizar la operación GetCapabilities, copie y pegue la URL del servicio WFS en la barra de direcciones y agregue ?request=getcapabilitiesal final de la URL.

Ejemplo de URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=GetCapabilities

El siguiente gráfico es un ejemplo de una funcionalidad devuelta en la operación GetCapabilities:

Funcionalidad devuelta en la operación GetCapabilities

GetCapabilities también devuelve una lista de todas las tablas y clases de entidad disponibles:

Clases de entidad y tablas disponibles devueltas en la operación GetCapabilities

DescribeFeatureType

Esta solicitud describe la información del campo sobre una o más entidades en el servicio de WFS. Incluye los nombres de campo, los tipos de campo, los valores de campo máximo y mínimo permitidos y cualquier otra restricción establecida en un campo de las clases de entidad o tablas.

Para utilizar la operación DescribeFeatureType, copie y pegue la URL del WFS en la barra de direcciones y agregue ?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0 al final de la URL. Esto devolverá toda la información del campo de cada una de las tablas y tipos de entidad disponibles en el servicio de entidades.

Ejemplo de URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0

Clases de entidad, información del campo y tablas devueltas en la operación DescribeFeatureType

Agregar filtros

Puede también especificar una única tabla o clase de entidad de la que desea información del campo incorporando la siguiente solicitud al final de la URL con el nombre de la tabla o tipo de entidad: ?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=<introduzca tipo de entidad aquí>&VERSION=1.1.0.

Para más información acerca de los diferentes filtros disponibles con los servicios WFS, consulte Comunicación con un servicio WMS en un navegador web.

En el siguiente ejemplo, la solicitud DescribeFeatureType se utiliza para identificar la información del campo para el tipo de entidad denominada ciudades.

Ejemplo de URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=cities&VERSION=1.1.0

La clase de entidad de ciudades y su información del campo correspondiente devueltas en la operación filtrada DescribeFeatureType

GetFeature

Esta solicitud devuelve información sobre tipos de entidad específicos disponibles a través del servicio WFS.

Para utilizar la operación GetFeature en un navegador web, copie y pegue la URL del WFS en la barra de direcciones y agregue ?request=getFeature&typename=<enter feature type here> al final de la URL. Esto devolverá toda la información sobre atributos y geometría de cada entidad o fila en el tipo de entidad.

Ejemplo de URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities

Información sobre atributos y geometría de la clase de entidad de ciudades devuelta en la operación GetFeature

Agregar filtros

También puede agregar filtros en la solicitud para delimitar los resultados que se devuelven. Por ejemplo, puede solicitar todas las ciudades comprendidas en un rango especificado de coordenadas. En el ejemplo siguiente, dos ciudades están comprendidas en un rango especificado de coordenadas. Para obtener más información acerca de los diferentes filtros disponibles con los servicios WFS, consulte el tema Comunicación con un servicio WMS en un navegador web.

Ejemplo de URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities&BBOX=46.90,-76.21,42.12,-72.88

Ciudades dentro del rango especificado de coordenadas devueltas en la operación GetFeature

Utilizar la extensión Data Interoperability para conectarse a un servicio WFS

La extensión de Interoperabilidad de datos le permite leer y escribir datos en formatos de datos además de ArcGIS. Puede utilizar la herramienta Conexiones de interoperabilidad ubicada en ArcCatalog o en la ventana Catálogo en ArcGIS for Desktop para conectarse directamente a formatos de datos externos de Esri, incluyendo los servicios WFS. Una vez realizada la conexión, la fuente de datos aparecerá en la entrada Conexión de interoperabilidad del árbol de catálogo. Una conexión es como cualquier otro dataset que puede agregar a la tabla de contenidos o utilizar con herramientas de geoprocesamiento. Para obtener más información sobre cómo conectarse a un servicio de WFS mediante la extensión de interoperabilidad de datos, consulte Cómo trabajar con WFS utilizando ArcGIS for Desktop.

Gestionar cambios realizados a través de un servicio WFS-T con datos versionados

Es importante crear un flujo de trabajo eficaz para gestionar los cambios realizados a través de un servicio WFS-T. Suponiendo que siguió el método recomendado de crear una versión de WFS separada para que los editores de WFS-T trabajen con ella, el sistema que ha configurado debe tener una apariencia similar a la del diagrama que se muestra a continuación:

Sistema de edición de WFS-T común
Edición Web con un servicio WFS-T con datos versionados.

En este ejemplo, los editores de WFS-T y los editores de ArcMap utilizan versiones de manera que cada grupo tenga su propia vista aislada de la geodatabase con la que trabajar. Los editores de ArcMap editan directamente la versión por defecto a través de ArcMap. Los editores de WFS-T acceden al servicio de WFS a través de la Internet. Esto permite que los editores de WFS-T realicen ediciones en la versión de WFS que fue creada como versión secundaria de la predeterminada. Para obtener más información acerca de las versiones, consulte Recorrido rápido por las versiones en el sistema de ayuda del escritorio.

Para mantener sincronizadas ambas versiones, se puede ejecutar con frecuencia un proceso para actualizar la versión de WFS con los cambios a partir de la versión predeterminada, y actualizar la versión predeterminada con los cambios a partir de la versión de WFS. Se trata de un proceso de dos pasos en el flujo de trabajo de edición para cualquier sistema versionado denominado conciliar y enviar. Este proceso se puede automatizar o puede administrarlo un editor (dependiendo del permiso que posea), o puede hacerlo también un administrador de base de datos. Para obtener más información acerca del proceso de conciliar y enviar, consulte Recorrido rápido por el proceso de edición de versiones.

Cuando se ejecuta, la operación de conciliación recuperará las actualizaciones a partir de la versión predeterminada a la sesión actual de edición en la versión de WFS. Se pueden producir conflictos si se han realizado cambios de las mismas entidades en ambas versiones. En este caso, puede configurar la resolución de conflictos tanto para que sea automática como para resolver manualmente cada conflicto mediante el cuadro de diálogo de resolución de conflictos.

Después de gestionar todos los conflictos, se puede ejecutar la operación de envío. Este proceso fusiona los cambios de la versión WFS en la versión por defecto.

El proceso completo de conciliar y enviar se resume en el diagrama siguiente. Aquí, la versión de WFS impulsa las actualizaciones de la versión Predeterminada durante la conciliación. Después de incorporar los cambios, la versión WFS envía las actualizaciones a la versión por defecto mediante la operación de envío. En este punto, la versión por defecto y la WFS tienen el mismo contenido.

Proceso de conciliar y enviar
El proceso de conciliar y enviar con la versión por defecto y la WFS.

Después de finalizar el proceso de conciliar y enviar, ambas versiones están actualizadas con la representación más actualizada de las entidades, y los editores de WFS pueden continuar realizando cambios.

Es importante tener en cuenta que si se produce un bloqueo importante mientras se ejecuta la función conciliar y enviar, el sistema no considerará correcto el proceso. Se trata de una forma de protección que se aplica para evitar conflictos entre las entidades bloqueadas por clientes WFS-T y las entidades que se cambiaron mediante el proceso de conciliación y publicación. Igualmente, ejecutar conciliar y enviar bloqueará la versión WFS-T para evitar que los editores de WFS-T realicen bloqueos y peticiones de transacción durante el proceso de conciliación y envío.

Para tener en cuenta esta precaución, se recomienda que el proceso de conciliación y envío se ejecute en momentos determinados que todos los editores de WFS-T conozcan con antelación. Con ello, los cambios que realizan los editores se enviarán a la base de datos. También es posible que los administradores tengan que quitar los bloqueos manualmente de la tabla de bloqueos antes del proceso de conciliación y publicación.

Para obtener más información acerca del esquema de bloqueos en WFS-T, consulte Servicios WFS.

9/12/2013