PDF de programación - Desarrollo de Webs interactivas con filosofía AJAX

Imágen de pdf Desarrollo de Webs interactivas con filosofía AJAX

Desarrollo de Webs interactivas con filosofía AJAXgráfica de visualizaciones

Publicado el 19 de Noviembre del 2020
349 visualizaciones desde el 19 de Noviembre del 2020
278,2 KB
12 paginas
Creado hace 17a (26/02/2007)
Desarrollo de Webs interactivas con filosofía AJAX: El TRIVIAL.GZ*

Nieves R. Brisaboa1, Miguel R. Luaces1, Ángeles S. Places1, Diego Seco Naveiras2

1Laboratorio de Bases de Datos

Facultad de Informática
Universidade da Coruña

Campus de Elviña, S/N 15071

A Coruña, España

e-mail: {brisaboa, luaces, asplaces}@udc.es

2Enxenio, S.L.

Estrada dos Baños de Arteixo
Edificio San Cristobal, Portal B

15071 A Coruña, España
e-mail: [email protected]

Abstract

We present in this paper the architecture and some implementation details of a web-based version of a
Trivial game. Our implementation achieves such a high degree of interactivity between the players that
they perceive the game as being played real-time. More importantly, no plug-in or applet is used in the
architecture of the system. These properties are achieved by means of a carefully designed architecture that
uses AJAX (Asynchronous JavaScript and XML) for data exchange. Using this approach, it is possible to
develop any type of web-based collaborative software with few load on the web server. In the paper, we analyze
traditional architectures for web-based applications and we show how our approach overcomes their limitations.
Furthermore, we proof the efficiency of our approach by means of an empirical comparison.

Keywords: Collaborative software, Web, AJAX

Resumen

En este artículo se presenta la arquitectura y algunos detalles de la implementación de una aplicación Web (un
juego virtual de tipo Trivial) que, sin el uso de ningún plug-in o applet, permite una gran interactividad entre
los usuarios, hasta el punto de que estos tienen la percepción de comunicación entre ellos en tiempo real. La
percepción de interactividad en tiempo real se consigue mediante una arquitectura especialmente diseñada que
se apoya, además, en la filosofía de AJAX (Asynchronous JavaScript and XML) para el intercambio de datos.
Utilizando esta aproximación es posible desarrollar cualquier tipo de software colaborativo en Web con muy
poca carga de trabajo para el servidor. En el articulo se analizan las arquitecturas tradicionales para el desarrollo
de aplicaciones Web y se muestra cómo nuestro enfoque supera sus limitaciones. Además, se avala la eficacia
de esta aproximación con los resultados de la valoración empírica realizada.

Palabras claves: Software colaborativo, Web, AJAX

*Este trabajo está parcialmente financiado por CYTED VII.J (RITOS2), por MCYT (PGE y FEDER) refs. TIC2003-

06593 y TIN2006-15071-C03-03, y por Xunta de Galicia ref. PGIDIT05SIN10502PR

1.

INTRODUCCIÓN

El nivel de madurez de los usuarios en Internet y la calidad de las conexiones y los servicios
disponibles, están produciendo una demanda creciente de interactividad en las aplicaciones Web, no
sólo entre el usuario y el sistema, sino también entre los propios usuarios.

Sin embargo, las características tradicionales de las aplicaciones Web dificultan el desarrollo de
aplicaciones colaborativas o de juegos que requieran interacción entre los usuarios en tiempo real
debido a dos factores fundamentales:

No permiten que los diferentes clientes intercambien información entre sí. Es decir, en toda
aplicación Web la comunicación se establece entre un cliente y el servidor y nunca entre dos
clientes, por tanto, el intercambio de datos entre clientes debe hacerse a través del servidor.

Un servidor Web sólo responde a peticiones de clientes y no puede nunca tomar la iniciativa
de enviar información nueva a los clientes conectados. Esto significa que el servidor no puede
comunicar a los demás usuarios la información que le llega de uno de ellos mientras que estos
no la soliciten, dificultando así las posibilidades de interacción entre usuarios.

Como consecuencia de estas dos características propias de las aplicaciones Web, cuando se desea
crear una aplicación en la que los usuarios colaboren e interactúen entre sí en tiempo real en el
desarrollo de una tarea o juego, es preciso que cada uno de ellos descargue e instale en su propio
ordenador un software de tipo plug-in para el navegador web que permita mantener la conexión y
gestione el intercambio de mensajes entre ellos.

Una alternativa que se podría considerar, en casos en los que el intercambio de datos entre los
usuarios no sea muy denso, es que cada cliente le envíe al servidor los nuevos datos generados y, en la
siguiente petición de página por parte de los demás clientes, el servidor les envíe la nueva página con
la información actualizada. En este caso los clientes pueden estar programados para hacer peticiones
periódicas (y frecuentes) al servidor mediante scripts incluidos en la página. El problema de esta
alternativa es que si el intercambio de datos es muy frecuente o, en el peor de los casos, se desea que
se perciba como en tiempo real, el servidor tendrá una carga de trabajo muy elevada, ya que deberá
crear y enviar nuevas páginas constantemente, lo que en la práctica se traduce en una limitación del
número de usuarios que pueden interactuar. Sin embargo, esta aproximación presenta con respecto a
la anterior la ventaja de liberar a los usuarios de tener que descargar, instalar y configurar un plug-
in, lo que, en algunos dominios de aplicación (sistemas dirigidos a entornos en los que puede haber
usuarios poco expertos), es una restricción insalvable.

