gvNIX es una herramienta de código abierto para el desarrollo rápido de aplicaciones (RAD) con la que se puede crear aplicaciones web Java en apenas minutos.

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

Crea aplicaciones web en minutos.


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 registro

Histó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(), etc

Al 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.

Qué dicen de gvNIX...

"Acaba con el trabajo cansado de programar Java"

gvNIX es simple de usar, intuitivo y con una interfaz que te permitirá poder centrarte en el trabajo en vez de tener que estar prestando atención a otros aspectos que lo único que hacen en consumir tu tiempo y alejarte del proyecto en el que trabajas.
Nuria Capdevila - PortalProgramas

"Con gvNIX podemos ir un paso más allá"

Se trata de un paso más allá de las soluciones IDE/Geoportal al uso y que pasen a estar integradas en soluciones de gestión más complejas y dejen de ser “islas” ajenas al resto de la informática de una organización.
Álvaro Anguix - Asociación gvSIG

Social

gvNIX está patrocinado por la Dirección General de Tecnologías de la Información (DGTI) de la Conselleria de Hacienda y Administración Pública de la Generalitat Valenciana (Comunidad Valenciana, España), y dirigido por DISID. gvNIX se consolida como estándar para desarrollo Java de la DGTI de la Generalitat Valenciana.