openxava / documentación / Primeros pasos con OpenXava

Sigue esta guía para crear y ejecutar tu primer proyecto OpenXava.

Crear un proyecto nuevo

En primer lugar has de crear un proyecto Java nuevo:
getting-started_es020.png
Entonces aparecerá un asistente. Teclea el nombre del proyecto, Facturacion. Ten cuidado de poner la F de Facturacion en mayúscula y no usar acento, para que los vínculos de abajo funcionen correctamente. Presiona en Finish:
getting-started_es030.png
Ahora OpenXava Studio te preguntará:
Nombre de módulo
Pulsa Don't Create.
Después de esto tendrás un proyecto Java vacío llamado Facturacion:
getting-started_es040.png
Ahora tienes que convertirlo en un proyecto OpenXava:
getting-started_es050.png
Después de esto has de introducir el nombre de proyecto, teclea Facturacion y presiona OK. Espera unos pocos segundos hasta que termine y tendrás un proyecto OpenXava completo:
getting-started_es060.png
Tu proyecto ya está listo para empezar a escribir código.

Crear tu primera entidad

Desarrollar es muy fácil: solo has de añadir entidades para ir haciendo crecer tu aplicación. Empezaremos con una versión simplificada de Cliente con solo numero y descripcion.
Selecciona el paquete com.tuempresa.facturacion.modelo y pulsa el botón New Java Class:
getting-started_es125.png
Después teclea Cliente como nombre de clase y pulsa Finish.
getting-started_es130.png
Fíjate que la C de Cliente está en mayúscula, esto es muy importante, en Java todas las clases empiezan con mayúscula.
El código inicial que Eclipse proporciona para Cliente es muy simple:
package com.tuempresa.facturacion.modelo;
 
public class Cliente {
 
}
Ahora, te toca a ti rellenar esta clase para convertirla en una entidad adecuada para OpenXava. Solo necesitas añadir la anotación @Entity y las propiedades numero y descripcion:
package com.tuempresa.facturacion.modelo;
 
import javax.persistence.*;
import org.openxava.annotations.*;
 
@Entity  // Esto marca la clase Customer como una entidad
public class Cliente {
 
    @Id  // La propiedad numero es la clave.  Las claves son obligatorias (required) por defecto
    @Column(length=6)  // La longitud de columna se usa a nivel UI y a nivel DB
    private int numero;
 
    @Column(length=50) // La longitud de columna se usa a nivel UI y a nivel DB
    @Required  // Se mostrará un error de validación si la propiedad nombre se deja en blanco
    private String nombre;
 
    public int getNumero() {
        return numero;
    }
 
    public void setNumero(int numero) {
        this.numero = numero;
    }
 
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
}
Con esto tienes el código suficiente (justo una clase) para ejecutar tu aplicación. Hagámoslo.

Ejecutar la aplicación

Lo primero es contruir el proyecto pulsando el botón Build All o presionando Ctrl-B:
getting-started_es145.png
Pulsa el botón derecho del ratón en _Run_Facturacion.java (en Facturacion/src/_run) y selecciona Run As > Java Application:
getting-started_es150.png
Ya tienes tu aplicación ejecutándose. Para verla, abre tu navegador favorito (Chrome, Firefox, Internet Explorer 11, Edge o Safari) y ve a la siguiente URL:

    http://localhost:8080/Facturacion

Estás viendo tu aplicación por primera vez. Para empezar pulsa en el botón INICIAR SESIÓN:
getting-started_es160.png
Ahora, introduce admin/admin y pulsa en ENTRAR:
Página de identificación
Después, pulsa en la parte de la izquierda se mostrará una lista de módulos, escoge Clientes:
getting-started_es170.png
Usa el módulo Clientes para crear nuevos clientes, simplemente introduce el número y el nombre y pulsa Grabar.
getting-started_es190.png
Pulsa en Lista para ver los clientes que has creado. Enhorabuena, tienes tu entorno configurado y tu aplicación funcionando.

Modificar la aplicación

A partir de ahora, desarrollar con OpenXava es muy fácil. Simplemente, escribes una clase y ya puedes ver el resultado en el navegador. Creemos una entidad para Producto.
Selecciona el paquete com.tuempresa.facturacion.modelo y pulsa el botón New Java Class:
getting-started_es125.png
Después teclea Producto como nombre de clase y pulsa Finish.
getting-started_es193.png
Escribe el siguiente código para Producto:
package com.tuempresa.facturacion.modelo;
 
import javax.persistence.*;
import org.openxava.annotations.*;
 
@Entity
public class Producto {
 
    @Id @Column(length=9)
    private int numero;
 
    @Column(length=50) @Required
    private String descripcion;
 
    public int getNumero() {
        return numero;
    }
    public void setNumero(int numero) {
        this.numero = numero;
    }
 
    public String getDescripcion() {
        return descripcion;
    }
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
 
}
Ahora, detén la aplicación, compila (Ctrl-B) y vuelve a iniciar la aplicación:
getting-started_es195.png
Para ver tu nueva entidad en acción abre tu navegador y ve a la URL:

    http://localhost:8080/Facturacion/modules/Producto

Después de identificarte con admin/admin obtendrás:
getting-started_es200.png
Sí, ya tienes un nuevo módulo en marcha, y solo has tenido que escribir una simple clase. Ahora puedes concentrarte en hacer crecer tu aplicación.

¿Has tenido problemas?

¡Enhorabuena! Has creado tu primera aplicación OpenXava. Si no ha sido así y has tenido algún problema con el ejemplo de arriba, pregunta en el foro:

    Pregunta en el foro

Te ayudaremos a resolver cualquier dificultad.

Siguientes pasos

Esta guía de primeros pasos es la lección 1 de un curso completo de OpenXava. Este curso te enseñará cómo desarrollar aplicaciones empresariales con OpenXava, así como con otras tecnologías, herramientas y marcos de trabajo Java. Desarrollaremos paso a paso una aplicación completa desde cero. Se trata de una pequeña aplicación de facturación con facturas, clientes, productos y así por el estilo. Esta aplicación es una mera excusa para aprender algunos casos típicos en aplicaciones de gestión. Puedes aplicar todo lo que aprendas con esta aplicación a cualquier otra aplicación de gestión en cualquier otro dominio.

Este es el contenido del curso:


Ya estás listo para pasar a la siguiente lección, sin embargo deberías considerar adquirir un poco de conocimiento base, tal como:

¿Quieres usar IntelliJ? ¿Quieres ir contra MySQL, PostgreSQL, Oracle, Microsoft SQL Server, AS/400, Informix, Db2 o Firebird? ¿Quieres una guía de referencia detallada? Echa un vistazo a la documentación de OpenXava, que incluye todo esto y mucho más.
¿Preparado? Ve a la lección 2