Altova MobileTogether Designer

Conectarse al servidor a petición

Inicio Anterior Inicio Siguiente

Las soluciones de ejemplo 02-DisplayRecords.mtd (imagen siguiente izquierda) y 03-DisplayOnDemand.mtd (imagen siguiente derecha) se encuentran en esta carpeta de (Mis) Documentos: Altova\MobileTogetherDesigner10\MobileTogetherDesignerExamples\Tutorials\OfflineUsage. Abra los archivos en MobileTogether Designer y ejecute simulaciones (F5) para ver cómo funcionan.

 

Estas dos soluciones se diferencian de la anterior, 01-AddRecord.mtd, en que solo muestran los datos de la BD SQLite con base en el servidor Addresses.sqlite; pero no permite añadir registros nuevos a la BD. Las soluciones se han simplificado a propósito para que se centren en mostrar los datos. La diferencia entre las dos soluciones puede apreciarse en sus pantallas de inicio: Mientras que la de 02-DisplayRecords.mtd (2) contiene datos descargados desde el servidor, la de 03-DisplayOnDemand.mtd (3) no muestra datos del servidor. En 03-DisplayOnDemand.mtd (3) la solución está sin conexión y solo se conecta para descargar datos del servidor cuando se hace clic en el botón Actualizar (en un círculo rojo en la imagen siguiente derecha).

mtdoffline02disprecs_zoom65     Clic para expandir/contraer

Observe en las capturas de pantalla de los diseños que las celdas de tabla de 02-DisplayRecords.mtd (2) están vinculadas a la fuente de página $DB1 (imagen siguiente izquierda), mientras que las celdas de la tabla de 03-DisplayOnDemand.mtd (3) están vinculadas a la fuente de página $PERSISTENT (imagen siguiente derecha). Estas fuentes de página, $DB1 (la fuente de página vinculada a la BD del servidor) y $PERSISTENT (la fuente de página del cliente), son las responsables de que los datos de las respectivas fuentes de página aparezcan en la tabla.

 

En (2), los datos se descargan del servidor a $DB1 cuando se inicia la solución y aparecen inmediatamente en la pantalla de inicio.

En (3), solo se descargan datos del servidor a $DB1 si se hace clic en Actualizar. Ahora es cuando se copian los datos a $PERSISTENT y aparecen en la tabla gracias al enlace de fuente de página de esta. Por eso la tabla está vacía hasta que se hace clic en Actualizar.

Clic para expandir/contraer     Clic para expandir/contraer

 

Configuración

En esta tabla comparamos la configuración de las dos soluciones.

 

02-DisplayRecords.mtd (2)

03-DisplayOnDemand.mtd (3)

Efecto

Cargar datos = La primera vez que se usa

Cargar datos = No automáticamente

En (2), la BD aparece al iniciar la solución. En (3) no.

Acceso al servidor = Siempre

Acceso al servidor = Cuando se solicite

En (3), solo se contacta con el servidor si se hace clic en Actualizar.

Ninguna acción para AlActualizarPágina

AlActualizarPágina carga datos de la BD desde el servidor

En (3), los datos de BD se cargan desde el servidor al actualizar la página. El botón Actualizar se habilita solamente si se define una acción para ese evento.

 

Cargar datos

El motivo por el que (2) contiene datos de descarga pero (3) no es la configuración de Cargar datos, que en (2) es La primera vez que se usa y en (3) es No automáticamente. En (2) los datos se cargan al iniciar la solución.

 

Acceso al servidor

La configuración del acceso al servidor (Siempre, A petición o Nunca) no afecta la descarga de datos al iniciar la solución (que depende de la configuración de Cargar datos). Lo que sí permite definir la configuración de Acceso al servidor es cuándo se contacta con el servidor. La configuración Cuando se solicite permite tener un mayor control del diseño y del proceso de la comunicación. Por ejemplo, en (3) los datos de la tabla solo se descargan del servidor si se hace clic en el botón Actualizar. En el diseño esta opción se define al configurar este conjunto de acciones para el evento AlActualizarPágina:

 

1.Volver a cargar la fuente de página $DB1 desde el servidor. Se contacta con el servidor y se descargan los datos.

2.Eliminar los nodos de la fila de la estructura $PERSISTENT. Este es un paso previo a añadir a $PERSISTENT los nodos de fila de $DB1 que se acaban de actualizar (véase el paso anterior). Observe que los datos se eliminan solamente de la fuente de página $PERSISTENT en el cliente, pero la BD del servidor no se ve afectada.

3.Actualizar el nodo raíz de la estructura Persistent solo con los nodos de fila de la estructura $DB1. Esta acción es necesaria porque son los nodos de la fuente de página $PERSISTENT (y no los de $DB1) los que aparecen en la tabla (dentro del rectángulo verde en la imagen siguiente).

Clic para expandir/contraer

 

En resumen, en (3) solo se accede al servidor y se descargan datos cuando se desencadena la acción Volver a cargar.

 

© 2018-2024 Altova GmbH