Configuración del entorno

Configurar las herramientas

Java SE 14 (Java Standard Edition 14)

Se usará Java SE 14 para el desarrollo del curso (podés usar también el JDK 11 si ya lo tenés instalado). Te recomiendo usar los instaladores de AdoptOpenJDK:

IDE

Para realizar este curso se recomienda el uso de Apache NetBeans por contar con una base de datos y buena integración con los Application Servers. Durante el curso se utilizará NetBeans como referencia para realizar las tareas. Sin embargo, todos los IDE proveen la funcionalidad necesaria, y podrá utilizarse cualquier otro.

Instalación de Apache NetBeans IDE

  1. Descargar Apache NetBeans IDE
  2. Descargar el instalador (.exe) y ejectuar

Modelado UML

Para el modelado UML podrán usar cualquier herramienta de diseño que les guste. También es posible usar el clásico lapiz y papel para realizar los diagramas. En el curso sugerimos usar lápiz y papel. Si preferís usar alguna herramienta, hay varias disponibles:

Configurar la base de datos del proyecto

El proyecto levanta automáticamente una base de datos en memoria (HSQLDB) y ejecuta el script schema.sql (src\main\resources\schema.sql) contra dicha base.
Por otro lado, los tests funcionan de la misma manera.

En resumen, no es necesario realizar ninguna otra configuración adicional para utilizar este proyecto.

¿Y cómo hago para conectarme con una base externa?

Si querés utilizar otra base de datos para realizar pruebas (un MySQL por ejemplo), necesitás:

  1. Configurar y levantar la base de datos nueva.
  2. Agregar los drivers de la base de datos que querés en el pom.xml
  3. Editar el archivo application.properties para referenciar a la base de datos nueva.
Estos pasos no son necesarios para realizar el curso.

Configurar el proyecto

A continuación configuraremos el proyecto base que se usará durante este curso. Este proyecto tiene ya la estructura básica creada, y está pre-configurado para NetBeans IDE.

Bajar el proyecto desde Git

El proyecto se encuentra en el repositorio Git de Dos Ideas en GitLab.

Para descargarlo usando NetBeans seguir estos pasos:

  1. iniciar NetBeans IDE
  2. En el menú, ir a Team > Git > Clone...
  3. Completar estos datos:
    1. Repository URL: https://gitlab.com/dosideas/java-con-spring-framework.git
    2. User: <dejar en blanco>
    3. Password: <dejar en blanco>
    4. Click en Next
    5. Remote Branches: master
    6. Click en Next.
    7. Parent directory: elegí donde quieras descargar el proyecto. Se creará una carpeta con el contenido del proyecto.
    8. Click en Finish.
    9. Listo!

Si por algún motivo no tenés acceso al repositorio Git, podés directamente descargar el ZIP del proyecto de ejemplo y descomprimirlo.

Abrir el proyecto

El proyecto está ya configurado para ser usado con NetBeans IDE.

Para esto, Ir al menú File > Open Project... y seleccionar el directorio dosideas-jee001-workshop.

Si estás usando otro IDE, el proyecto utiliza Maven para compilar, tenés que buscar el soporte adecuado para tu IDE.

Ejecutar las pruebas

Para comprobar que todo esté bien configurado, ejecutaremos los test.

El módulo dosideas-jee001-workshop Web App cuenta con clases de tests ya implementadas.

Ejecución de todos los tests del proyecto

  1. Seleccionar el proyecto dosideas-jee001-workshop Web App
  2. Ir al menu Run > Test (de forma alternativa, click derecho en el nodo del proyecto > Test)

Los tests se ejecutan y se muestran los resultados en la solapa de Test. Deberían pasar todos los tests (barra en verde).

Conclusión

La ejecución de tests es simple y rápida. Se convertirá en una herramienta fundamental para el desarrollo JEE.

Con los tests unitarios no se requiere de la complejidad de un entorno para probar la lógica del método, y son de rápida ejecución.

Más aún, los tests permiten asegurar mantenibilidad y calidad: son un resguardo frente a los cambios. Al introducir un cambio en el código, es ahora muy simple ver si se cambió el comportamiento de los objetos, ya que de hacerlo los tests fallarán. Así se evitarán problemas de regresión (el famoso "arreglo 1, rompo 3").

Por último, los tests no aseguran que un cambio no producirá problemas, pero es un medio repetible y controlable para asegurar calidad: si un cambio introducido produce un fallo que no es detectado en los tests, esto indica que hay situaciones que no están siendo cubiertas por los tests. Será entonces cuestión de agregar dicha situación a los casos de test, con lo cual la cobertura del sistema se seguirá ampliando.

El desarrollo guiado por tests (Test-Driven Development, o TDD) apunta entonces a desarrollar sistemas con calidad, de forma profesional.

Comenzaremos realizando todas las tareas de configuración necesarias para tener un entorno correcto para realizar el curso. En esta etapa configuraremos el JDK, el IDE y armaremos el proyecto base para realizar el resto de las actividades.