Actualmente, las tecnologías web constituyen la base de multitud de aplicaciones
y servicios, siendo gran parte de estos de una gran escala y estando orientados
a servir a un elevado número de clientes, ya sean usuarios finales u otros programas
informáticos.
Una característica común de estos es la necesidad de un sistema que sea escalable,
es decir, que sea capaz de prestar servicio a una gran cantidad de peticiones
en un intervalo reducido de tiempo. También se requiere que puedan ir aumentando
a medida que crece la popularidad o necesidad de uso de la aplicación o
servicio.
En el contexto de este trabajo, se parte de una aplicación web que ya ha sido
desarrollada, PhotoSpaces [55]. El servicio que esta proporciona a sus usuarios
consiste en el renderizado de imágenes fotorrealistas en un servidor a partir de
escenas que estos cargan mediante ficheros y que son enviadas a dicha aplicación.
Los principales objetivos de esta se basaban en proporcionar un servicio
que permitiera aliviar al dispositivo del usuario final de la aplicación del esfuerzo
computacional que el proceso de renderizado supone y, además, mantenerla tan
simple, intuitiva y fácil de utilizar como fuera posible, los cuales ya se han logrado.
Sin embargo, el sistema actual no está preparado para prestar servicio a múltiples
usuarios al mismo tiempo, y los tiempos de espera de las peticiones que
estos pueden realizar se volverían excesivamente elevados si comenzara a crecer
el número de usuarios que utilizan la aplicación.
A partir de estas carencias de la aplicación, surge la necesidad del trabajo a
realizar en este proyecto, que trata de buscar una solución adecuada a estos problemas
y modificar y extender la aplicación para implementarla.