domingo, septiembre 21, 2008

Curso de Struts 2 100% práctico - clase 1

Bien, tarde pero seguro, vamos a comenzar el web-curso de Struts 2 100% práctico. En cuanto a la teoría sólo vamos a verla de manera concisa cuando la necesitemos.

La primer clase siempre es la más aburrida. Vamos a ver una introducción a la aplicación a generar y la configuración general de Struts.

Aplicación a desarrollar:

Queremos desarrollar una aplicación que permita tomar exámenes vía web. Para ello, el alumno ingresará su nombre y el sistema le mostrará 20 preguntas distintas, cada una con 5 opciones diferentes para seleccionar. Cuando el alumno haya finalizado la selección de respuestas, enviará el formulario al sistema para ser corregido.
El sistema realizará la corrección del examen y le mostrará al usuario el resultado final.

Dejaremos de lado ABMs de carga de alumnos, preguntas y respuestas, seguridad por ahora. La razón de esto es para concentrarnos en Struts más que en el resto. Una cosa más, no me pidan ver un diseño de interfaz "bonito", tengo un doctorado en Diseño de Interfaces Malísimas y estoy finalizando mi postgrado en Combinación Horrible de Colores.

A continuación, vemos una imagen de las clases de negocio de nuestro Sistema:

  • Clase Pregunta: representa una sola pregunta que se realiza al alumno, Una pregunta puede tener muchas respuestas asociadas, pero sólo una de ellas será correcta. Esta es la regla que adoptaremos, si bien el modelo permite que tenga varias respuestas correctas.
  • Clase Respuesta: representa una sola respuesta a una determinada pregunta.
  • Clase Examen: representa un conjunto de preguntas y respuestas que el alumno debe responder. Un examen tiene tantos detalles como preguntas se le desee mostrar al alumno.
  • Clase DetalleExamen: representa una asociación entre una pregunta y un examen determinado.
Además, agregaremos una clase adicional ExamenBusiness que se ubicará entre Struts y las clases de negocio. No descarto además, el agregar nuevas clases más adelante, que sirvan para transportar datos entre las distintas capas de nuestra aplicación. Estas clases, son las clásicas DTOs (Data Transfer Object).

Secuencia de llamadas, Actions e interacción general:

En la siguiente imagen, vemos las pantallas JSP que tendremos y su interacción con Struts 2 y a su vez, la interacción de Struts 2 con nuestra clase ExamenBusiness:



Bien, mucho bla bla por ahora, les dejo un archivo con el proyecto realizado en (por supuesto) eclipse. Todavía no hace mucho y ya tiene una configuración básica de Struts. En la próxima clase vamos a ver en detalle la estructura de archivos, para qué sirve cada uno y un poco de código.

Saludos