Struts 2 Framework MVC

Los frameworks pueden ser vistos como implementaciones de patrones de diseño que facilitan la reutilización de diseño y código.
Dado que MVC ha sido utilizado en muchas aplicaciones web, se han desarrollado un conjunto de frameworks que den soporte a áreas comunes en todas las aplicaciones MVC.

Apache Struts es una de estas frameworks

Creada por Craig McClanahan y donada a la Apache Software Foundation en el 2000 (pertenece a Apache Jakarta).

Provee librería de clases y TAG-LIBS que conforman el Controlador, la integración con el Modelo (o lógica de negocio) y facilitan la construcción de vistas.

El Modelo o lógica de negocio es la parte que nos corresponde desarrollar.

Struts 2 está basado en el patrón MVC (Modelo-Vista-Controlador), una arquitectura que busca reducir el acoplamiento dividiendo las responsabilidades en 3 capas claramente diferenciadas:

  • El modelo, que hace referencia a los datos que maneja la aplicación y las reglas de negocio que operan sobre ellos y que se traducen en Struts 2 en las acciones.
  • La vista, encargada de generar la interfaz con la que la aplicación interacciona con el usuario. En Struts 2 equivale a los resultados.
  • El controlador, que comunica la vista y el modelo respondiendo a eventos generados por el usuario en la vista, invocando cambios en el modelo, y devolviendo a la vista la información del modelo necesaria para que pueda generar la respuesta adecuada para el usuario. El controlador se implementa en Struts 2 mediante el filtro FilterDispatcher

Struts ofrece su propio componente controlador y proporciona integración con otras tecnologías para implementar el modelo, mediante tecnologías de acceso a datos como JDBC, y la vista, mediante JSP o XSLT. Además ofrece un sistema de tuberías que permite la comunicación entre el modelo que contiene los datos y las vistas que ofrecen estos datos a los usuarios y reciben sus órdenes.

Una aplicación Struts no es más que una Aplicación Web sobre el Framework de Struts.

Imagen1

Struts 2 es, como el nombre sugiere, la nueva versión del popular framework de desarrollo web en Java Apache Struts. Sin embargo, contrariamente a lo que cabría esperar, el código de ambos tiene poco que ver, dado que Struts 2 no se basa en el código de Struts 1.x, sino en el de otro framework de desarrollo web en Java llamado WebWork, un framework que el creador de Struts consideraba superior a Struts 1.x en varios aspectos.

Mejoras:

  • Facilitar el deploy de aplicaciones.
  • Diseño mejorado.
  • Nuevos tags incorporados
  • Mejora en la gestión de checkboxes.
  • Botones para cancelar flexibles.
  • Soporte para AJAX.
  • Integración sencilla para Spring.
  • Resultados especializados.
  • Formularios POJO (olvídate de los ActionForm).
  • Acciones POJO.
  • Añadir plugins fácilmente.
  • Integrar herramientas de profiling.
  • Reporte de errores más preciso.
  • Acciones fáciles de testear.
  • Valores por defecto para las configuraciones.
  • Controladores fáciles de customizar.
  • Integración de herramientas de debbuging.
  • Añadir nuevos tags fácilmente.

Ventajas

La utilización de esta metodología conlleva una serie de ventajas que nos ayudan a reducir el tiempo requerido para el desarrollo y facilitar el mantenimiento de la aplicación web:

  • Transporte automático de los datos introducidos en el cliente (JSP) hasta el controlador (Action) mediante formularios (ActionForm).
  • Transporte automático de los datos enviados por el controlador (Action) a la parte de presentación (JSP) mediante formularios (ActionForm).
  • Implementa la parte común a todas las aplicaciones en la parte de Controlador (ActionServlet); la parte particular de cada aplicación es fácilmente configurable (struts-config.xml).
  • La separación de los componentes en capas (MVC) simplifica notablemente el desarrollo y su mantenimiento.

Junio 28, 2009. Etiquetas: , , , , . Analisis 2.

Aún no hay comentarios

¡Sea el primero en comentar!

Escribe un comentario

Trackback URI