Manipulación de datos en aplicaciones móviles multiplataforma

Altova MobileTogether permite a empresas de cualquier tamaño diseñar e implementar soluciones móviles personalizadas que funcionan en todas las plataformas móviles. Esta publicación es la segunda parte de una discusión sobre el cuadro de diálogo de acciones de MobileTogether, que permite a los desarrolladores crear rápidamente manejadores de eventos sofisticados, flujos de control y operaciones que funcionan de la misma manera en dispositivos iOS®, Android™ y Windows, así como en un cliente basado en un navegador HTML5, sin tener que preocuparse por los detalles específicos de la API o el SDK de cada sistema operativo móvil.

Si no vieron la primera parte, lean Definición del manejo de eventos y el flujo de control para ponerse al día.

Esta publicación aborda algunas de las funciones de MobileTogether que manipulan datos y son flexibles, potentes, y que aceleran el desarrollo de aplicaciones empresariales móviles basadas en datos, para proporcionar información actualizada a usuarios ocupados que se encuentran en movimiento.

La captura de pantalla que se muestra a continuación ilustra la página de inicio de una aplicación móvil para la gestión de inventarios, que incluye una breve descripción y una opción para ver una descripción más detallada cuando el usuario hace clic en el botón "más".

La definición de la acción para el botón se muestra a continuación en el cuadro de diálogo de acciones del diseñador MobileTogether. Cuando el usuario hace clic en el botón, la acción "Actualizar nodo(s)" inserta el valor fijo "verdadero" en el nodo "ShowMore".

El cuadro de texto que contiene la definición extensa tiene una propiedad de visibilidad que utiliza una expresión para determinar si debe mostrarse.

En cuanto el valor de "ShowMore" cambia a "verdadero", la descripción ampliada se muestra automáticamente en el dispositivo móvil

El botón "Mostrar más" se ocultaba simultáneamente porque su propiedad de visibilidad contenía una expresión que verificaba si el valor de "ShowMore" era igual a 'false'.

Esta sencilla definición de acción genera un botón que funciona en todos los dispositivos móviles, o incluso en una ventana del navegador en una estación de trabajo de escritorio. ¡Pero "Actualizar nodo(s)" puede hacer mucho más! En nuestro ejemplo, tanto el nodo de destino como la carga útil eran valores fijos. Tanto el destino, el resultado, o ambos, también pueden definirse como expresiones XPath que contienen referencias a otros elementos de datos, operadores XPath, funciones XQuery, funciones especiales de MobileTogether, e incluso funciones definidas por el usuario.

Los desarrolladores simplemente deben hacer clic en cualquiera de los botones de XPath para abrir el cuadro de diálogo "Editar expresión XPath", que les permite crear y editar expresiones con acceso al árbol de fuentes de datos XML, una biblioteca de operadores y funciones XPath/XQuery 3.1, y funciones de ayuda para facilitar la creación de expresiones XPath/XQuery 3.1 válidas.

En un ejemplo sencillo de cómo aplicar una expresión, la aplicación de Gestión de Inventario registra la fecha de ejecución para comprobar si es necesario inicializar la tabla para un nuevo mes la próxima vez que se inicie. Esta acción de "Actualizar nodo(s)" utiliza una función de fecha de XQuery:

Observe que no es necesario realizar llamadas a la API específicas de cada plataforma. Una única expresión en MobileTogether es compatible con todas las plataformas móviles.

Insertar nodo(s) y Añadir nodo(s) son acciones que crean uno o más nodos nuevos, según lo especificado en una expresión XPath. La diferencia entre estas dos acciones es que "Insertar nodo(s)" añade el/los nodo/s en un punto específico del árbol de datos, mientras que "Añadir nodo(s)" añade el/los nodo/s como nodos hijos del/los nodo/s seleccionados.

