OpenXava

OpenXava

?
Información general
Última versión estable 5.1
27 de octubre de 2014 (2 años, 1 mes y 13 días)
Género framework de aplicaciones web
Sistema operativo Multiplataforma
Licencia LGPL
Idiomas inglés
[ editar datos en Wikidata]

OpenXava es un marco de trabajo de código abierto para desarrollar aplicaciones de gestión de una forma efectiva. Permite el desarrollo rápido y fácil de mantenimientos y listados pero, a su vez, es lo suficientemente flexible para desarrollar complejas aplicaciones de gestión de la vida real como contabilidad, facturación, gestión de personal, nóminas, gestión de almacenes, etc.

OpenXava permite definir aplicaciones simplemente con POJOs, JPA y anotaciones de Java 5.

Actualmente OpenXava genera aplicaciones web Java ( J2EE/ JavaEE), que pueden ser desplegadas en cualquier portal Java (JSR-168) como una aplicación de portlets.

La esencia de OpenXava es que el desarrollador define en vez de programar, y el marco provee automáticamente la interfaz de usuario, el acceso a los datos, el comportamiento por defecto, etc. De esta manera, todo lo común se resuelve fácilmente, pero siempre el desarrollador tiene la posibilidad de programar manualmente cualquier parte de la aplicación, de esta forma es lo bastante flexible para resolver los casos particulares. OpenXava está basado en el concepto de componente de negocio.

Componente de negocio frente a MVC

Un componente de negocio incluye todos los artefactos de software necesarios para definir un concepto de negocio. OpenXava es un marco de trabajo orientado a componentes de negocio porque permite definir toda la información sobre un concepto de negocio en un único sitio. Por ejemplo, para definir el concepto de Factura, en OpenXava se usa un único archivo (Factura.java), y toda la información sobre el concepto de factura (incluyendo estructura de datos, disposición de la interfaz de usuario, mapeo con la base de datos, validaciones, cálculos, etc) se define ahí. En un marco de trabajo MVC la lógica de negocio (el modelo), la interfaz de usuario (la vista) y el comportamiento (el controlador) se definen separadamente. Este tipo de marcos es útil si la frecuencia de cambios en la lógica y estructura de datos es baja y la posibilidad de cambiar la tecnología de intefaz de usuario o acceso a datos es alta.

En OpenXava para añadir un nuevo campo a una Factura el desarrollador solo necesita tocar un solo archivo: Factura.java

Pero, los marcos de trabajo MVC son malos cuando los cambios a la estructura y los datos son muy frecuentes (como en caso de las aplicaciones de gestión). Imaginemos un cambio más simple, añadir un nuevo campo a una Factura, en un marco MVC, el desarrollador tiene que cambiar la interfaz de usuario, la clase del modelo, la tabla de la base de datos, y además si el desarrollador usa los patrones de diseño J2EE tendrá que cambiar su clase DTO, el SessionBean de Fachada, el mapeo del EntityBean, etc.

Otra ventaja de los marcos orientados a componentes de negocio es la distribución del trabajo en los equipos. Es fácil hacer una distribución orientada a la lógica de negocio (facturas para un desarrollador, Albaranes para otro, etc), y no por capa tecnológica (lógica de negocio para un desarrollador, interfaz de usuario para otro, etc).

Other Languages
Deutsch: OpenXava
English: OpenXava