OpenXava, NaviOX y una aplicación de facturación completa

Hace ya bastante tiempo que hablamos de crear una aplicación con OpenXava y nos pusimos a crear clases, a modelar,…  siguiendo el libro Aprende OpenXava con ejemplos. Hasta ahí todo bien, lo que pasa es que Openxava ofrece muchísimas más cosas y que mejor que las descubramos mediante un post.

Hoy hablaremos sobre un proyecto creado en OpenXava que está en Sourceforge, este proyecto se llamado AcmeOX(http://sourceforge.net/projects/acmeox/)  es una aplicación de facturación realizada con OpenXava para mostrar la potencia del framework.

Además también me llego una noticia sobre NaviOX(http://www.openxava.org/es/naviox) que es un llamémoslo “contenedor de aplicaciones”. NaviOX proporciona a nuestra aplicación Seguridad (usuarios y roles) y navegabilidad. A mí personalmente me sirve para ir probando la aplicación a medida que la voy desarrollando, ya que es muy ligero y me ahorra tiempo a la hora de ir probando/ configurando diferentes entornos.

Creando un proyecto

Lo primero es tener configurado OpenXava, aquí en el blog hay algún artículo sobre esto, sino siempre tienes este manual: http://www.openxava.org/es/quick-start/1c aunque yo recomiendo la instalación del Capítulo 4 del libro “Aprende Openxava con ejemplos” disponible aquí http://www.openxava.org/es/book los 5 primeros capítulos.

Continúa leyendo «OpenXava, NaviOX y una aplicación de facturación completa»

Anuncio publicitario

Openxava y los Test JUnit

En anteriores post ya hemos desarrollado un poco con Openxava. Pero el ciclo no esta completo, debemos testear nuestra aplicación y lo mínimo (mínimo, mínimo) debe ser al menos una serie test funcionales (si son automáticos mejor). Así que pare ello utilizaremos JUnit.

JUnit es un conjunto de bibliotecas  que son utilizadas en programación para hacer pruebas unitarias de aplicaciones Java.

OpenXava nos proporciona una clase llamada ModuleTestBase que por medio de HTMLUnit permite automatizar las pruebas como si las estuviésemos haciendo desde el navegador.

Creando una prueba unitaria para Openxava

Vamos a partir de que tenemos un modulo Customer que funciona. Openxava es sencillo y para crear un test solo tenemos que crear una clase llamada CustomerTest dentro del paquete org.openxava.invoicing.test La clase de test debe extender a ModuleTestBase.

Así que allá vamos:

package org.openxava.invoicing.test;
import org.openxava.tests.*;
public class CustomerTest extends ModuleTestBase{
public CustomerTest(String testName) {
 super(testName, 
 "Invoicing", 
 "Customer"); 
 }
}

Esto es solo el principio, ahora tenemos que crear el test propiamente dicho.

Continúa leyendo «Openxava y los Test JUnit»

Un poco más sobre openxava

Ya hemos hablado anteriormente de Openxava, ahora vamos a intentar dar un acercamiento a como funciona Openxava y de que va eso del desarrollo dirigido por modelos(MDD), Model Driven Architecture,…

Partamos de los siguientes conceptos:

  • MDA es el acrónimo de Model Driven Architecture (Arquitectura Dirigida por Modelos), un concepto promovido (pero no creado) por la OMG, que propone basar el desarrollo de software en modelos especificados utilizando UML, para que, a partir de esos modelos, se realicen trasformaciones que generen código u otro modelo, con características de una tecnología particular (o con menor nivel de abstracción). MDA define un framework para procesar y relacionar modelos. 
  • Un modelos es una descripción de todo o parte de un sistema escrito en un lenguaje bien definido. El hecho que un modelo este escrito en un lenguaje bien definido tiene una gran importancia para MDA, ya que supone que el modelo tienen asociadas una sintaxis y semántica bien definidas. Esto permite la interpretación automática de transformadores o compiladores de modelos, fundamentales en MDA.
  • Un Componente de Negocio consiste en todos los artefactos de software relacionados con un concepto de negocio. Componente de Negocio es tan solo una forma de organizar el software.

Según Javier Paniza en su libro «Aprende Openxava con ejemplos» básicamente, MDD establece que únicamente se ha de desarrollar la parte del modelo de una aplicación, y el resto se generará a partir de este modelo.

Desafortunadamente, el uso de MDD es muy complejo. Requiere de una gran cantidad de tiempo, pericia y herramientas. Aun así la idea tras MDD sigue siendo muy buena, por lo tanto OpenXava toma esa idea de una manera simplificada. Usa simples clases de Java con anotaciones para definir el modelo, y no usa generación de código, en vez de eso toda la funcionalidad de la aplicación es generada  dinámicamente en tiempo de ejecución.

Ya sabemos de que va esto, pero vamos a entrar en el dominio de OpenXava:

Continúa leyendo «Un poco más sobre openxava»

Desarrollo de aplicación de facturación en 15 minutos con openxava 2/2

En el post anterior vimos como configurar todo el entorno para crear nuestra primera aplicación en Openxava.

Ahora vamos a escribir entidades. En realidad deberíamos pensar un poco y diseñar el modelo de como sería la aplicación. En este caso nos hemos basado en el libro «Aprende Java con ejemplos» de Javier Paniza (Aquí los primeros capítulos)

Crear la primera entidad

Para desarrollar la aplicación solo hay que añadir entidades.

Continúa leyendo «Desarrollo de aplicación de facturación en 15 minutos con openxava 2/2»

Desarrollo de aplicación de facturación en 15 minutos con openxava 1/2

Esta es la 1º parte del post de como crear una aplicación de facturación en 15 minutos, aquí se ven los pasos generales para crear la aplicación.

En la 2º parte entraremos en el desarrollo propiamente dicho.

En el post anterior vimos como instalar y hacer funcionar el ejemplo que trae por defecto Openxava, en este caso vamos a crear una sencilla aplicación de facturación en 15 minutos, que para eso OpenXava es Desarrollo «Rápido» de aplicaciones.

Continúa leyendo «Desarrollo de aplicación de facturación en 15 minutos con openxava 1/2»