Las funciones "Insertar nodo(s)" y "Añadir nodo(s)" pueden ampliar un modelo de integración de datos de forma dinámica para gestionar conjuntos de datos de tamaño desconocido. Por ejemplo, el núcleo de la aplicación "Gestor de Inventario" es una tabla que describe el estado de las piezas necesarias para fabricar diversos productos. En el mundo real, las listas de materiales de los productos cambian con frecuencia, ya que los gestores de productos añaden o eliminan variantes de productos o cambian de proveedores. Sería extremadamente ineficiente codificar una solución móvil para un número específico de piezas. En cambio, un desarrollador puede simplemente definir el contenido de una sola fila que describa una sola pieza, y proporcionar valores predeterminados para cada elemento:

Cuando la tabla se inicializa, la acción "Añadir a nodo" se puede configurar dentro de una acción de bucle para añadir cualquier número de filas. En la solución "Gestor de inventario", la variable "PartNumbersCount" almacena el número de piezas únicas, que puede obtenerse a partir de una consulta a la base de datos o de un archivo externo que contenga una lista maestra de piezas. El desarrollador ni siquiera necesita conocer el número exacto.

En la definición anterior, el nuevo nodo se define como una expresión XPath que representa una fila del modelo de datos. La función "Append Node" (Añadir Nodo) añadirá el nodo referenciado, todos sus elementos secundarios, y todos sus elementos, atributos y contenido. El nuevo nodo puede añadirse como el primer elemento secundario o como el último.

Ejecutar una aplicación en desarrollo en el simulador integrado de MobileTogether permite a los desarrolladores examinar los datos mientras la aplicación se ejecuta. Una vez que el bucle definido anteriormente completó todas sus iteraciones, podemos ver que PartNumbersCount fue 167, y el bucle añadió exactamente 166 filas adicionales, cada una con los mismos datos que la definición original.

Las funciones "Insertar nodo(s)" y "Añadir nodo(s)" también pueden crear nuevos nodos que se introducen directamente como constructores XML, como: Element Content, o que se crean mediante constructores de nodos calculados con XQuery, como: elemento MyElement-01 {xs:string("Contenido del elemento")} atributo myatt{"valor"}

Recargar es otra función potente para trabajar con datos. La función de recarga se puede aplicar a cualquier recurso externo incluido en el diseño, incluyendo consultas a bases de datos, archivos de datos externos, gráficos e imágenes. La función de recarga incluye una lista desplegable que muestra todos los recursos externos ya configurados. En la aplicación "Gestor de Inventario", "$ProductSalesMTD" es una consulta SQL de la base de datos de pedidos de la empresa que recupera el número de ventas de cada producto individual hasta el momento en el mes actual. Los productos se comparan con las listas de materiales para calcular las estadísticas de demanda de cada pieza individual.

Es fácil recargar más de una fuente de datos arrastrando varias acciones de recarga al panel de edición. A continuación, se muestra la definición parcialmente expandida de las acciones realizadas por otro botón en el Administrador de Inventario. Una vez que todas las fuentes de datos se han actualizado, el último paso ejecuta la acción de recarga para redibujar el gráfico de rendimiento en función de los valores más recientes.

Esta captura de pantalla, tomada de una pequeña tableta Android, muestra la tabla de datos principal y el gráfico de una versión del gestor de inventario configurada para subconjuntos, en lugar de cientos de piezas individuales. Si los niveles de cualquier componente caen por debajo del objetivo, el usuario puede ingresar las cantidades en la columna de la derecha y, a continuación, hacer clic en el botón "Enviar pedido" para autorizar los pedidos a los proveedores.

Un iPhone en modo horizontal muestra una pantalla similar, donde el usuario puede ver todos los datos desplazándose por la página.

Una serie de textos cortos demostraciones en video publicado en el sitio web de Altova, que demuestra lo fácil que es comenzar a crear una aplicación empresarial móvil con el diseñador MobileTogether. O, consulte la versión web de.. Ayuda en línea de MobileTogether Designer Para obtener información más detallada.

Para obtener más información y descargar el programa MobileTogether Designer de forma gratuita, y así crear su primera solución móvil empresarial para iOS®, Android™, Windows® Phone 8 y Windows 8, así como una aplicación cliente basada en un navegador HTML5, visite: www.altova.com/mobiletogether