Capítulo 1: Visión general
Presentación
OpenXava es un marco de trabajo para desarrollar aplicaciones JavaEE/J2EE rápida y fácilmente.
La filosofía subyacente es definir con anotaciones de Java o con XML y programar con Java, pero cuanto más definimos y menos programamos mejor.
El objetivo principal es hacer que las cosas más típicas en una aplicación de gestión sean fáciles de hacer, mientras que ofrecemos la flexibilidad suficiente para desarrollar las funciones más avanzadas y especificas.
A continuación se echa un vistazo a algunos conceptos básico de OpenXava.
Componente de negocio
Las piezas fundamentales para crear una aplicación OpenXava son los componentes, en el contexto de OpenXava un componente de negocio es una clase Java (aunque existe también una versión XML) que contiene toda la información necesaria sobre un concepto de negocio para poder crear aplicaciones sobre eso. Es decir toda la información que el sistema ha de saber sobre el concepto de factura se define en un archivo
Factura.java. En un componente de negocio se define:
- La estructura de datos.
- Las validaciones, cálculos y en general toda la lógica de negocio asociada a ese concepto.
- Las posibles vista, esto es, la configuración de todos las posibles interfaces gráficas para este componente.
- Se define las posibilidades para la presentación tabular de los datos. Esto se usa para el modo lista (consultar y navegar por los datos), los listados, exportación a excel, etc.
- Mapeo objeto-relacional, lo que incluye información sobre las tablas de la base de datos y la forma de convertir a objetos la información que en ellas hay.
Esta forma de dividir es ideal para el trabajo en grupo, y permite desarrollar un conjunto de componentes interproyecto.
Controladores
Los componentes de negocio no definen lo que un usuario puede hacer con la aplicación; esto se define con los controladores. Los controladores están en el archivo
xava/controladores.xml de cada proyecto; además OpenXava tiene un conjunto de controladores predefinidos en
OpenXava/xava/default-controllers.xml.
Un controlador es un conjunto de acciones. Una acción es un botón o vínculo que el usuario puede pulsar.
Los controladores están separados de los componentes de negocio porque un mismo controlador puede ser asignado a diferentes componentes de negocio. Por ejemplo, un controlador para hacer un mantenimiento, imprimir en PDF, o exportar a archivos planos, etc. puede ser usado y reusado para facturas, clientes, proveedores, etc.
Aplicación
Una aplicación OpenXava es un conjunto de módulos. Un módulo une un componente de negocio con uno o más controladores. Cada módulo de la aplicación es lo que al final utiliza el usuario, y generalmente se configura como un portlet dentro de un portal.
Estructura de un proyecto
Un proyecto OpenXava típico suele contener las siguientes carpetas:
- [raiz]: En la raíz del proyecto nos encontraremos el build.xml (con las tareas Ant).
- src[carpeta fuente]: contiene el código fuente Java escrito por nosotros.
- xava: Los archivos XML para configurar nuestras aplicaciones OpenXava. Los principales son aplicacion.xml y controladores.xml.
- i18n: Archivos de recursos con las etiquetas y mensajes en varios idiomas.
- properties[carpeta fuente]: Archivos de propiedades para configurar nuestro aplicación.
- data: Útil para guardar los scripts para crear las tablas de nuestra aplicación, si aplicara.
- web: Contenido de la parte web. Normalmente archivos JSP, lib y classes. La mayoría del contenido es puesto automáticamente, pero es posible poner aquí nuestros propios archivos JSP.