Richfaces + Spring

Alguien sabe cual es la manera de integrar estos frameworks , y tambien comentarme sobre su experiencia con ellos.

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 luxspes

JSF? Usa Seam... pero si puedes, no uses JSF

Primero que nada... que version de Richfaces? 3.x? Si es asi, mala idea, integrar Richfaces + Spring. Tendras que entrar en el horroroso infierno de "Spring Web Flow" (habiendo ya de por si entrado en el horroroso infierno de Richfaces 3.x/JSF 1.x). Si puedes... huye!

Ahora, si estas usando RichFaces 4.x (acabadito de salir de horno y basado en JSF 2.0) por el lado de JSF 2.0, te espera una experiencia renovada y agradable... aunque todavia estaras en territorio peligroso debido a que Richfaces 4.x acaba de salir hace menos de 3 meses... si yo fuera tu, esperaría a la version 4.1

Ahora bien, mi me encanta Spring, y lo uso en casi todos mis proyectos, pero si tengo que trabajar con JSF (o alguno de sus tookits de widgets como Richfaces), Seam es mucho mejor idea que Spring Web Flow, Seam reemplazara el terrible horror que es Spring Web Flow por una molestia manejable, e inclusive puedes integrar a Richfaces (JSF)+Seam+Spring de un modo facil, y que resultara en una experiencia de desarrollo mucho mas agradable que usar Spring Web Flow. Si ya estas en el mundo de Richfaces 4.x y JSF 2.0, entonces definitivamente te recomiendo usar Weld.

Te recomiendo, del modo mas fuerte posible, no entrar en el incognoscible infierno de decidir que "tu crearas tu propio mecanismo de integracion", si ignoras esta recomendacion, me temo que un aneurisma es lo unico que te espera en el futuro....

Y finalmente, si puedes evitar completamente JSF, y usar otra cosa, como Tapestry, o de plano JSP + jQuery, yo te recomendaría hacerlo.

Imagen de gallark

Gracias por tu comentario

Gracias por tu comentario amigo, estoy usando richfaces 3.x , asi que por falta de tiempo para aprender jsf 2.1 y richfaces 4, optare por el camino de Richfaces + seam + spring supongo que también se le podrá incluir HIbernate.

He escuchado muy buenos comentarios sobre Seam así que le echare una buenas horas de estudio para manejarlo.

Solo me queda una duda, sobre esto, tengo entendido que en esta integracion Spring solo maneja la parte de ID y acceso a datos o tambien la web (por lo de webflow que mencionas) y lo de seguridad seam supongo que aportara la suya ?

Gracias igual

Imagen de luxspes

Spring: Mucho mas que ID y acceso a datos

Solo me queda una duda, sobre esto, tengo entendido que en esta integracion Spring solo maneja la parte de ID y acceso a datos o tambien la web (por lo de webflow que mencionas)

Spring es un framework DI e IoC que se integra con una amplia variedad de tecnologias, puede usarse para facilitarte la vida en cuanto a la configuracion de tu proyecto, para faciltar tu acceso a datos, para facilitar la integracion con la tecnlogia de presentacion de tu eleccion (JSP, Velocity, Freemarker) para facilitar tu integracion con mecanismo de reporteo (Jasper, Birt), para integrarte con computacion basada en Grid o con la nube, para facilitar tu integracion con multiples frameworks de WebServices (Metro, XFire, etc), facilitar la carga de modulos dinamicas a traves de OSGI y muchas muchas muchas muchas muchas muchas cosas mas.

y lo de seguridad seam supongo que aportara la suya ?

Efectivamente Seam trae su propio mecanismo de seguridad, puedes usar ese, o puedes usar el de Spring.

Imagen de Jvan

Hee luxspes comentanos a los

Hee luxspes comentanos a los que nunca hemos utilizado JSF ni richfaces porque es un dolor de cabeza? segun Sun (ahora Oracle) JSF es la evolución natural de JSP, y en muchos lugares hablan bien te estas tecnologías, cuales son tus experiencias para decir que evitemos utilizar esto?

Con experiencias me refiero no a decir que son malas y que son lo peor y punto, si no al porqué decir eso?

Saludos!

Imagen de luxspes

JSF: Lento, complicado y ni el foco puede mantener...

Para empezar puede leer aqui.
Luego tambien puedes hecharle un ojo a esto

Y luego hechale un ojo al JIRA de Richfaces, bugs como el RF-5763, o el RF-7711 (que tienen ya casi un año y siguen sin resolverse).

O simplemente visita el showcase y utiliza una herramienta como las developer tools de chrome o el firebug y pon atencion lo que pasa cuando juegas con el rich tree, o los menus o los grids (sobretodo en las versiones 3.x, pero tambien en 4.x) y notaras que lo componentes de Richfaces, comparados con la misma funcionalidad implementada usando JSP+Jquery tienen un rendimiento menor (Se sienten mas lentos) y de hecho consumen significativamente mas ancho de banda... (generan una cantidad de HTML impresionante por su volumen... y su inutilidad)

Como toque final, ponte a la tarea de resolver alguno de los bugs que abiertos en Richfaces, cualquiera... como primer paso, descarga todo el codigo e intenta compilarlo... una vez que lo logres, intentan entenderlo... intenta, por ejemplo hacer que el richtree en modalidad Ajax no vaya al servidor por los nodos hijos de una rama si no han cambiado desde la ultima vez que refrescaste ese nodo (Trata de hacer que soporte internamente algo como ETags o un cache en javascript para resolver este problema y que solo vaya por los nodos hijos la primera ves que lo necesites... cuando este a punto de de darte un aneurisma, trata de hacer lo mismo con un plugin de JQuery , un JSP y llamadas JSON a un controller Spring que expone los datos para el arbol mediante integracion transparente con Jackson.

Hacer lo con jQuery+JSP+JSon+Jackson, suena quiza mas difícil que meterte a modificar el codigo del tree de richfaces... no es asi, el tree de richfaces es mucho mas difícil de modificar... ademas de que un bug en un plugin de jQuery siempre lo puedes parchar en caliente moviendole a dicho plugin, en cambio recompilar todo Richfaces para arreglar algo en alguna lado y que se rompa otra parte...

Bueno... ya para que le sigo... tampoco es que JSF sea taaaan malo, pero yo no pienso, a menos que me ve a obligado a hacerlo, volverle a entrarle voluntariamente a JSF y a Richfaces hasta que Richfaces ande por la version 4.2 (y JSF tambien ande por lo menos por la version 2.1) y una parte significativa de los defectos que tiene esten resueltos.