Aplicaciones J2EE con Spring MVC, Ajax y Marcos Javascript

Buscando como integrar J2EE con Frameworks JavaScript como alternativa a JSF / con ajax para armar una arquitectura de software para nuevas aplicaciones.

El avance de spring 3 ha sido realmente muy bueno para integrar Ajax.

Conceptualmente como integrarlos:

Una JSP normal decorarla con controles JavaScript.
Marcos Java Script

- JQuery, ExtJs, Dojo por ejemplo

La comunicación entre el browser y el servidor se integra en forma más natural ahora mediante Spring MVC que es capaz de interpretar JSON de forma nativa sin depender de un tercero como DWR.

En la capa de "servicios" a la manera de spring con inyección de dependencias, se coloca una capa de lógica antes de acceder al back end.

La capa que se integra al back se simplifica mucho al usar hibernate con anotaciones.
(Aunque muy cuestionable por algunos el hecho de usar anotaciones debido a la carga extra en el servidor)

Referencia:

http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/
http://code.google.com/p/springextjs/downloads/list
http://www.dosideas.com/wiki/Hibernate_Annotations_con_Spring

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 benek

Spring Javascript

De hecho hay un proyecto de Spring que se llama Spring Javascript (spring-js), que abstraen la complejidad de frameworks o librerías JavaScript para poder ocuparlas en aplicaciones web Java con Spring MVC y/o Webflow.

Lo malo es que está en temprano desarrollo y al momento solo hay implementación para Dojo toolkit.

Buen post.

Saludos.

Imagen de bonfil1

JQuery

Acabo de entrar a este framework de jquery, lo probe en unas app que hice y me gusto como quedaron, mas adelante hare un post con lo que hice en estas app espero a alguien le sirva.
Saludos

Imagen de fcodiaz

JavaScript en Cliente

la verdad yo prefiero hacer la divición Tec Cliente y Tec Sevidor, en JavaScript prácticamente hago toda la interacción con el usuario manipulo el dom, cargo json envió info al serv, etc, y en servidor realmente solo creo lo que se necesita consultas operaciones con archivos, cosas que requieren que se hagan, regularmente respondo un JSON, lo que me gusta de esta forma de trabajo es que tu iterface cliente queda prácticamente libre de la tecnología que estés usando en el servidor y migrar de un a otro lenguaje en servidor se vuelve tarea sencilla, ya que en el cliente incluso puede ser solo un .html normalito y con javascript te vas llamando lo que necesites al server que puede ser o no la respuesta de algún proceso en el servidor, hasta aquí lo único que te interesa es enviar y recibir información, ya el servidor encargara de hacer lo suyo, que si usa un lenguaje una bd o cualquier cosa, esto hace que incluso la división de trabajo se pueda hacer en grupo, ya que el que programa en JS se abstrae por completo de lo que pase en el server, el solo dice.. cargo este envío esto, recivo esto, hago esto, mientras que el server se encarga de me conecto a este recurso, la sesión es valida.. etc,.. y esto en el lenguaje que sea, haces una aplicacion realmente portable ya que al final tu backend es un cliente de webservices en JS. ademas de eso en tus lado server se queda libre de todo JavaScript/HTML/CSS revuelto que como es difícil leer.

ami me late mucho esta forma en como lo he estado manejando, lo malo es que es programación al extremo con JS, pero igual te puedes apoyar de un tolkit/framework para hacerte la vida fácil, sin firebug no sobreviviras, jQuery es una exelente libreria, lo único que no me gusta es que no esta orientada a objetos =(.. pero rapido te acostubras a usarla, ahora que si quieres seguir programando en Java mas o menos de la forma que te cuento.. pues GWT es un framework que promente mucho, aunque realmente no se me hace sentido programar en el cuando se puede hacer directo en JS, pero bueno cuestion de gusto!, aunque esta estupedo para cuando quieres ofuscar tu codigo fuente JS y que quede un tanto "privado"

Imagen de paranoid_android

RE: JavaScript en Cliente

Es correcto. Hay otras tecnologías que sirven en la capa html / jsp gwt, jsf – para web 2.0, Flex + java, vaadin. Pero esta entrada es de implementaciones de frameworks JS con Java.

Como dicen los buenos consultores todo depende... jajaja

Mi opinión:

Me parece que en la mayoría de los casos la lógica que queda en las capas Back End por lo general es más segura y reutilizable. (Dependiendo de la calidad de la arquitectura, del código, etc.)

Aunque ... una cosa es la lógica para administrar las pantallas y otra es la lógica de negocio pura. En ocasiones es muy difícil de separar sobre todo cuando no se piensa desde el principio así. Luego se vuelve imposible de separar y mantener.

Mi sugerencia revisar la arquitectura de la aplicación y el diseño. Si la asignación de responsabilidades te permitirá reutilizar componentes y si es posible aislar la lógica de negocio de la mejor manera.