• No se han encontrado resultados

vgestorweb vgestorweb 1/9

N/A
N/A
Protected

Academic year: 2021

Share "vgestorweb vgestorweb 1/9"

Copied!
9
0
0

Texto completo

(1)

vGestorWeb

Esta aplicación pretende ser un tutor y campo de pruebas para la Open App de conexión con MySQL: vMySQL y las interacciones para la gestión de contenidos de una página web.

Para ello utiliza varias técnicas distintas:

• Gestor de contenido sincronizado: para una tabla de micro-mensajes, al añadir un registro a la tabla de mensajes veremos como aparece automáticamente en la página web

• Gestor de contenido asíncrono de la web: la web cuenta con unos menús de áreas y unos contenidos, dichas áreas y contenidos se gestionan enteramente desde la aplicación y al sincronizarse se “suben” a la página web (sería un equivalente a la intranet de la misma) • Obtención de datos desde la base de datos externa: en la web existe un formulario de

contacto. Nuestro objetivo es “bajar” de la web las entradas de los usuarios.

Desde la aplicación podrás editar el contenido de una página web y usar velneo v7 a modo de intranet de la misma. Además podrás “bajar” desde la web los contactos que dejen los usuarios (en Internet) a través de un formulario.

En este caso usamos velneo para substituir a la intranet, pero abre la vía a actualizar la web con datos de cualquier aplicación (subir pedidos de clientes, stock de almacén...)

(2)

Qué vas a necesitar además de v7 para probar esta Open App

Un servidor capaz de ejecutar PHP y MySQL

Si quieres hacer pruebas locales en tu windows, puedes probar wamp: www.wampserver.com/en/ o bien usar cualquier servidor linux de esta tecnología (una de las más extendidas en la web)

Una vez que tengas el servidor activo debes crear un sitio y descomprimir la carpeta WEB_conev7.zip que contiene todos los archivos necesarios.

Por otro lado para crear la base de datos SQL en el zip se incluye “conev7.sql” que es un script que genera las tablas necesarias.

Solo queda interconectar los dos mundos (la base de datos MySQL y la aplicación en PHP). Para ello hay un archivo llamado conexion.php, solo hay que substituir los datos por los que se ajusten a su instalación. <?php $host = "localhost"; $db = "conev7"; $db_usuario = "usuario"; $db_pass = "password"; ?>

Uso

La aplicación v7 sirve para rellenar los datos de la web. Para ello hemos diseñado una estructura que organiza los contenidos por áreas. Dentro de cada área podemos tener tantos contenidos como queramos.

Para gestionar la información de estas tablas vamos a la zona de datos. Tenemos las acciones con las búsquedas desde las que podemos editar las áreas y contenidos de la página. Esta parte del programa es particularmente simple ya que lo interesante de esta aplicación es la manera de como interactúa con la base de datos que da soporte a la web.

(3)

Una vez que los contenidos están cargados se suben a la web mediante la opción Sube datos a la web

Veamos como lo hace

(4)

Las dos primeras “Subir” y “Bajar” son las que manejan el sistema Asíncrono y la última el dock que contiene el reloj que gestiona el sistema síncrono.

Sistema Asíncrono

Dentro del sistema asíncrono tenemos dos procesos, una parar “bajar” y otro para “subir”.

Subida de datos

El proceso más importante es de subida de datos. Uno de los problemas que tenemos en este tipo de aplicaciones es gestionar las bajas ya que si borramos registros en la tabla local deberíamos borrarlos también en la tabla remota. Para evitar este problema la solución que hemos adoptado consiste en tener un campo booleano que indica si el registro está activo. Lo que hacemos antes de una actualización es desactivar TODOS los campos y luego al subir activamos los que le van entrando.

(5)

Bajada de datos

Al igual que el proceso de subida se apoya en el campo booleno “activo” para determinar la información que se debe mostrar, en el proceso de bajada nos apoyaremos en el campo “sincronizado” para bajar solamente los registros nuevos desde la última sincronización.

Por lo demás la rutina lanza la consulta y mediante la instrucción “Get dato de columna por nombre” va obteniendo el contenido de los campos, asignándolos a variables que luego se graban en los campos de la tabla en

(6)

Sistema síncrono

Lo que buscamos es que las tablas estén permanente sincronizadas, esto es que a cada cambio que hagamos en v7 se refleje lo antes posible en la web sin necesidad de interacciones adicionales. En nuestro ejemplo el sistema síncrono se muestra en la columna de mensajes. Si damos de alta un contenido, veremos que automáticamente se actualiza en la web.

Esto lo hace gracias a las funciones que se lanzan en los eventos posteriores a la modificación o alta de un registro. Desde dichas funciones y tras los procesos de alta, baja o modificación insertamos en una cola las sentencias SQL necesarias para sincronizar (INSERT - UPDATE o DELETE).

Para procesar la cola usamos un timer en primer plano que se ejecuta desde un dock en el marco principal de la aplicación.

(7)

Este es el código del evento:

Este es el proceso:

Esta es la sentencia SQL que lo mantiene todo conectado:

La cola se lanza desde un proceso timer que está en un dock del inicio

(8)

Este es el proceso del timer:

otras utilidades

En el menú de la Conexión SQL tenemos acceso a todas las consultas ejecutadas y su resultado así como las consultas nulas (ha habido un error normalmente de sintaxis SQL) y no se ha ejecutado nada.

(9)

(c) Copyright: Fernando Maltrana, 2012- ticmedia.es [email protected]

"Como autor de la aplicación que cedo a Velneo, S.A., para su inclusión en el catálogo Velneo Open Apps, declaro expresamente que dispongo de la titularidad de los derechos de explotación de las aplicaciones / soluciones cedidas, exonerando expresamente a VELNEO de cualquier responsabilidad derivada de reclamaciones sobre la titularidad de los derechos de explotación de las aplicaciones / soluciones presentadas"

Referencias

Documento similar