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

Creando un demo con Spring Roo

Aprovechando que he instalado el paquete STS de Spring para desarrollar aplicaciones con Spring MVC, me he decidido a hacer una pequeña demo con Spring Roo.

Spring Roo es una herramienta de desarrollo rápido de aplicaciones o RAD, que permite el desarrollo de aplicaciones Java EE de forma muy productiva y cómoda para el desarrollador.

Así que allá vamos. Basándome en el tutorial http://static.springsource.org/spring-roo/reference/html/beginning.html intento explicar aquí el mismo ejemplo pero adaptado a mi configuración del equipo (utilizando Eclipse, Maven…)

En este artículo vamos a construir paso a paso y de manera rápida una aplicación web utilizando Spring Roo.

Antes de empezar es necesario descargar Spring Roo y descomprimirlo en algún lugar. Después cuando le demos a crear proyecto Spring Roo tendremos que seleccionar esta carpeta.

Este diagrama representa de manera simplificada el dominio del problema

Creando el proyecto

La configuración que tengo en mi equipo y las aplicaciones que tengo instaladas son:

–          Eclipse Juno

–          Spring Roo descargado

–          JDK instalado

–          Plugins de eclipse M2Eclipse, Spring Tool Suite

–          PostgreSQL o cualquier otra BD relacional

–          Xampp En realidad con Tomcat sería Suficiente

–          Tengo configurado Maven para desplegar directamente en  Tomcat  (Está en un post anterior 😉

Continúa leyendo «Creando un demo con Spring Roo»

Poco a poco con Maven, Spring, Hibernate (parte 3)

Ya no queda nada para tener una aplicación como esta. Con ella podremos administrar nuestros contactos de forma simple y fácil. Además estamos aprendiendo muchísimo(o al menos yo) sobre Spring MVC, Hibernate y Maven.  Aunque todavía nos queda mucho por aprender.

Ya hemos visto como crear el proyecto y cómo configurarlo para que con unas pocas clases tener una aplicación CRUD que gestiona nuestra agenda.

Continúa leyendo «Poco a poco con Maven, Spring, Hibernate (parte 3)»

Poco a poco con Maven, Spring, Hibernate (parte 2)

Vamos a por la segunda parte del post. A modo de recordatorio, vamos a crear una aplicación para gestionar nuestros contactos utilizando para ello Maven, Spring MVC e Hibernate. En el anterior post creamos el árbol de directorios de la aplicación utilizando Maven, además añadimos las dependencias y por ultimo creamos la Base de datos (MySQL) .

Aquí dejo de nuevo el árbol  de como debe quedar nuestra aplicación, esto nos servirá para no perdernos mientras vamos creando archivos.

Ahora queda configurar un poco el entorno para que Hibernate funcione correctamente, así que vamos a hacer lo siguiente:

Creamos un archivo dentro de la carpeta resources vamos a crear el archivo hibernate.cfg.xml

Este archivo lo que hace es «decirle» a Hibernate que la clase que tiene que mapear se encuentra en com.jesusl.formContact

Aquí tenemos el archivo: /demoweb-hibernate/src/main/resources/hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
 <session-factory>
 <mapping class="com.jesuslc.contact.form.Contact" />
 </session-factory>

</hibernate-configuration>

Ahora vamos a crear un archivo de propiedades donde pondremos las «etiquetas» que vamos a usar en toda la aplicación. Es decir, si en un futuro queremos cambiar «Apellido» por otra etiqueta como «Apellidos» o incluso queremos traducir nuestra aplicación nos será más fácil si todos los elementos a modificar/traducir están en el mismo archivo. Continúa leyendo «Poco a poco con Maven, Spring, Hibernate (parte 2)»

Poco a poco con Maven, Spring, Hibernate

Para mi PFC tengo que desarrollar unos cuantos portlet, por lo que me estoy introduciendo en el mundo de Liferay utilizando sobre todo los libros “Liferay In Action”, “Portlets in Action” y “Aprende OpenXava con ejemplo”.

Anteriormente ya hemos hablado aquí de cómo implementar un portlet “hola mundo” e incluso un portlet para procesar un formulario. Ahora podríamos segur con un portlet que manejara la base de datos, pero antes de ponerme con al lío a tirar SQL´s quiero aprender Hibernate.

Vamos a dividir este post en 3 partes, la primera hablaremos de la arquitectura, de cómo empezar el proyecto utilizando Maven, Hibernate, MySQL, Eclipse y todas esas cosas, en el segundo post comentaremos como configurar todos los archivos  y en el tercer post contaremos como es la implementación de la aplicación.

Esta serie de post están basados en los tutoriales:

Continúa leyendo «Poco a poco con Maven, Spring, Hibernate»

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»

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»

Empezar a utilizar Maven en un proyecto Java

Cuando realizamos proyectos Java siempre tenemos varias tareas que realizar. La primera suele ser crear una estructura de directorios pensando en un hueco para los archivos fuentes, otro para iconos, ficheros de configuración o datos, directorio para dejar los .class o el .jar, para dejar el javadoc, etc, etc.

También existen otras tareas que realizamos con cierta frecuencia, como borrar los .class, compilar, generar la docume

Seguramente también dependamos de otros jar como, como drivers debase de datos, JUnit para clases de test, log4j para nuestra salida de log, etc, etc. Tendremos que copiar todos esto jar externos en algún sitio de nuestro proyecto e incluirlos.

Continúa leyendo «Empezar a utilizar Maven en un proyecto Java»