Se encuentra usted aquí

Capítulo 1: El Primer Ejemplo

Guía

En esta sección construiremos un sitio web para administrar una agenda de contactos, utilizando una herramienta para la generación de código llamada Spring Roo. En capítulos posteriores profundizaremos en la historia y detalles de Roo.

Vamos a utilizar Eclipse como entorno de programación (IDE). Eclipse es un proyecto Open Source con capacidades de extensión a través de módulos y es uno de los IDE más usados para Java. Soportado por la Eclipse Foundation, permite a las empresas personalizar el entorno de desarrollo. SpringSource Tool Suite (STS) es una distribución de Eclipse que incluye Roo y otros módulos, al igual que un servidor web para publicar la aplicación.

Paso 1 Identifique su sistema operativo

Para los siguientes pasos necesitará estar seguro de si su sistema operativo (SO) es 32 o 64 bits. Los usuarios de Windows pueden ejecutar el comando “winver”, si el resultado incluye x64, se trata de un SO 64 bits, de lo contrario es 32 bits.

Los usuarios de linux pueden ejecutar “uname -a” en la línea de comandos.

Paso 2 Instalar el JDK de Java

En http://www.oracle.com/technetwork/java/javase/downloads/index.html encontrará el instalador del JDK para Windows: haga clic en Download JDK. Seleccione el sistema operativo de la lista, acepte los términos y haga clic en continuar. Finalmente, haga clic en el link para iniciar la descarga.

Para los usuarios de Linux recomendamos instalar el JDK 6 usando la línea de comandos. Siga las instrucciones para su distribución específica.

Paso 3 Descargar STS

Para descargar STS vaya a http://www.springsource.com/downloads/sts, no es indispensable llenar los datos del formulario, puede aceptar los términos seleccionando “I agree and accept the license terms...” y luego clic en “... Just take me to the download page”. Esto lo llevará a la página de descarga para su sistema operativo. Puede escoger entre un instalador o una versión comprimida; descargue el que corresponda a la edición de su sistema operativo (32 o 64 bits).

Una advertencia para los usuarios de Windows: Si descarga la versión .zip. Es mejor descomprimirla con una herramienta diferente a la del sistema operativo (7Zip o algún otro), de lo contrario, es posible que le solicite clave: error de la herramienta de Windows.

Paso 4 Crear el proyecto

Inicie STS, Eclipse le solicitará que seleccione la ubicación del “Workspace”, esta es la carpeta en la que estarán ubicados los proyectos que componen la solución. Haga clic en el botón “Browse...” y seleccione la ubicación en su equipo. Haga clic en el botón Ok para continuar.

Haga clic en la opción Open Dashboard. Haga clic en el menú File → New → Spring Roo Project. Diligencie los campos de configuración del proyecto así:

Project name: Contactos
Top level package name: com.itagil.demo

Las demás propiedades se mantienen en los valores por defecto. Haga clic en el botón Next y luego clic en el botón Finish. En la parte inferior derecha notará un icono indicando que Eclipse está realizando acciones, espere un momento hasta que aparezca “Roo Shell”, es probable que la primera vez este proceso tarde algunos minutos porque Eclipse estará descargando las dependencias necesarias.

Barra de Progreso

Paso 5 Generar el código usando Spring Roo

Si no puede ver “Roo Shell”, haga clic en el menú Window → Show View → Roo Shell. En la línea de comandos pegue las siguientes instrucciones. Notará que si intenta escribir, Eclipse completará los comandos presionando las teclas Control y Barra Espaciadora (CTRL+SPACE).

persistence setup --database H2_IN_MEMORY --provider HIBERNATE

Mediante esta instrucción se le indica a Roo que configure una conexión a base de datos. Para este ejemplo usaremos la base de datos relacional integrada H2 escrita en Java y que puede mantener las tablas en memoria. En capítulos posteriores veremos la forma de configurar otras bases de datos, la lista completa de posibilidades se muestra escribiendo persistence setup –database y presionando CTRL+SPACE.

Ahora le indicaremos a Roo los datos de captura para nuestra aplicación de ejemplo creando la clase Persona y agregando las propiedades necesarias. Copie, una línea a la vez, los comandos a continuación y ejecútelos en el Roo Shell.

entity jpa --class ~.dominio.Persona
field string --fieldName nombre --sizeMin 1 --sizeMax 100
field string --fieldName email --regexp ^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$
field date --fieldName fecha --type java.util.Date

Mediante estos comandos, creamos una clase llamada Persona con las propiedades nombre, email y fecha. Al momento de ejecutar la aplicación, Roo creará la tabla necesaria en la base de datos.

Finalmente, le indicaremos a Roo que cree el sitio web a partir de la información que le hemos entregado:

controller all --package ~.web

Por defecto, el proyecto abrirá en el navegador integrado de Eclipse. Para ver el sitio web en su navegador, haga clic en el menú Window → Web Browser → Default system web browser.

Seleccione el proyecto Contactos haciendo clic en la ventana de la izquierda llamada Package Explorer, Presione las teclas CTRL+F11 para ejecutar la aplicación, aparecerá un diálogo solicitándole seleccionar la forma en que se ejecutará el proyecto. Escoja la primera opción: Run on Server. Presione el botón Finish. Aparecerá un diálogo con el mensaje “Spring Insight is available...” seleccione la opción No. Un poco de paciencia y... ya está... podemos ver una aplicación completamente funcional que nos permitirá agregar nuevas personas, listar las existentes, modificar y eliminar.

Roo

Este es un primer ejemplo de lo que podemos hacer en java. Debemos aclarar que, a la fecha, Spring Roo no es la solución a los problemas de las empresas de desarrollo de software. Es una excelente herramienta con muchísimas cosas interesantes pero consideramos que hay algunas cosas que deben ser mejoradas y, en otras, un análisis más detallado es necesario.

Para ver el código que hemos creado, expanda el proyecto Contactos y la carpeta src/main/java del Package Explorer, en com.itagil.demo.dominio encontrará la clase Persona.java en la que se puede ver el resultado de los comandos ejecutados.

Filtro

Spring Roo utiliza AspectJ para enlazar el código generado, los archivos no son visibles por defecto, para mostrarlos, haga clic en el icono de la barra de herramientas del Package Explorer que tiene el aspecto de un triángulo. Haga clic en la opción Filters y desmarque la selección de la opción “Hide generated Spring Roo ITDs”, ahora se mostrarán nuevas clases. El código más interesante lo encontrará en Persona_Roo_Entity.aj. No modifique estos archivos puesto que el objetivo es que sean generados automáticamente por Roo.

Resumen

Hemos visto un primer ejemplo de un sitio web generado con Java, por ahora no escribimos código y utilizamos la herramienta Spring Roo para generarlo. En el capítulo siguiente veremos qué es la máquina virtual de Java, éste es un punto muy importante para no pasar por alto aspectos clave de la plataforma.

Comentarios

Imagen de ricardoalcala

Me funciono perfecto el ejemplo en Windows 7 64 bits, le recomiendo a jalcala que ponga los links de descarga para que se habrán en otra pestaña, ya que se sale de la página al intentar descargar los paquetes de instalación. Hay que tener paciencia porque la primera vez que se abre el (STS) se demora bastante descargando dependencias pero tranquilos porque los comandos que se colocan en el Roo Shell quedan en espera y se ejecutan apenas termine. Saludos ¡¡¡¡¡¡¡

Imagen de jalcala

Perfecto, ya hice el cambio a los enlaces. Mil gracias por la observación.

IT Agil S.A.S. © 2011 | Bogotá D.C., Colombia