Taller Openxava

3
FLISOL 2010 - Taller de OPENXAVA Alejandro Enrique More Montoya OPENXAVA DEFINICIÓN Es un framework orientado a componentes de negocio de código abierto para desarrollar aplicaciones JavaEE de forma rápida y efectiva sin implementar la complejidad de otros frameworks usados para java como MVC, Struts, JSF, etc. Los cuales definen la lógica de negocio (modelo), interfaz de usuario (vista) y comportamiento (controlador) por separado, lo cual permite que la aplicación se adapte a cambios de lógica de negocio, de motor de base de datos, interfaz de usuario; pero es perjudicial cuando se trata de cambiar la estructura de los datos como por ejemplo: agregar nuevos campos, ya que esto implica hacer modificaciones en todos los niveles. En OpenXava se define (Clases Java – Componentes de Negocio) en lugar de programar y el framework provee automáticamente la interfaz de usuario, el acceso a los datos, validaciones, etc. La definición de clases se hace usando POJO (Plain Old Java Object) y notación JPA (Java Persistence API), esto trabaja junto con el framework para producir una aplicación en funcionamiento. ARCHIVOS NECESARIOS 1. Eclipse http://eclipse.c3sl.ufpr.br/technology/epp/downloads/release/galileo/SR2/eclipse-jee-galileo-SR2-win32.zip 2. Framework OpenXava http://downloads.sourceforge.net/project/openxava/openxava/4m3/openxava-4m3.zip?use_mirror= u fpr Este archivo incluye el código de OpenXava, ejemplos, la guía de referencia, tutoriales y un servidor tomcat. 3. Java JDK EJEMPLO POR DEFECTO Vamos a correr el ejemplo MiEscuela y en base a este vamos a hacer algunas modificaciones.

Transcript of Taller Openxava

Page 1: Taller Openxava

FLISOL 2010 - Taller de OPENXAVA Alejandro Enrique More Montoya

OPENXAVA

DEFINICIÓN

Es un framework orientado a componentes de negocio de código abierto para desarrollar aplicaciones JavaEE de forma rápida y efectiva sin implementar la complejidad de otros frameworks usados para java como MVC, Struts, JSF, etc. Los cuales definen la lógica de negocio (modelo), interfaz de usuario (vista) y comportamiento (controlador) por separado, lo cual permite que la aplicación se adapte a cambios de lógica de negocio, de motor de base de datos, interfaz de usuario; pero es perjudicial cuando se trata de cambiar la estructura de los datos como por ejemplo: agregar nuevos campos, ya que esto implica hacer modificaciones en todos los niveles.

En OpenXava se define (Clases Java – Componentes de Negocio) en lugar de programar y el framework provee automáticamente la interfaz de usuario, el acceso a los datos, validaciones, etc. La definición de clases se hace usando POJO (Plain Old Java Object) y notación JPA (Java Persistence API), esto trabaja junto con el framework para producir una aplicación en funcionamiento.

ARCHIVOS NECESARIOS

1. Eclipse

http://eclipse.c3sl.ufpr.br/technology/epp/downloads/release/galileo/SR2/eclipse-jee-galileo-SR2-win32.zip

2. Framework OpenXava

http://downloads.sourceforge.net/project/openxava/openxava/4m3/openxava-4m3.zip?use_mirror= u fpr

Este archivo incluye el código de OpenXava, ejemplos, la guía de referencia, tutoriales y un servidor tomcat.

3. Java JDK

EJEMPLO POR DEFECTO

Vamos a correr el ejemplo MiEscuela y en base a este vamos a hacer algunas modificaciones.

Page 2: Taller Openxava

FLISOL 2010 - Taller de OPENXAVA Alejandro Enrique More Montoya

1. Configuración de JDK

Debemos asegurarnos tener instalado el java jdk en nuestra computadora, para el taller usaremos el OpenJDK 1.6 sobre Ubuntu 9.04

De ser necesario vamos a establecer un valor a la variable JAVA_HOME

Export JRE_HOME=/usr/lib/jvm/[java versión]

2. Levantamos el servidor tomcat que viene en el openxava

Nos colocamos en la carpeta openxava/tomcat/bin

./startup.sh

3. Ejecutamos el Eclipse

Como workspace por defecto seleccionamos la carpeta workspace que se encuentra dentro del openxava.

4. Construimos el proyecto MiEscuela, le damos click derecho al proyecto y ejecutamos la tarea ant desplegarWar, vamos a la dirección y listo:

http://localhost:8080/MiEscuela/xava/module.jsp?application=MiEscuela&module=Profesor

NOTACIONES AVANZADAS

Ahora vamos a añadirle a nuestro mantenimiento de Profesor más funcionalidades como una imagen, pestañas de selección de campos, algunos componentes de formularios clásicos como: combos, checklist, etc.

Llave primaria de profesor@Id@Hidden @GeneratedValue(strategy=GenerationType.IDENTITY)@Column(length=6)private int idProfesor;

Propiedades de campos@Required @Column (length=30, columnDefinition="VARCHAR(30) NOT NULL/SMALLINT(6)")@Stereotype ("TELEFONO/EMAIL")@DefaultValueCalculator(CurrentYearCalculator.class)

Añadiendo una foto al profesor@Column(columnDefinition="BLOB")@Stereotype("PHOTO") private byte[] foto;

Estados del profesorpublic enum EstProfesor { Activo, Jubilado}@Column (length=1) private EstProfesor estadoProfesor;

Page 3: Taller Openxava

FLISOL 2010 - Taller de OPENXAVA Alejandro Enrique More Montoya

Personalización de presentación@Entity@Tab(properties="apeProfesor, nomProfesor")@View( members= "Información Básica {nomProfesor, apeProfesor; sexoProfesor, estadoProfesor} " + "Información Adicional {direcProfesor; telefProfesor; emailProfesor; fotoProfesor} " + "Cursos {programaciones}")

En el archivo i18n/EtiquetasColegio_es.properties dentro del proyecto#Class: ProfesorProfesor.module[description]= Mantenimiento de ProfesoresProfesor.apeAlumno=ApellidosProfesor.nomAlumno=NombresProfesor.sexoAlumno=SexoProfesor.fotoAlumno=Foto

Configuración de la BD para crear un proyecto nuevo

Modificar el archivo build.xml del proyecto<target name="actualizarEsquema"> <ant antfile="../OpenXava/build.xml" target="updateSchemaJPA"> <property name="persistence.unit" value="junit"/> <property name="schema.path" value="../OpenXavaTest/lib/hsqldb.jar"/ <property name="schema.path" value="../../tomcat/common/lib/mysql-connector-java-5.1.6-bin.jar"/> </ant></target>

Modificar el archivo context.conf dentro de conf

<Resource name="jdbc/Colegio" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="sa" password="" driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:1666"/>

Arrancar la bd con el comando

./start-hsqldb.sh colegio-db 1666