Es una distribución de Spring Roo que proporciona el conjunto de herramientas de Spring Roo, más un conjunto de funciones que aumentan la productividad de desarrollo y mejoran la experiencia del usuario mediante la integración de frameworks como jQuery, Bootstrap 3, Leaflet, Datatables, Dandelion Datatables, entre otras.
gvNIX = productividad
Características
Multiplataforma y fácil de instalar
gvNIX es fácil de instalar tanto como herramienta independiente que funciona en Windows, Mac OSX, Linux o como herramienta integrada en un entorno de desarrollo: STS o Eclipse.Los únicos requerimientos son Java (6 o superior) SDK y Apache Maven 3.
Generación no-intrusiva de código
Aplica un enfoque diferente para la generación de código en comparación con otras soluciones. En lugar de generar archivos .java adicionales (que aplican el patrón Generation Gap), genera el código fuente en archivos .aj, archivos AspectJ ITD.Cada declaración Java generada en el archivo ITD añadirá esos cambios estructurales a la clase objetivo en tiempo de compilación; por ejemplo, para agregar nuevos métodos, atributos, etc.
Proyectos JEE estándar
Los proyectos creados con gvNIX son aplicaciones Java que cumplen con el estándar JEE.No incluye dependencias en entorno de ejecución
En entorno de ejecución, las aplicaciones gvNIX solo dependen de los frameworks que el desarrollador ha utilizado para desarrollarlas. gvNIX no incluye ninguna dependencia en entorno de ejecución.Intérprete de comandos
Desde el punto de vista de su uso, gvNIX está diseñado como un intérprete de comandos interactivo al estilo de Rails o de Grails.Para facilitar su uso tiene autocompletado de los comandos y ayuda contextual.
Funcionalidades
Exportar/Importar servicios web
Genera automáticamente servicios web tanto a partir de código Java como a partir de archivos WSDL.También genera automáticamente clientes de servicios web simplemente indicando la URL donde está publicado el WSDL genera las clases Stub en nuestra aplicación que permitirá que el resto de clases puedan invocar esos servicios remotos como si de llamadas a servicios locales se tratara.
Informes
Instala JasperReports para generar informes.Cada informe es accesible desde el menú de la aplicación y genera un formulario previo para especificar los parámetros de filtrado.
Los informes son totalmente funcionales desde su creación, incluyendo la generación de la plantilla .jrxml para permitir una personalización cómoda y fácil.
Ingeniería inversa de base de datos
Permite crear el modelo completo de entidades Java de la aplicación vía la introspección de la base de datos del proyecto. Además, incrementalmente mantiene el modelo de entidades sincronizado con todos los cambios realizados en el modelo de datos.Control de concurrencia optimista no intrusivo
En entornos multiusuario, como las aplicaciones web, es frecuente que dos usuarios accedan simultáneamente al mismo registro para editarlo. El control de concurrencia permite evitar que se pierdan los cambios del primero que guarde.El patrón de control de concurrencia más aceptado en entornos web es el conocido como control de concurrencia optimista. La forma más habitual de implementarlo es utilizar un campo de versión que debe incluirse en todas las tablas del modelo de datos.
En grandes organizaciones el modelo de datos sigue unas políticas de seguridad muy rigurosas y es frecuente que no se pueda añadir un nuevo campo de versión.
gvNIX proporciona una implementación del control de concurrencia optimista basado en el estado de los objetos, igualmente efectivo pero no intrusivo.
Auditoría de cambios en base de datos
Añade soporte a la aplicación para hacer auditoría de cambios en datos de las entidades del dominio: registrar quien y cuándo crea o modifica una instancia, o en términos de base de datos quien y cuándo modifica un registroHistórico de cambios de base de datos
Esta funcionalidad permite almacenar la historia de los cambios realizados en las entidades. También permite recuperar y consultar datos históricos sin mucho esfuerzo: qué, quién y cuándo se hizo un cambio, incluyendo borrado de registros.Interfaz usuario adaptativa (responsive UI)
Integra frameworks de desarrollo web, entre ellos Bootstrap, en la aplicación para generar la vista adaptativa con una estructura HTML5 y CSS3, es decir, las aplicaciones se adaptan automáticamente para su visualización desde múltiples dispositivos: tabletas, móviles, portátiles, PCs …Además, estos frameworks de desarrollo utilizan estándares web de tal forma que se sientan las bases de sitios web accesibles para personas que utilizan tecnologías de apoyo para navegar.
Integración de jQuery
Convierte proyectos basados en Dojo en proyectos sobre jQuery UI.Añade soporte para la validación de formularios y optimiza el código JavaScript incluido en el documento HTML.
Componentes visuales avanzados
Componente Lupa
Permite utilizar componentes de tipo lupa en las aplicaciones. Gracias a estos componentes, podemos buscar registros de forma sencilla de campos relacionados sin tener que visualizar todos los datos en un desplegable.Dandelion Datatables
Integra componentes de tablas más dinámicas y funcionales: paginación, búsqueda global, filtrado por columna, ordenación, diversas fuentes de datos: AJAX, DOM, etc;Permite la visualización en modo registro, edición en línea, edición y borrado múltiple, conjunto predefinido de operaciones, registro creado a primera posición, selección siempre visible…
Crea patrones y detalles con Dandelion Datatables
Maestro detalle multinivel
Permite definir patrones de visualización sobre entidades y sus relaciones: permitiendo cualquier combinación [maestro-tabular | maestro-registro] con [detalle-tabular | detalle-registro], sin límite en el número de relaciones tanto directas como indirectas.Monitorización rendimiento en producción
Integra un sistema de monitorización para aplicaciones web en producción.Se crea la infraestructura necesaria para registrar tiempos de ejecución de los distintos elementos de la aplicación: generación de vista, consultas SQL, ejecución de métodos, petición HTTP.
Además se crea una página desde donde podemos ver estadísticas de los datos recopilados.
Asistente para filtros
Los sistemas de filtrado de datos de la tabla permiten no sólo comparar texto plano sino que permite definir operaciones de filtrado como CONTIENE(), >=, FECHA(), etcAl activar el filtrado por columna se integra automáticamente un asistente que permite al usuario elegir la operación de filtrado por columna.
Componente geográfica
gvNIX genera automáticamente páginas para la visualización, listado, búsqueda, creación y edición de datos alfanuméricos y geoespaciales.gvNIX permite integrar en una misma aplicación la gestión de la información alfanumérica y geográfica para que los propios usuarios puedan explotar dicha información sin necesidad de utilizar otras aplicaciones específicas.
Genera autómaticamente geoportales tanto independientes como integrados en las aplicaciones.
Tecnología
Comunidad gvNX
Conoce, modifica y redistribuye el código fuente de gvNIX. La herrramienta evoluciona, se desarrolla y mejora de forma continuada gracias a las aportaciones de nuestra comunidad de desarrolladores.Podéis hacer llegar vuestras peticiones de ayuda relacionadas con el uso de la herramienta, así como las sugerencias que consideréis oportunas para su mejora mediante en Stackoverflow. Recuerda emplear la etiqueta #gvnix o #gvnix-es.
Por supuesto nos encontrarás en las redes sociales ya sea siguiendo a ‘@gvNIX’ o incluyendo la etiqueta
#gvnix
en tus tuits.