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 aunqe yo recomiendo la instalación del Capítulo 4 del libro “Apende Openxava con ejemplos” disponible aquí http://www.openxava.org/es/book los 5 primeros capítulos.

Sigue leyendo

Openxava y los Test JUnit

En anteriores post ya hemos desarrollado un poco con 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. Open xava 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.

Sigue leyendo

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 descripcion de todo o parte de un sstema 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 sintaxsis 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:

Sigue leyendo

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.

Sigue leyendo

Cambiar de BD con Hibernate + Openxava

En capítulos anteriores vimos como crear una aplicacion con openxava en “15min” ahora si postgreSQL no les interesa  o prefieren usar otra BD voy a explicar como hacerlo.

Lo  primero descargarse el driver de la BD, en este caso MySQL y pegarlo en la carpeta lib de tomcat, aquí vemos el resultado final:

Sigue leyendo

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, aqui 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 crear una sencilla aplicación de facturación en 15 minutos, que para eso OpenXava es Desarrollo “Rápido” de aplicaciones.

Sigue leyendo

primeros pasos con openxava

Introducción

OpenXava es un marco de trabajo para desarrollo rápido de aplicaciones de gestión con Java. Es fácil de aprender y rápido para desarrollar, pero al mismo tiempo es extensible y personalizable, además el código de la aplicación se estructura desde un punto de vista orientado a objetos puro. Por lo tanto, puedes enfrentarte a aplicaciones complejas con él.

Aunque OpenXava tiene una visión muy pragmática del desarrollo, está basado en un refinamiento de conceptos preexistente, algunos populares, otros no tanto. El popular es el Desarrollo Dirigido por el Modelo (Model-Driven Development, MDD), OpenXava lo usa de una manera ligera. El otro concepto, el Componente de Negocio, es raíz y principio básico de OpenXava, además de ser la alternativa opuesta a MVC.

Sigue leyendo