En la ingeniería de software
se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar
accediendo a un servidor web a través de Internet o de una intranet mediante un
navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje
soportado por los navegadores web en la que se confía la ejecución al navegador.
Las aplicaciones web son populares
debido a lo práctico del navegador web como cliente ligero, a la independencia del
sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones
web sin distribuir e instalar software a miles de usuarios potenciales. Existen
aplicaciones como los webmails, wikis, blogs, tiendas en línea y la propia Wikipedia
que son ejemplos bastante conocidos de aplicaciones web.
Es importante mencionar que
una página Web puede contener elementos que permiten una comunicación activa entre
el usuario y la información. Esto permite que el usuario acceda a los datos de modo
interactivo, gracias a que la página responderá a cada una de sus acciones, como
por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder
a gestores de base de datos de todo tipo.
Consideraciones
Técnicas
Una ventaja significativa es
que las aplicaciones web deberían funcionar igual independientemente de la versión
del sistema operativo instalado en el cliente. En vez de crear clientes para Windows,
Mac OS X, GNU/Linux y otros sistemas operativos, la aplicación web se escribe una
vez y se ejecuta igual en todas partes. Sin embargo, hay aplicaciones inconsistentes
escritas con HTML, CSS, DOM y otras especificaciones estándar para navegadores web
que pueden causar problemas en el desarrollo y soporte de estas aplicaciones, principalmente
debido a la falta de adhesión de los navegadores a dichos estándares web (especialmente
versiones de Internet Explorer anteriores a la 7.0). Adicionalmente, la posibilidad
de los usuarios de personalizar muchas de las características de la interfaz (tamaño
y color de fuentes, tipos de fuentes, inhabilitar Javascript) puede interferir con
la consistencia de la aplicación web.
Otra aproximación es utilizar
Adobe Flash Player o Java applets para desarrollar parte o toda la interfaz de usuario.
Como casi todos los navegadores incluyen soporte para estas tecnologías (usualmente
por medio de plug-ins), las aplicaciones basadas en Flash o Java pueden ser implementadas
con aproximadamente la misma facilidad. Dado que ignoran las configuraciones de
los navegadores, estas tecnologías permiten más control sobre la interfaz, aunque
las incompatibilidades entre implementaciones Flash o Java puedan crear nuevas complicaciones,
debido a que no son estándares. Por las similitudes con una arquitectura cliente-servidor,
con un cliente "no ligero", existen discrepancias sobre el hecho de llamar
a estos sistemas “aplicaciones web”; un término alternativo es “Aplicación Enriquecida
de Internet”.
Estructura
de las Aplicaciones Web
Aunque existen muchas variaciones
posibles, una aplicación web está normalmente estructurada como una aplicación de
tres-capas. En su forma más común, el navegador web ofrece la primera capa, y un
motor capaz de usar alguna tecnología web dinámica, por ejemplo: PHP, Java Servlets
o ASP, ASP.NET, CGI, ColdFusion, embPerl, Python o Ruby on Rails que constituye
la capa intermedia. Por último, una base de datos constituye la tercera y última
capa.
El navegador web manda peticiones
a la capa intermedia que ofrece servicios valiéndose de consultas y actualizaciones
a la base de datos y a su vez proporciona una interfaz de usuario.
Ventajas
- Ahorra tiempo: se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa.
- No hay problemas de compatibilidad: basta tener un navegador actualizado para poder utilizarlas.
- No ocupan espacio en nuestro disco duro.
- Actualizaciones inmediatas: como el software lo gestiona el propio desarrollador, cuando nos conectamos estamos usando siempre la última versión que haya lanzado.
- Consumo de recursos bajo: dado que toda (o gran parte) de la aplicación no se encuentra en nuestra computadora, muchas de las tareas que realiza el software no consumen recursos nuestros porque se realizan desde otra computadora.
- Multiplataforma: se pueden usar desde cualquier sistema operativo porque solamente es necesario tener un navegador.
- Portables: es independiente de la computadora donde se utilice (PC de sobremesa, portátil) porque se accede a través de una página web (solamente es necesario disponer de acceso a Internet). La reciente tendencia al acceso a las aplicaciones web a través de teléfonos móviles requiere sin embargo un diseño específico de los ficheros CSS para no dificultar el acceso de estos usuarios.
- La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo.
- Los virus no dañan los datos porque están guardados en el servidor de la aplicación.
- Colaboración: gracias a que el acceso al servicio se realiza desde una única ubicación es sencillo el acceso y compartición de datos por parte de varios usuarios. Tiene mucho sentido, por ejemplo, en aplicaciones en línea de calendarios u oficina.
- Los navegadores ofrecen cada vez más y mejores funcionalidades para crear "aplicaciones web enriquecidas" (Rich Internet application o RIA).
Inconvenientes
- Habitualmente ofrecen menos funcionalidades que las aplicaciones de escritorio. Se debe a que las funcionalidades que se pueden realizar desde un navegador son más limitadas que las que se pueden realizar desde el sistema operativo.
- La disponibilidad depende de un tercero, el proveedor de la conexión a internet o el que provee el enlace entre el servidor de la aplicación y el cliente. Así que la disponibilidad del servicio está supeditada al proveedor.
Aplicaciones
de la Web 2.0
No hay comentarios.:
Publicar un comentario