Home > Desarrollo, Librerías/Frameworks, Tecnologías > Servlets procesando peticiones asíncronas (Comet – Reverse Ajax)

Servlets procesando peticiones asíncronas (Comet – Reverse Ajax)

La especificación Servlet 3.0 define el procesado de peticiones HTTP de forma asíncrona. Es decir, se recibe la petición, se procesa y se envía la repuesta al cliente. Hasta aquí todo es igual que en el modo síncrono, de manera que no se requieren cambios en los clientes HTTP. Esto es muy bueno 😉

La diferencia es que en el modo síncrono, el hilo que atiende la petición queda bloqueado mientras no se envíe la respuesta HTTP al cliente. Esto hace que no se puedan llevar a la práctica técnicas como Comet (Reverse Ajax).

No obstante, antes de la aparición de Servlet 3.0 ya había librerías Java/Javascript que permitían arquitecturas Comet, pero en mi opinión es mejor atenerse a los estándares cuando existen (y tienen cierta lógica).  Por otra parte, no podemos imponer a los clientes el uso de librerías Javascript ni la forma en que desarrollan sus aplicaciones, de ahí la importancia de técnicas como long polling para evitar polling intensivo, independientemente de que HTML5 o ciertas librerías Javascript permitan mantener conexiones abiertas.

Un buen artículo introductorio a estas técnicas: http://www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html?page=1

Con pequeñas modificaciones, se puede hacer funcionar en GWT: http://blog.jteam.nl/2011/02/25/getting-gwt-to-work-with-servlet-3-async-requests/

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: