F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava...

9
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Transcript of F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava...

Page 1: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Page 2: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Entra en Adictos a través de

Entrar Deseo registrarmeOlvidé mi contraseña

Inicio Quiénes somos Formación Comparador de salarios Nuestros libros Más

» Estás en: Inicio Tutoriales Desarrollo rápido de aplicaciones CRUD con OpenXava

Síguenos a travésde:

Catálogo de serviciosAutentia

Últimas Noticias

» IX Autentia Cycling Day(ACTUALIZADO)

» Autentia en la carrera de lasempresas

» Spring 4.0 ¿qué hay denuevo amigo?

» Torneo de pádel solidarioAMEB

» Próxima charla: Gradle comoalternativa a Maven para laconstrucción de proyectos enJava

Histórico de noticias

Últimos Tutoriales

» ApacheDS: tests deintegración contra un servidorLDAP embebido.

» ¿Mockear métodosestáticos?, con el soporte dePowerMock.

» Haciendo un cliente deTwitter en Android.

» ¿Endemoniado por lo lentoque es Gradle en el arranque?

Ver todos los tutoriales del autor

Ismael Fernández Molina

Consultor tecnológico de desarrollo de proyectos informáticos.

Ingeniero en Informática, especialidad en Ingeniería del Software

Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría yformación

Somos expertos en Java/J2EE

Fecha de publicación del tutorial: 2013-12-27 Tutorial visitado 3 veces Descargar en PDF

Desarrollo rápido de aplicaciones CRUD con OpenXava.

0. Índice de contenidos.

1. Entorno.2. Introducción.3. Descarga.4. Configuración del entorno.5. Arrancando nuestra primera aplicación.6. Añadir una nueva tabla a la aplicación.7. Añadir referencias entre tablas.8. Conclusiones.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

Hardware: portátil MAC (2GHz Intel Core i7, 8GB 1333 MHz DDR3)Sistema Operativo: Mac OS X Mavericks 10.9

2. Introducción.

Hoy en día tenemos que convivir con una multitud de frameworks que nos ofrecen muchísimas funcionalidades y utilidadespara desarrollar aplicaciones. Ya dependerá de nuestros gustos o necesidades el usar un framework u otro.

Dentro de este amplio mundillo hay uno que llevo tiempo siguiendo y que me gustaría enseñaros. Este framework esOpenXava: framework Java de código abierto diseñado para desarrollar aplicaciones de gestión, tipo CRUD, de una formamuy rápida y sencilla.

Está basado en Java, y sólo necesita de POJOs, JPA y anotaciones de Java para funcionar. No necesitamos desarrollar niinterfaces web ni lógica de negocio para hacer que nuestra aplicación funcione. OpenXava ya se encarga de generar todo esecódigo por nosotros.

A parte de ello, lo interesante es que las aplicaciones que se desarrollan con este framework pueden ser desplegadas enportales (como Liferay), como aplicaciones portlet on un simple click.

3. Descargar el software.

Antes de empezar necesitaremos una serie de componentes previamente instalados en nuestro portátil o PC. Necesitaremostener:

Versión 5, o superior, de Java (échale un vistazo a nuestro tutorial de cómo instalar Java 7 en tu MAC).Eclipse para desarrolladores JEE (http://www.eclipse.org/downloads/)

Una vez tenemos nuestro JDK y nuestro Eclipse instalados ya sólo falta instalar OpenXava.

Para ello iremos a la siguiente URL http://www.OpenXava.org/es/web/guest/home y pulsaremos sobre la opción "descargarOpenXava" para descargarnos la última versión del framework (en mi caso la versión 4.9), o directamente desde sourceforge:http://sourceforge.net/projects/openxava/files/openxava/4.9/

MoreShareShareShareShareShareShare

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

1 of 8 27/12/13 08:42

Page 3: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

IMPULSA Impulsores Comunidad ¿Ayuda?

----sin clicks + + + + + + + +

0 personas han traído clicks a esta página

powered by karmacracy Aprende a controlar suDaemon, y vuela!

» Manipulación de datos enMongoDB medianteAggregation Pipeline.

Últimas ofertas deempleo

2011-09-08Comercial - Ventas -MADRID.

2011-09-03Comercial - Ventas -VALENCIA.

2011-08-19Comercial - Compras -ALICANTE.

2011-07-12Otras Sin catalogar -MADRID.

2011-07-06Otras Sin catalogar -LUGO.

Si lo hacemos desde la web oficial, antes de poder descargar el framework, nos aparecerá un pequeño formulario deinscripción que lo que hará será enviarnos a nuestro correo electrónico un enlace de descarga. Así quedaremos inscritos enlas newsletters del framework. Pero como he comentado antes, podéis descargar la distribución de forma directa desdesourceforge.

Una vez hemos descargado el zip descomprimiremos el archivo en nuestro equipo.

4. Configuración del entorno.

Para echar un ojo de forma rápida a este framework empezaremos con los proyectos ejemplo que vienen contenidos en ladistribución. Lo primero que haremos será arrancar nuestro Eclipse usando como workspace el que viene contenido en ladistribución de OpenXava que acabamos de descargarnos:

Una vez hemos arrancado Eclipse en el workspace de OpenXava, podremos comprobar cómo Eclipse nos carga con una seriede proyectos ejemplo que OpenXava ya tiene preparados para nosotros. Será con ellos con los que empecemos a "trastear":

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

2 of 8 27/12/13 08:42

Page 4: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenidodentro de la distribución de OpenXava (versión 6 igualmente). Para nuestro ejemplo usaremos el que viene contenido en ladistribución ya que está configurado para que podamos lanzar de una forma rápida y sencilla los ejemplos.

A mi me gusta tener Tomcat asociado a Eclipse de modo que para hacerlo iremos a "Preferencias/Server/Runtimeenvironments/Add" y seleccionaremos la opción Apache Tomcat version 6. Una vez dentro de la opción de añadir indicaremosa Eclipse el path en donde nuestro tomcat se encuentra (en nuestro caso dentro de la distribución de OpenXava), ypulsaremos "Aceptar".

5. Arrancando nuestra primera aplicación.

Como os he comentado antes, OpenXava sólo necesita de POJOs para poder funcionar. De echo si echamos un ojo a una delas aplicaciones que el workspace ya tiene preparadas para nosotros, en este caso la llamada "MiEscuela", podremos ver quedentro del código fuente sólo tenemos una clase, la clase Profesor, la cual es un Entity de la base de datos:

@Entitypublic class Profesor { @Id @Column(length=5) @Required private String codigo; @Column(length=40) @Required private String nombre;

public String getCodigo() { return codigo; }

public void setCodigo(String codigo) { this.codigo = codigo; }

public String getNombre() { return nombre; }

public void setNombre(String nombre) { this.nombre = nombre; }}

No busques más código fuente porque no lo vas a encontrar. OpenXava se encarga de generar todo el código necesario pararealizar toda la gestión CRUD de esa tabla por ti. De modo que cuando crees una aplicación OpenXava, sólamente vas anecesitar definir las clases que representaran las tablas de la base de datos y sus relaciones. El trabajo restante ya lo haceOpenXava por ti.

Para arrancar la aplicación compilaremos el proyecto y pulsaremos sobre la opción "desplegarWar" de la tarea ant que yaviene programada (previamente hemos arrancado el server):

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

3 of 8 27/12/13 08:42

Page 5: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Si todo ha ido correctamente, abriremos nuestro navegador y introduciendo la siguiente URL: http://localhost:8080/MiEscuela/modules/Profesor, podremos comprobar como en cuestión de minutos hemos montado una completa aplicación CRUD contodas sus operaciones, filtros en las consultas y opciones de exportación de datos:

6. Añadir una nueva tabla a la aplicación.

En este apartado crearemos otra tabla en la base de datos y crearemos la parte CRUD de la misma en menos de un minuto.Para ello crearemos la nueva tabla en la base de datos (en este ejemplo usamos hsqldb):

CREATE MEMORY TABLE ALUMNO(NUMERO INTEGER NOT NULL PRIMARY KEY,NOMBRE VARCHAR(40),PROFESOR_CODIGO VARCHAR(5))

Tras la creación de la tabla sólo nos queda crear el Entity en nuestro código fuente. Vamos a crear la clase Alumno:

@Entitypublic class Alumno {

@Id @Column(length = 2) @Required private int numero;

@Column(length = 40) @Required 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; }}

Llegados a este punto, sólo nos queda volver a compilar y desplegar nuestro proyecto. Accedemos a http://localhost:8080/MiEscuela/modules/Alumno y el resultado es el siguiente:

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

4 of 8 27/12/13 08:42

Page 6: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

7. Añadir referencias entre tablas.

La forma que tenemos para poder añadir referencias entre tablas es con la anotación "ManyToOne".

Vamos a añadir una referencia a Profesor desde la entidad Alumno. Para ellos añadiremos un atributo nuevo en la claseAlumno que sea de tipo Profesor y le pondremos la anotación ManyToOne:

@Entitypublic class Alumno {

@Id @Column(length = 2) @Required private int numero;

@Column(length = 40) @Required private String nombre; @ManyToOne private Profesor profesor;

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; }

public Profesor getProfesor() { return profesor; }

public void setProfesor(Profesor profesor) { this.profesor = profesor; }}

Volvemos a compilar, desplegamos en el server, arrancamos la aplicación y como resultado obtenemos lo siguiente:

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

5 of 8 27/12/13 08:42

Page 7: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Como se puede observar OpenXava ya ha incluido en la parte de detalle de los alumnos un nuevo componente relacionadocon Profesor que nos permite seleccionar los profesores y asociarlos a los Alumnos:

Vamos a guardar el nuevo alumno en la base de datos:

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

6 of 8 27/12/13 08:42

Page 8: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

Share | 0

» Registrate y accede a esta y otras ventajas «

Anímate y coméntanos lo que pienses sobre este TUTORIAL:

8. Conclusiones.

En este tutorial hemos podido comprobar la potencia de OpenXava en cuanto a la generación y desarrollo de aplicacionesCRUD se refiere. Gracias a frameworks como éste podemos agilizar mucho la creación de aplicaciones de gestión ya quesólamante deja en manos del programador el diseño y análisis del modelo de datos. El resto déjaselo a OpenXava ya que élhará el trabajo por ti.

Por supuesto, OpenXava es capaz de hacer muchas más cosas, pero eso...lo dejamos para tutoriales futuros.

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Copyright 2003-2013 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

7 of 8 27/12/13 08:42

Page 9: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · Para ejecutar los ejemplos que OpenXava necesitaremos descargarnos un Apache Tomcat 6, o usar el que viene contenido dentro de

Desarrollo rápido de aplicaciones CRUD con OpenXava http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

8 of 8 27/12/13 08:42