Tabla de contenidos
En este capítulo vamos a ver algunos conceptos teóricos que son necesarios antes de empezar a desarrollar aplicaciones con el framework. Con toda la información que comprende seremos capaces de entender e interpretar cada uno de los pasos que realicemos en capítulos posteriores.
Se verán conceptos relativos a la arquitectura de las aplicaciones, a la interfaz con el usuario y a la lógica de negocio.
gvHIDRA, como se ha comentado, es un proyecto opensource que se ha desarrollado para poder ser desplegado en entornos heterogeneos. Para ello su confirguración interna se ha organizado en una estructura de capas que permite redefinir los parámetros, crear clases específicas o cambiar el aspecto de cada una de nuestras aplicaciones.
Concretamente, el framework ofrece tres capas:
core: es la capa propia de los ficheros del framework. Está ubicada en el directorio igep y contiene ficheros de configuración propios del proyecto.
custom: destinado a las configuraciones propias de la entidad donde se despliega la aplicación. Generalmente, la organización donde se despliegue una aplicación tiene una serie de características propias:
aspecto: se puede configurar a partir de css e imágenes.
definición de listas o ventanas de selección generales (municipios, provincias, terceros, ...).
clases propias, tipos, ws, ...
configuraciones propias: conexiones a BBDD corporativas, acceso a datos comunes, formato de las fechas...
app: cada aplicación tiene una configuración propia:
acceso a la BBDD propios de la aplicación.
listas y ventanas de selección propias de la aplicación.
configuraciones propias de la aplicación: nombre aplicación, versión, modo de debug/auditoria, comportamiento de la búsqueda, ...
Resumiendo, debemos tener en cuenta que hay varios niveles dentro de la arquitectura de una aplicación gvHIDRA y que en aras de la reutilización, conviene definir un custom propio de la organización en la que nos encontramos.
En cuanto a la carga de la configuración, el framework la realiza en dos fases consecutivas siguiendo en cada una de ellas el orden (core/custom/app). Las dos fases se corresponden con:
carga estática: esta fase carga los parámetros que estén ubicados en el fichero de configuración gvHidraConfig.inc.xml . Tenemos un fichero de este tipo en cada uno de las capas que se cargarán en este orden
igep/gvHidraConfig.inc.xml: fichero de configuración propio del framework. No debe ser modificado ya que contiene los parámetros propios del framework.
igep/custom/xxx/gvHidraConfig.inc.xml: fichero de configuración de la organización. Aquí se definirán las configuraciones propias de la organización.
gvHidraConfig.inc.xml:fichero de configuración propio de la aplicación.
carga dinámica: esta fase, se realiza una vez acabada la anterior, con lo que machacará las configuraciones que se hayan realizado. Puede ser muy útil para fijar configuraciones de forma dinámica (dependiendo del entorno de trabajo), pero es peligroso, ya que puede ser difícil depurar un error. Los ficheros por capa se ejecutarán en el siguiente orden:
gep/actions/gvHidraMainWindow.php: fija la configuración dinámica del framework. No debe ser modificado.
igep/custom/xxx/ actions/CustomMainWindow.php: fija la configuración dinámica de la organización. En este fichero se deben definir las listas y ventanas de selección de la organización.
actions/principal/AppMainWindow.php: fija la configuración dinámica de la aplicación. En este fichero se deben definir las listas y ventanas de selección propias de la aplicación.