¿Qué son las aplicaciones web?
Una aplicación web es un software que se ejecuta en un servidor y al que los usuarios acceden mediante un navegador web a través de una red, normalmente Internet o una intranet.
A diferencia de una página web estática, una aplicación web permite la interacción con el usuario, el procesamiento de datos y la ejecución de lógica de negocio.
Conceptos fundamentales
Para comprender las aplicaciones web es imprescindible conocer los siguientes conceptos:
- Cliente: navegador o aplicación que realiza la petición.
- Servidor web: recibe y responde las solicitudes HTTP.
- Servidor de aplicaciones: ejecuta la lógica de negocio.
- Base de datos: almacena la información de la aplicación.
- HTTP/HTTPS: protocolos utilizados para la comunicación.
Funcionamiento de una aplicación web
Cuando un usuario interactúa con una aplicación web se produce el siguiente proceso:
Usuario
↓
Navegador (Cliente)
↓
HTTP/HTTPS
↓
Servidor Web
↓
Servidor de Aplicaciones
↓
Base de Datos
↓
Respuesta HTML / JSON / Archivos
↓
Navegador
Cada petición puede implicar la ejecución de código, consultas a bases de datos o comunicación con otros servicios.
Arquitectura cliente-servidor
En una aplicación web existen dos componentes principales.
Cliente (Front-end)
Es la parte que se ejecuta en el navegador del usuario.
Sus funciones son:
- Mostrar la interfaz.
- Capturar la interacción del usuario.
- Enviar peticiones al servidor.
- Mostrar los resultados.
Tecnologías habituales:
- HTML.
- CSS.
- JavaScript.
Servidor (Back-end)
Es la parte que procesa las solicitudes recibidas.
Sus funciones son:
- Ejecutar la lógica de negocio.
- Validar los datos.
- Gestionar usuarios.
- Acceder a la base de datos.
- Generar la respuesta.
Tecnologías habituales:
- PHP.
- Java.
- .NET.
- Python.
- Node.js.
Arquitectura de tres capas
Muchas aplicaciones web utilizan una arquitectura de tres capas.
Presentación
↓
Lógica de negocio
↓
Datos
Capa de presentación
Gestiona la interacción con el usuario.
Capa de lógica de negocio
Implementa las reglas y procesos de la aplicación.
Capa de datos
Gestiona el almacenamiento y recuperación de información.
Protocolos utilizados
Las aplicaciones web utilizan diferentes protocolos de comunicación.
| Protocolo | Función |
|---|---|
| HTTP | Comunicación entre cliente y servidor. |
| HTTPS | HTTP con cifrado TLS. |
| WebSocket | Comunicación bidireccional en tiempo real. |
Tecnologías principales
Una aplicación web suele construirse combinando varias tecnologías.
| Tecnología | Función |
|---|---|
| HTML | Estructura del contenido. |
| CSS | Diseño y presentación. |
| JavaScript | Interactividad. |
| Base de datos | Persistencia de datos. |
| API | Comunicación entre sistemas. |
Aplicaciones web estáticas y dinámicas
Aplicaciones estáticas
Su contenido apenas cambia y normalmente no depende de bases de datos.
Características:
- Contenido fijo.
- Mayor velocidad.
- Menor complejidad.
Aplicaciones dinámicas
Generan contenido en función de las peticiones del usuario.
Características:
- Interacción con bases de datos.
- Personalización.
- Procesamiento en servidor.
Gestión del estado
HTTP es un protocolo sin estado (stateless).
Para mantener la información entre peticiones se utilizan mecanismos como:
- Cookies.
- Sesiones.
- Tokens (JWT).
- Almacenamiento local (Local Storage).
Seguridad en aplicaciones web
Las aplicaciones web deben proteger tanto los datos como la identidad de los usuarios.
Algunas medidas habituales son:
- Uso de HTTPS.
- Autenticación.
- Autorización.
- Validación de entradas.
- Gestión segura de sesiones.
- Cifrado de información sensible.
Ventajas de las aplicaciones web
Entre sus principales ventajas destacan:
- Acceso desde cualquier dispositivo con navegador.
- No requieren instalación.
- Actualización centralizada.
- Compatibilidad multiplataforma.
- Fácil mantenimiento.
- Escalabilidad.
Inconvenientes
Las aplicaciones web también presentan algunas limitaciones.
- Dependencia de la conexión de red.
- Menor acceso al hardware del dispositivo.
- Posibles problemas de rendimiento.
- Mayor exposición a ataques si no están bien protegidas.
Caso práctico
Situación
Un empleado accede a un sistema de gestión documental desde el navegador de su ordenador.
El proceso es el siguiente:
- Introduce sus credenciales.
- El navegador envía una petición HTTPS.
- El servidor valida el usuario.
- Consulta la base de datos.
- Devuelve la información solicitada.
- El navegador muestra el resultado.
Toda la lógica de negocio se ejecuta en el servidor.
Ventajas e inconvenientes
Ventajas
- Acceso desde cualquier lugar.
- Actualizaciones inmediatas.
- Administración centralizada.
- Escalabilidad.
- Compatibilidad entre sistemas operativos.
Inconvenientes
- Dependencia de Internet o de la red.
- Riesgos de seguridad.
- Posible latencia.
- Dependencia del servidor.
Errores habituales
- Confundir una página web con una aplicación web.
- Pensar que toda la lógica se ejecuta en el navegador.
- Confundir servidor web con servidor de aplicaciones.
- Creer que HTTP mantiene automáticamente el estado.
- Pensar que HTTPS protege la aplicación si el servidor es inseguro.
Cómo evitarlos
- Diferenciar claramente cliente y servidor.
- Comprender la arquitectura por capas.
- Recordar que HTTP es un protocolo sin estado.
- Entender la diferencia entre autenticación y autorización.
- Asociar HTTPS con el cifrado de las comunicaciones.
Relaciones con otros temas
Las aplicaciones web están estrechamente relacionadas con:
- Arquitectura cliente-servidor.
- HTTP y HTTPS.
- APIs REST.
- HTML.
- CSS.
- JavaScript.
- Bases de datos.
- Servidores web.
- Seguridad informática.
- Desarrollo Back-end.
Conceptos clave para recordar
[!NOTE]
- Una aplicación web es un software accesible mediante un navegador.
- Sigue normalmente una arquitectura cliente-servidor.
- El Front-end ejecuta la interfaz; el Back-end procesa la lógica de negocio.
- HTTP es un protocolo sin estado (stateless).
- HTTPS añade confidencialidad e integridad mediante TLS.
- La arquitectura de tres capas separa presentación, lógica y datos.
- Las aplicaciones dinámicas interactúan con bases de datos y generan contenido en tiempo real.
- La autenticación verifica la identidad del usuario; la autorización determina qué puede hacer.
- La seguridad depende principalmente de una correcta implementación en el servidor.