Variables globales y constantes
Variables globales
Este objeto de datos puede ser de dos tipos según su persistente, en disco o en memoria.
Uso controlado de las variables globales en disco
La gran virtud de una variable global en disco es la sencillez con la que se declara y que está accesible a todos los ámbitos de la aplicación.
Debido a que su funcionamientos es similar al de una tabla por lo que cada vez que hacemos referencia a una variable global en disco en una fórmula o comando de instrucción ejecutados en el cliente estamos provocando una conexión al servidor para solicitar el valor actual. Por lo tanto debemos usarla con mucha precaución sobre todo en aplicaciones que se van a ejecutar en el Cloud.
Esto no es óptimo por lo que en muchos casos es preferible usar una tabla de configuración con un solo registro en el que incluimos los campos que deseamos compartir por todos los usuarios. La ventaja de la tabla es que una vez cacheada en memoria su lectura no requiere conexión al servidor y si hay cambios el refresco en tercer plano se encarga de actualizarla.
Otra posible optimización es crear una variable global en memoria que rellenamos al arrancar la aplicación con el valor de la variable global en disco, por lo que reducimos el número de conexiones al servidor a una. Sin embargo, esto solo es válido si no necesitamos tener su valor actualizado en caso de que haya cambiado.
Las variables globales son compartidas
Las variables globales en disco con compartidas por todos los usuarios, sin embargo las variables globales en memoria son compartidas exclusivamente por el cliente que las ejecuta.
Si en una misma máquina ejecutamos varios vClient, cada vClient tendrá su propia instancia de las variables en memoria, esa instancia de la variable es compartida para todos los objetos de la aplicación de ese vClient, pero no será visible para el resto de vClient.
Debemos tener en cuenta que en el servidor también se crean variables globales en memoria por lo que podemos usarlas para compartir información entre todos los usuarios teniendo siempre presente que el valor de esa variable se perderá en el reinicio del Velneo vServer. Estas variables pueden ser interesantes para contener información en curso como podría ser el caso de las sesiones web conectadas en una aplicación que devuelva contenido para web.
Constantes
Como su nombre indica este objeto está destinado a almacenar valores fijos que no podrán alterarse en tiempo de ejecución.
Usa constantes para todos los textos que puedan requerir traducción
Cuando escribimos textos en las propiedades de los objetos, subobjetos y controles de nuestra aplicación dependiendo del tipo de propiedad se pueden traducir directamente con el componente de la plataforma Velneo vTranslator, sin embargo los textos escritos en fórmulas no se pueden traducir, con el fin de facilitar la traducción de todos los textos es recomendable utilizar constantes en todos los textos usados en fórmulas.
Organiza las constantes por su uso
A medida que va creciendo una aplicación se hace necesario organizar las constantes que vamos declarando, una posible organización es la que vemos en la siguiente captura.
En la tabla siguiente se muestran las agrupaciones más habituales de constantes así como el prefijo utilizado:
Tipo | Prefijo | Descripción |
Errores | ERR_ | Utilizadas en los mensajes de error de las diferentes verificaciones. |
Mensajes | MSG_ | Utilizadas para los textos que visualizan en mensajes informativos. |
Preguntas | PRG_ | Utilizadas para contener los textos usados en preguntas y confirmaciones. |
Textos | TXT_ | Utilizadas para contener textos de uso general como nombres de tablas u otros términos. |
Dentro de cada carpeta las constantes se organizan alfabéticamente. En el caso de que tenemos muchas (>30) constantes podemos crear subcarpetas como vemos en la imagen superior para agruparlas según su letra inicial del identificador.