Arquitectura JM 2.0

Hola enrique, pues ayer le dí un ojo a la aplicación y hasta donde alcancé a ver todo está ok en cuanto a librerías.

Quisiera comenzar este hilo hablando brevemente sobre las capas de la app...

Veo que no hay capa de negocio o más bien está revuelta con la de acceso a datos, por lo tanto también se mezclan las transacciones, chequeos nulos, lógica de negocio,entre otras con el acceso a datos. Entiendo que esto es bueno cuando le quieres bajar la complejidad al sistema pero te pierdes de otras cosas.

Cuál fue la decisión de mezclar ambas capas?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

DAO's

Simplemente para no tener DAO's que sean puro ABC, decidí meter ahí mismo algunas operaciones. Realmente no creo que haya operaciones muy complejas como para tener un componente dedicado que haga alguna operación compleja y requiera tener uno o dos o tres DAO's... pero tal vez sí valga la pena tener algunos componentes separados de los DAO's que se encarguen de cosas que vayan más allá de operaciones atómicas.

Imagen de iberck

Capa de negocio


pero tal vez sí valga la pena tener algunos componentes separados de los DAO's que se encarguen de cosas que vayan más allá de operaciones atómicas.

Ok, pues que así sea.

Sólo es cuestión de documentar esto y si se requieren métodos de negocio más especializados crear un paquete extra...
Por cierto, cuando hagas esto no le llames   a dichas clases de negocio porque te revuelves mucho con los servicios de Tapestry, mejor llamale   y así es más sencillito

Imagen de iberck

Seguridad-Roles

No ví implementado algo ya hecho para la seguridad, por ejemplo Spring-security a través del módulo tapestry-spring-security

De qué manera está implementada la seguridad o cómo se tiene pensado implementarla?¨

Imagen de ezamudio

seguridad

no le he metido todavía a eso. Pensaba simplemente un cookie en el navegador, para que tu login dure varios dias, como funciona hoy este sitio. Obvio un cookie que podamos validar en el server y que no se pueda falsificar fácilmente. Pero actualmente es login validando en la tabla usuario y eso crea una sesión y ya.

Imagen de Shadonwk

Sugerencia

De manera general no se de que están hablando, ya mas especifico se que @Zamudio tiene dos proyectos, y seguramente hablan de uno de los dos, pero sigo sin saber de cual hablan, así como yo habrá usuarios que no tengan ni idea de que se trata, aunque las observaciones que hace @Iberck son interezantes... y que se supone que si algo queda en un post, es para que sirva a mas de dos personas o de una idea de que trata a las personas que lo leen..

Ahora que lo reviso mas detalladamente me doy cuenta que hablan de javaMexico 2.0 por el lugar donde esta posteado, pero de primeras creo que si valdria la pena una mención al nombre dentro del post en sí.

Imagen de iberck

tapestry-spring-security

El trapito...
Creo que sería interesante que incluyeras spring-security a través del módulo tapestry-spring-security, así se tendría bien flexible esa parte de seguridad y se ahorraría hacer cosas ya hechas, por ejemplo el manejo de roles para decir X usuario ejecuta Y página/método, entre tantas cosas que ofrece spring-security

Existe un módulo llamado tapestry-spring-security que hace muy simple la integración de spring-security con Tapestry, te proporciona algunos servicios para hacer logout, te permite inyectar tus páginas/componentes/sus métodos con @Secured y tiene algunos componentes para validar los roles, por ejemplo  , además tienes a la mano las configuraciones de spring-security como símbolos de tapestry.

La verdad no recuerdo qué versión de spring-security tenga por debajo pero si no tiene una que te sirva pues también se puede integrar spring-security a patin y tener la misma potencia con un pequeño esfuerzo extra.

Arriba el trapito, aquí el remedio...

¿Qué opinas?

Imagen de benek

Spring Security

Si les parece bien, yo tomo ese módulo (de Spring Security).

Saludos.

Imagen de ezamudio

ps vas

Vas benek