Las sirenas poseen un arma más poderosa que su canto: su silencio
Franz Kafka

[Struts] – Extendiendo el Framework

Struts es un framework que ha triunfado por implementar el patrón que a la postre resultó el más adecuado para aplicaciones web, MVC, por su sencillez para desarrollar y mantener aplicaciones, facilidad de aprendizaje y modularidad. Esta modularidad es la que le ha permitido copar el mercado durante estos años después añadir piezas para completar el puzzle, como Struts Validator, Tiles, Log4J, SSLExt… Y a su vez le permitirá sobrevivir como una pieza dentro de otros frameworks más completos como Spring.

Struts no hace magia, cumple junto a sus extensiones con la mayoría de las necesidades de los desarrolladores, pero aún presenta ciertas "lagunas" como la seguridad. La razón es que cada organización es muy particular a la hora de definir e implementar ciertas funciones en general y sus políticas de seguridad en concreto.

extend_large.jpgPara estos casos, Struts permite implementar fácilmente estas nuevas necesidades, típicamente mediante la extensión / sobreescritura de sus clases y sus métodos. Pero OJO! tu aplicación ya no estará utilizando Struts sino tu propio framework, con sus ventajas (se supone que cumple al 100% con tus requisitos) e inconvenientes: sensibilidad de los cambios, mayor dificultad de mantener, de aprender, pruebas, documentación…

Pensar dos veces, actuar una

El hecho de que puedas hacer algo no significa que debas hacerlo o que sea bueno. La experiencia es vital antes de dar el siguiente paso. Implementar tu propio framework puede resolverte la vida o destruir una aplicación en pocas semanas. Antes de cualquier modificación, por mínima que sea, deberías de

  1. Estar seguro al 100% de que el requisito a cumplir es necesario.
  2. Estar seguro al 100% de que el requisito a cumplir seguirá siendo necesario durante el ciclo de vida de la aplicación, que ya conocemos a los clientes y donde dicen digo…
  3. Estar seguro al 100% de que es la mejor forma de implementarlo.
  4. Hacer comprender a tu cliente / jefe de que es un cambio especial. Traducido al lenguaje que pueda entender un cliente / jefe
    1. Has informado por escrito y Necesitas autorización por escrito para continuar.
    2. Necesitas tiempo para realizar un correcto análisis y diseño de esta solución y sus posibles alternativas.
    3. Tardará más tiempo que un desarrollo normal porque son cambios más sensibles (afectan y afectarán a toda la aplicación)
    4. Es altamente recomendable documentar este desarrollo
    5. Es imprescindible realizar pruebas, eso que en España no sabemos lo que son…
  5. Hazlo !!!

Estos pasos previos te llevarán una mañana, y en un futuro pueden ahorrarte semanas de trabajo. 

Para un cambio tan trillado y documentado como sobreescribir el processroles pues no montes tanto follón, o sí que así te das más caché delante del jefe :)

También te puede interesar:

  • Framework Struts Un esquema de su funcionamiento podría ser el siguiente: JSP Manda datos introducidos por el usuario al Action Pinta los datos recibidos del Action FORM...
  • [Struts] – Control de Acceso El problema del control de acceso dentro de una aplicación web es habitual en las aplicaciones web. Es muy habitual comprobar que existe un objeto...
  • [Struts] – Manejo de objetos de negocio en los ActionForm La mayoría de los formularios de las aplicaciones web recogen o muestran los datos de los objetos de negocio de nuestra aplicación. Debido a esto,...
  • [Struts] – no Cache Si queremos que ninguna página de nuestra aplicación basada en Struts almacene los datos introducidos por el usuario en ellas (lo que se entiende por...
  • [Struts] – ActionDispatcher Struts permite manejar eventos HTML, mediante la clase ActionDispatcher, LookupDispachAciton y MappingDispatchAction que encontramos en el paquete org.apache.struts.actions. En la clase Action declaramos un ActionDipatcher...

Dejanos tu Comentario

Nombre: (Requerido)

E-Mail: (Requerido)

Sitio WEB:

Comentario:

Comenta