Si desea trabajar con mapas incluso cuando no haya conexión, puede habilitar una función de sincronización en los servicios de entidades que utilice en el mapa. La función de sincronización incluye operaciones que permiten a los clientes trabajar con una copia local de los datos. Si el publicador decide permitirlo, los clientes podrán editar la copia local de los datos y sincronizar con el servicio de entidades cuando dispongan de conectividad.
Nota:
Los clientes de ArcGIS y los SDK de desarrollador irán agregando compatibilidad con la función de sincronización a los servicios de entidades, que se introdujo en ArcGIS 10.2.1. Los primeros clientes que permiten trabajar con mapas sin conexión son los de las versiones 10.2.2 de Collector for ArcGIS y ArcGIS Runtime SDK. No puede habilitar la función de sincronización en servicios de entidades publicados con anterioridad a la versión ArcGIS 10.2.1.
Otros clientes pueden acceder a la función de sincronización a través de la API REST de ArcGIS.
Preparación de datos
Para usar la función de sincronización, todos los datos del servicio de entidades deben proceder de una geodatabase corporativa. Además, debe preparar los datos para poder utilizarlos sin conexión y, si es necesario, sincronizarlos a través del servicio de entidades cuando tenga conectividad.
Los datos utilizados en un servicio de entidades habilitado para la sincronización pueden ser no versionados con el archivado habilitado o, si los flujos de trabajo de la organización lo exigen, versionados.
Recuerde que solo puede habilitar la función de sincronización cuando todos los datos del mapa se han configurado exactamente de la misma forma; no se puede tener una mezcla de datos versionados y no versionados.
Datos no versionados con archivado
Puede usar datos no versionados habilitados para el archivado en un servicio de entidades que esté habilitado para la función de sincronización. Cuando los datos son no versionados, los clientes siempre trabajan con la representación actual de los datos. No se necesitan procesos administrativos internos para que los clientes que se ejecutan sin conexión obtengan los cambios más recientes cuando se conecten de nuevo al servicio de entidades.
Prepare los datos no versionados como se describe a continuación para participar en la función de sincronización:
- Habilite archivado en los datasets.
- Incluya Id. globales en los datasets.
- Las clases de relación y los adjuntos deben usar una clave principal de Id. global. Si desea obtener más información, consulte la sección sobre adjuntos y clases de relación de este tema.
Para ver una demostración paso a paso de este escenario, consulte Tutorial: Configurar datos del servicio de entidades para uso sin conexión.
Puede publicar servicios de entidades que hagan referencia a datos no versionados desde una geodatabase corporativa de la versión 10.2 o posterior, dejar los datos sin conexión para editarlos y sincronizar los cambios con la geodatabase corporativa a través del servicio de entidades.
Datos versionados
Si la organización requiere alguna de las condiciones siguientes, use datos versionados:
- Los datos participan en la función de la geodatabase que necesita ser versionada para permitir la edición. Por ejemplo, si la clase de entidad participa en una red geométrica, se debe versionar el dataset de entidades.
- Su organización dispone de flujos de trabajo que requieren datos versionados, por ejemplo para tener una versión de los datos con garantía de calidad.
Cuando necesite utilizar datos versionados, prepárelos como se describe a continuación:
- Incluya Id. globales en los datasets.
- Registre los datasets como versionados.
- Las clases de relación y los adjuntos deben usar una clave principal de Id. global. Si desea obtener más información, consulte la sección sobre adjuntos y clases de relación de este tema.
Puede publicar servicios de entidades que utilicen como referencia datos versionados de una geodatabase corporativa de la versión 10.1 o posterior, dejar los datos sin conexión para editarlos y sincronizar los cambios con la geodatabase corporativa a través del servicio de entidades.
Para obtener más información, consulte Mapas y datos versionados sin conexión.
Id. globales
Los Id. globales que se agregan a los datasets al dejarlos sin conexión no se pueden basar en un campo personalizado; deben usar de forma explícita el campo Id. global creado por ArcGIS. Para agregar Id. globales a los datos, use la herramienta de geoprocesamiento Agregar Id. globales o el comando Agregar Id. globales que se encuentra en los menús contextuales de la tabla, la clase de entidad y el dataset de entidades en el árbol de catálogo.
Adjuntos y clases de relación
Si los datos que desea usar sin conexión contienen adjuntos o participan en una clase de relación, la relación entre las tablas o entre la tabla y el adjunto debe usar una columna de Id. global o un campo administrado por el usuario como clave principal. Si la columna ObjectID es la clave principal, se devuelve un error cuando se descargan los datos para el uso sin conexión. Puede utilizar la herramienta de geoprocesamiento Migrar clase de relación para convertir los adjuntos y las clases de relación basados en ObjectID con el fin de que utilicen los campos de Id. global como clave principal.
La base de datos administrada del sitio de GIS Server
Si habilita la función de sincronización en el momento de publicar en el sitio de GIS Server y elige copiar los datos en la base de datos administrada del sitio, no se requiere ninguna preparación de los datos. El proceso de publicación configurará los datos para que se admita automáticamente la función de sincronización. Si no se copian datos en la base de datos administrada del sitio cuando publica o si habilita la función de sincronización después de publicar y copiar datos en la base de datos administrada, debe preparar los datos de la geodatabase como se ha descrito en las secciones anteriores.
Rastreo del editor
Puede usar el rastreo del editor con los datos que se editan sin conexión. Cuando descarga datos en el cliente para el uso sin conexión, los valores existentes en los campos de rastreo del editor se copian en el cliente junto con el resto de los datos. Cuando se trabaja con los datos sin conexión, la fecha y la hora de creación o edición de las entidades se registran en los campos de fecha de creación y edición, respectivamente. Los valores se conservan cuando los datos se sincronizan con el servicio.
Nota:
Si los campos de datos almacenan valores de una zona horaria distinta de UTC, especifique esa zona horaria al publicar el servicio. Si no lo hace, se supondrá que es UTC. ArcGIS aplicará la zona horaria que especifique en todos los campos de fecha de rastreo del editor.
Los datos sin conexión incluyen el nombre de usuario que desconectó el mapa. Esto se utiliza con el rastreo del editor de la siguiente manera:
- Para las entidades que se han creado sin conexión, el valor del nombre del creador se define como el usuario que dejó el mapa sin conexión.
- Para las entidades que se han editado sin conexión, el valor del nombre del editor se define como el usuario que dejó el mapa sin conexión. El valor del nombre del creador de estas entidades no se modifica.
La persona que dejó el mapa sin conexión o un administrador de ArcGIS Server puede conectarse al servicio y sincronizar los datos.
Rastreo del editor en colaboración distribuida
Cuando se utiliza el rastreo del editor en flujos de trabajo de colaboración distribuida, los comportamientos son los siguientes:
El rastreo del editor se habilita en capas de entidades para las organizaciones receptoras cuando está habilitado en la organización de envío antes de la colaboración. Cuando los datos se copian por primera vez en las organizaciones receptoras, los valores del rastreo del editor se restablecen en aquellos casos en los que las fechas están definidas con el registro de hora actual en UTC y los creadores y editores están definidos como usuario publicador. Los valores restablecidos reflejan los datos recién copiados en una nueva organización. Durante la sincronización, se mantienen las fechas del rastreo del editor de la organización de envío. Por tanto, a partir del momento en que se comparten los datos, la organización receptora incluirá las fechas en que se realizaron las ediciones en la organización de envío. Los valores de creador y editor para inserciones y actualizaciones sincronizadas en la organización receptora se establecerán con el propietario de la réplica (usuario publicador) correspondiente al momento en que se copió la capa de entidades.
Es posible habilitar el rastreo del editor en algunas capas, pero no en otras incluidas dentro de las capas de entidades de una colaboración. En este caso, al enviar desde ArcGIS Enterprise o ArcGIS Online, todas las capas tendrán habilitado el rastreo del editor en la capa de entidades alojadas en ArcGIS Online. Si las capas de ArcGIS Online y ArcGIS Enterprise tienen habilitado el rastreo del editor, el comportamiento es el que se describe arriba. Cuando una capa solo tiene habilitado el rastreo del editor en ArcGIS Online, el proceso de sincronización definirá los valores de rastreo del editor según el registro de hora actual y el propietario de la réplica (usuario publicador).
En la colaboración de ArcGIS Online a ArcGIS Enterprise con el rastreo del editor habilitado, todas las capas de las capas de entidades de ArcGIS Online y ArcGIS Enterprise tendrán habilitado el rastreo del editor.
Si habilita el rastreo del editor después de agregar la capa de entidades a la colaboración, las organizaciones receptoras no tendrán habilitado el rastreo del editor.
La configuración del control de acceso se mantiene para las organizaciones receptoras, pero no tiene ninguna consecuencia porque todas las entidades pertenecen al propietario de la réplica en las organizaciones receptoras.
Servicios de entidades alojados
Si va a publicar servicios de entidades alojados en ArcGIS Online (capas de entidades alojadas), los datos son siempre no versionados y se preparan automáticamente para usar la sincronización cuando se habilitan las funciones de sincronización. Esto se hace porque los publicadores no tienen acceso al servidor de alojamiento de ArcGIS Online y, por tanto, no pueden preparar los datos manualmente para usar las funciones de sincronización.
Al publicar capas de entidades alojadas en Portal for ArcGIS, los datos se copian en la base de datos administrada del servidor donde se aloja el portal. Estos datos también son siempre no versionados. Si el servidor host del portal utiliza un data store relacional de ArcGIS Data Store para la base de datos administrada del servidor de alojamiento, los datos se preparan automáticamente para usar la sincronización al habilitar los recursos de sincronización. Si no está utilizando un data store relacional para la base de datos administrada, quizá deba modificar los datos manualmente para la sincronización. Para obtener más información, consulte Habilitar un servicio de entidades alojado para la representación cartográfica sin conexión en la Ayuda de Portal for ArcGIS.
Legado:
ArcGIS Enterprise 10.5.1 es la última versión que permitirá el uso de una geodatabase corporativa como base de datos administrada para un servidor de alojamiento. Si va a configurar un nuevo servidor de alojamiento, use un data store relacional.
Preparación de servicios de entidades
Al crear un servicio de entidades, el publicador elige las opciones que definen las ediciones que se pueden realizar a través del servicio. Las siguientes secciones describen cómo se aplican las opciones cuando los mapas se usan sin conexión.
Operaciones permitidas (funciones)
Las funciones de los servicios de entidades definen las operaciones que están permitidas cuando se trabaja con un servicio de entidades. Hay dos configuraciones compatibles con los servicios de entidades que participan en el uso de mapas sin conexión:
- Datos de solo lectura: si los clientes solo van a consultar los datos que descarguen del servicio de entidades para usarlos sin conexión, defina las funciones de Consulta y Sincronización en el servicio de entidades. Con esta configuración, los datos no se pueden editar sin conexión y volver a sincronizarse con el servicio.
- Datos editables: si los clientes van a editar los datos sin conexión y van a sincronizar los cambios con el servicio de entidades cuando tengan conectividad, defina las siguientes funciones en el servicio de entidades:
- Consulta
- Sincronizar
- Cualquier combinación de Crear, Eliminar y Actualizar
Una vez creado el servicio de entidades, los publicadores y los administradores pueden optar por deshabilitar la función de sincronización. Por ejemplo, un publicador o un administrador podría deshabilitar la función de sincronización en el servicio para impedir que los clientes sincronicen con el servicio mientras se realizan tareas de mantenimiento de datos, como la regeneración de índices.
Transacciones cortas
Si está utilizando datos no versionados, evite mantener las transacciones de edición abiertas durante periodos de tiempo largos cuando edite un servicio de entidades habilitado para la sincronización. Por ejemplo, si va a editar datos no versionados en ArcMap que también se usan para la sincronización con un servicio de entidades, asegúrese de guardar periódicamente los cambios y deje de editar cuando la sesión de edición se haya completado.
Actualizaciones de geometría y curvas verdaderas
El servicio de entidades se puede configurar para permitir las actualizaciones de geometría y las ediciones de datos con curvas verdaderas. Esta configuración se aplica cuando las ediciones se sincronizan entre el cliente y el servicio. Los cambios realizados por el cliente que infrinjan las actualizaciones de geometría y los ajustes de las curvas verdaderas del servicio de entidades no se sincronizarán con el servicio.
Control de acceso basado en la propiedad
Puede controlar el acceso a entidades mediante el control de acceso basado en la propiedad. Los cambios realizados por el cliente que infrinjan las reglas de control de acceso basadas en la propiedad no se sincronizarán con el servicio. El usuario de inicio de sesión empleado para sincronizar los cambios se considera el editor en este caso.
La persona que dejó el mapa sin conexión o un administrador de ArcGIS Server puede conectarse al servicio y sincronizar los datos. Cuando un administrador sincroniza los cambios realizados sin conexión, el control de acceso por propiedad se basa en el usuario nominal que dejó el mapa sin conexión, no en el administrador.
Campos invisibles y de solo lectura
Cuando se crea un servicio de entidades, se puede optar por hacer que algunos campos sean de solo lectura o no estén visibles para el servicio de entidades. Los campos que no estén visibles para el servicio de entidades no se descargarán en el cliente para el uso sin conexión. Los campos de solo lectura seguirán siendo de solo lectura en los datos descargados.
Nota:
Los siguientes elementos deben estar visibles cuando la función de sincronización está habilitada; de lo contrario, no será posible activar el mapa sin conexión.
- Subtipos
- Los campos de clave principal y externa si existe una clase de relación
- Los campos de rastreo del editor si el rastreo del editor está activado
Capas del mapa
Un servicio de entidades publicado en ArcGIS Server o en Portal for ArcGIS que contenga dos capas basadas en la misma clase de entidad no se puede dejar sin conexión, ni tampoco se puede editar o sincronizar.
Por ejemplo, si agrega una clase de entidad de carreteras al mapa para mostrar todas las carreteras, agrega la misma clase de entidad de carreteras, establece una consulta de definición en ella para mostrar las carreteras en construcción y publica un servicio de entidades desde el mapa, no podrá dejar el servicio de entidades sin conexión para editar y sincronizar los cambios cuando recupere la conexión.
Opciones de sincronización
Cuando un servicio de entidades editable contiene datos versionados, se crea una versión para clientes individuales cuando se deja un mapa sin conexión. Cuando un cliente sincroniza los cambios con el servicio de entidades, se aplican los cambios a esta versión. El administrador de la geodatabase debe llevar a cabo una conciliación y procesos de envío para compartir los cambios con otros.
Cuando un servicio de entidades de solo lectura (solo con las funciones de consulta y sincronización habilitadas) contiene datos versionados, no se crea ninguna versión. Cuando un cliente se sincroniza con la versión publicada, los cambios realizados en el servicio de entidades publicados están automáticamente disponibles en el equipo cliente.
De manera predeterminada, cada vez que alguien deja sin conexión un mapa se crea una versión que contiene un servicio de entidades editable. Sin embargo, el administrador de ArcGIS Server o el propietario del servicio de entidades puede configurar el servicio de entidades de forma que se cree una versión para cada inicio de sesión.
Por ejemplo, si cinco trabajadores de campo diferentes dejan un mapa sin conexión, se generan cinco versiones. Cada versión es específica de un inicio de sesión concreto, y el nombre de versión se basa en el nombre de inicio de sesión y el nombre del servicio (por ejemplo, Joe_ValveFS). Si Joe deja el mapa sin conexión varias veces (por ejemplo, desde más de un dispositivo), se usará la misma versión cuando Joe sincronice desde cada dispositivo. De este modo, un dispositivo tendrá acceso a los cambios de los otros dispositivos. Sin embargo, los nuevos mapas sin conexión solo estarán tan actualizados como la última vez que la versión de Joe se concilió. Una versión se conservará mientras la persona que dejó el mapa sin conexión siga teniendo el mapa sin conexión.
Nota:
Los nombres de las versiones creadas para la sincronización están limitados a 30 bytes.
Siga estos pasos para definir esta opción de sincronización en un servicio de ArcGIS Server:
- Inicie sesión en ArcGIS Server Manager como propietario del servicio o administrador de ArcGIS Server.
- Asegúrese de que Servicios se ha seleccionado en la parte superior de ArcGIS Server Manager.
- Vaya al servicio de entidades y haga clic en el nombre del servicio para abrir la información sobre ese servicio.
- Haga clic en Funcionalidades.
- Seleccione Acceso a entidades.
- En Propiedades, haga clic en Opciones avanzadas.
Se abre el cuadro de diálogo Opciones avanzadas del servicio de entidades.
- En Sincronizar, elija Crear una versión para cada Mapa descargado o Usuario.
- Haga clic en Aceptar para cerrar el cuadro de diálogo Opciones avanzadas del servicio de entidades.
- Haga clic en Guardar y reiniciar para aplicar los cambios de la configuración al servicio de entidades.
El servicio no estará disponible mientras se reinicia.
Salida de la descarga de copias locales de los datos o de la sincronización con el servicio
Cuando se descargan los datos en un cliente local, se crea un archivo que contiene los datos en el directorio de salida de ArcGIS Server, y el cliente descarga ese archivo. De manera predeterminada, los archivos a los que no ha tenido acceso ningún proceso durante más de diez minutos se eliminan del directorio de salida. Si espera que transcurran más de diez minutos desde que el cliente empieza a descargar el archivo, puede crear otro directorio de salida con un tiempo de limpieza más largo y usarlo para sus servicios de entidades. Si lo prefiere, puede incrementar el tiempo de limpieza del directorio de salida predeterminado; sin embargo eso afectará a todos los servicios que usen el directorio de salida predeterminado.
Nota:
Al utilizar la operación createReplica para crear una copia local de los datos, se seleccionan las capas, las tablas y la extensión de los datos que se deben copiar. De forma predeterminada, la copia local contiene las entidades que intersecan la extensión y las filas de las tablas relacionadas con estas entidades. En el caso de tablas, se puede optar por aplicar un filtro de consulta o incluir todas las filas en lugar de usar lo predeterminado. Al copiar una grande cantidad de datos con muchas clases de relación, establecer un filtro o todas las filas de las tablas puede mejorar el rendimiento. Para establecer un filtro o incluir todas las filas, consulte el parámetro layerQueries de la operación createReplica en la ayuda de la API REST de ArcGIS.
Modos sincrónicos y asíncronos
Las operaciones de sincronización que descargan copias locales de los datos o sincronizan los cambios con el servicio se pueden ejecutar en modo sincrónico o asíncrono. Cuando se usa el modo sincrónico, el servicio realiza el procesamiento; por tanto, se aplican ajustes del servicio como los números mínimo y máximo de instancias que se van a usar, los intervalos de tiempo de espera y los intervalos de reciclaje. Cuando se usa el modo asíncrono, el procesamiento se realiza en el servicio de geoprocesamiento SyncTools preconfigurado con ArcGIS Server; por tanto, se aplica la configuración del servicio de geoprocesamiento SyncTools.
Información de sistema para los procesos de sincronización
Cuando los datos se descargan para el uso de mapas sin conexión o cuando los cambios se vuelven a sincronizar con el servicio, la información sobre estos procesos se almacena en las tablas del sistema de la geodatabase corporativa que el servicio de entidades utiliza para los datos de origen. El recurso de réplicas del servicio de entidades muestra los metadatos para el servicio de entidades. Si el servicio está protegido, solo se muestran los metadatos asociados con el usuario que ha iniciado sesión o con el usuario anónimo. Los servicios de geodatos también incluyen un recurso de réplicas, que muestra los metadatos de todos los servicios de entidades que hacen referencia a la geodatabase. Los administradores pueden usar servicios de geodatos para tareas como mostrar los metadatos por servicio o eliminar los metadatos para los servicios de entidades que se han eliminado.