Desde XmlHTTP hasta el UpdatePanel de ASP.NET Ajax

Existen variadas maneras para realizar comunicacion entre el cliente y el servidor usando justamente scripts del lado del cliente,  en un primer momento ASP 3.0 uso Remote Scripting para la comunicacion entre cliente y servidor implementado en base a un Applet de Java y Javascript.

Posteriormente uno de los mas comunmente usados es XmlHTTP que es un API que puede ser usado para establecer un canal para comunicacion con el Servidor y es uno de los pilares de la programacion Web basada en Ajax. Este concepto fue introducido en su momento por el equipo de Microsoft en su aplicativo Web denominado OWA (Outlook Web Access) iniciandose su desarrollo alrededor del año 1998 por el equipo de Microsoft Exchange y pudiendose decir que fueron los pioneros en estos conceptos.

Luego de ello este concepto fue implementado en otras compañias tal como Mozilla (año 2002) , Apple desde la version 1.2 de su navegador Safari, Opera desde su navegador Opera 8.0 y asi sucesivamente, en estos momentos ya la w3c (World Wide Web Consortium ) ah liberado un Draft de Trabajo con fecha de "Setiembre 2006" (muy reciente) haciendo referencia al objeto XMLHttpRequest definiendolo como "Una API que provee funcionalidad HTTP del lado del cliente para transferir data entre un cliente y un servidor", esto suena realmente muy bien no les parece :)

ASP .NET 1.1 no trajo implementado ninguna forma de trabajo que nativamente pudiera hacer este tipo de comunicacion, pero aparecieron varias librerias de terceros que a traves de algunos componentes empezaron a dar cierta funcionalidad de este tipo, por ejemplo podemos citar a uno de los componentes mas interesentes: Ajax .Net professional que ahora tambien tiene soporte para ASP .NET 2.0, ademas de la comunicacion generica que podria realizarse pero con mucha dificultad ya que para realizar una pequena implementacion teniamos que gastarnos muchisimas lineas de codigo, que lata no :(

Ya con la version 2.0 del framework se integro a .NET el concepto de Callbacks, una forma sencilla pero con muchas limitaciones para comunicacion "Out of band" con el servidor, el concepto era muy sencillo, que frente a un evento del lado del cliente este pueda enviar una cadena como parametro (esta era justamente la restriccion, solo podia ser de tipo cadena y una y solo una) hacia el servidor, el cual, luego de realizar cierto procesamiento pudiese devolver cierto resultada ( como una sola cadena tambien) hacia el cliente para que este pudiera procesarla.

Esta implementacion (Aca les dejo un articulo que justamente escribi en la version Beta de Visual Studio, creo que requiere que le de una pequeña actualizacion :$), en si tuvo muchisima acogida en un primer momento pero no cubria las espectativas de los desarrolladores que pedian un modo mas avanzado de comunicacion que no solo este restringido a una cadena y es en este proceso que nace un proyecto en la comunidad GotDotNet liderado por Bertrand Le Roy(Que forma parte del Team de Atlas junto a Nikhil Kothari) que en base a la infraestructura de los Callbacks implementan toda una libreria para comunicacion entre cliente - servidor para intercambio de Informacion, este proyecto fue denominado RefreshPanel (aun existe el Workspace de este interesante Control, pueden acceder desde aqui)y es nada mas y nada menos que el antecesor a el UpdatePanel, el control estrella de Atlas :), este control nos permitia de manera realmente muy sencilla poder definir segmentos de nuestras paginas web que serian actualizados sin hacer un postback sino solo un "Partial Postback", este componente es la base de el UpdatePanel y claro con muchisisimas mas mejoras que iremos detallando en su momento :)

Espero seguir en contacto con este apasionante tema,

Un saludo cordial,

Ivan Mostacero.

Archivado en: ,
Comparte este post:

Comentarios

# Eugenio Estrada said:

Siempre viene bien un poco de historia:)

Sunday, October 8, 2006 10:14 PM
# .NET un mundo por descubrir said:

<> Debido al interés generado por Atlas y AJAX, voy a mantener está página donde se encuentre toda la

Sunday, October 8, 2006 10:18 PM
# El Bruno said:

q lindos scripting en vbsript del lado del cliente los que creaban el MSXML2.XmlHttp ... no ?

Saludos

Monday, October 9, 2006 6:57 PM