Preparar datos para el uso sin conexión
En este tema
- Preparación de datos
- Preparación de servicios de entidades
- Salida de la descarga de copias locales de los datos o de la sincronización con el servicio
- Modos sincrónicos y asíncronos
- Información de sistema para los procesos de sincronización
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 for Server. 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 for Server.
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 capacidad 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 la función de sincronización solo se puede habilitar 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 obtener una demostración paso a paso detallada 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.
Usar una base de datos administrada de ArcGIS Server
Si habilita la función de sincronización en el momento de publicar en una base de datos administrada de ArcGIS Server, no se requiere ninguna preparación de los datos. El proceso de publicación configurará los datos para que se admita automáticamente la capacidad Sincronización. Si no va a publicar en una base de datos administrada de ArcGIS Server o si habilita la función de sincronización después de publicar 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:
Todos los valores de fecha deben estar en formato UTC.
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.
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 servicios de entidades alojados 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 portal utiliza 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 ArcGIS Data Store para la base de datos administrada, quizás necesite 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.
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
- Sinc.
- 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:
Cuando la función de sincronización está habilitada, los subtipos deben estar visibles; de lo contrario, no será posible habilitar el mapa sin conexión.
Capas del mapa
Un servicio de entidades publicado en ArcGIS for 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, se crea una versión cada vez que alguien deja un mapa sin conexión. 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 for 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.
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 HerramientasSincronización preconfigurado con ArcGIS Server; por tanto, se aplica la configuración del servicio de geoprocesamiento HerramientasSincronización.
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.