En el Laboratorio de Bases de Datos de la Universidad de A Coruña [3] hemos desarrollado una
arquitectura específicamente concebida para simular la interactividad entre usuarios, que, además,
utiliza la filosofía AJAX para el intercambio de información entre el servidor y los clientes. Con
esta aproximación se produce en los usuarios la percepción de que interactúan entre sí en tiempo
real como si estuviesen usando una aplicación que mantuviese una conexión múltiple entre ellos.
Esa arquitectura, que puede ser usada para el desarrollo de cualquier aplicación Web colaborativa, la
hemos usado para implementar una versión virtual del Trivial, el clásico juego de mesa de preguntas
y respuestas.

Esta estrategia nos permitió crear un juego que, a diferencia de otras aplicaciones de este tipo,
no requiere que los jugadores descarguen e instalen un plug-in, permitiendo al mismo tiempo un
número muy grande de partidas simultáneas con múltiples jugadores/as en cada una de ellas. Nuestro
trivial virtual, al que llamamos Trivial.gz tiene, con respecto a la versión original del juego de mesa,
algunas variaciones orientadas a sacarle partido al entorno virtual, minimizando el problema que

supone que los jugadores no compartan el mismo espacio físico durante las partidas. El Trivial.gz
fue promovido por la Asociación Socio-Pedagóxica Galega (AS-PG) [6] para potenciar el uso de
la lengua gallega en Internet y fue subvencionado por el gobierno de Galicia. El Trivial.gz fue
inaugurado durante las jornadas Xuventude Galiza Net [2], celebradas en Santiago de Compostela
durante los días 7, 8 y 9 de abril de 2006, y está actualmente disponible en la siguiente URL
http://www.as-pg.com/trivial.gz/.

Este desarrollo nos ha permitido evaluar y comparar nuestra propuesta con las aproximaciones
tradicionales de desarrollo de aplicaciones Web. En este artículo presentamos la arquitectura utilizada,
una descripción básica de la filosofía AJAX y los resultados de nuestra experiencia. Como se podrá
observar en el apartado de datos empíricos, el software desarrollado permite que un servidor normal
(Pc monoprocesador con 1 Gb de RAM) haya sido, en nuestras pruebas, capaz de atender un número
muy importante de partidas simultáneas (del orden de 1000) con numerosos jugadores (hasta 6) en
cada partida.

El resto del artículo se estructura como sigue. En la sección 2 se describe el funcionamiento
y las reglas del Trivial.gz con el objetivo de transmitir el nivel de interactividad que es posible
implementar con este nuevo paradigma de programación Web. A continuación, en la sección 3, se
presentan las diferencias entre la arquitectura tradicional de las aplicaciones web y la arquitectura de
nuestra aplicación. En la sección 4 se describe con más detalle AJAX, citando las limitaciones que
supera con respecto a otras tecnologías y las ventajas que ello supone para el desarrollo sistemático de
aplicaciones web interactivas. La arquitectura de la aplicación se describe con detalle en la sección 5.
En la sección 6 se describe el entorno en el que se ha inaugurado el Trivial.gz así construido y se
presentan algunas cifras obtenidas de los accesos recibidos. Finalmente, en la sección 6 se presentan
nuestras conclusiones y algunas ideas para trabajos futuros.

2. EL TRIVIAL.GZ

El Trivial.gz fue promovido por la Asociación Socio-Pedagóxica Galega [6] para fomentar el uso
del gallego entre la gente joven y su creación fue financiada por el gobierno de Galicia. Se trataba de
crear un juego para la Web basado en el clásico trivial de mesa, que fuese multipartida y multijugador
y que se pudiese ejecutar directamente sobre cualquier navegador Web sin ningún tipo de plug-in.

Se modificaron ciertos aspectos del juego de mesa para adaptarlo al entorno Web, por ejemplo,
el hecho de que sólo quien posee el turno puede realmente jugar en cada momento, produciría
aburrimiento en la versión virtual. Fue necesario además simular en el espacio virtual la interacción
entre jugadores, las acciones de tirar el dado, mover la ficha, observar las posiciones y movimientos
de los demás jugadores y jugadoras, etc. Por otro lado, se adaptó el juego para que también se pudiese
jugar en solitario acumulando puntos y comparándose con un ranking general de jugadores/as. Para
fidelizar jugadoras/es se incentiva que se registren de modo que sólo se mantiene la acumulación de
puntos en la base de datos de quienes están registrados. Además sólo las personas registradas pueden
crear partidas y parametrizarlas, abriéndolas a todo el mundo o cerrándolas para que sólo puedan jugar
sus amistades por invitación. Se incorporó además la posibilidad de configurar listas de amistades para
  • Links de descarga
http://lwp-l.com/pdf18473

Comentarios de: Desarrollo de Webs interactivas con filosofía AJAX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad