Saltar a contenido

Modelo Cliente/servidor

El modelo Cliente-Servidor es una arquitectura en la cual dos entidades principales interactúan: el cliente y el servidor. En este modelo, el cliente es quien solicita servicios o recursos, mientras que el servidor es quien los proporciona y gestiona. Este tipo de arquitectura es común en aplicaciones web, bases de datos y sistemas de mensajería.

Modelo Cliente-Servidor

Modelo Cliente-Servidor.

Hoy en día, es frecuente que uno o varios clientes acceden a un servidor. Las nuevas arquitecturas sustituyen el servidor por un balanceador de carga de manera que N servidores dan respuesta a M clientes. En las aplicaciones web, el cliente es el navegador web.

El cliente hace la petición (request, normalmente mediante el protocolo GET mediante el puerto 80/443) y el servidor responde (response).

Página web dinámica

Si la página web únicamente contiene HTML + CSS, tecnologías trabajadas en el módulo profesional LMGSI (Lenguaje de Marcas y Sistemas de Gestión de Información), se considera una página estática. Para generar una página dinámica, donde el contenido puede cambiar en respuesta a la interacción del usuario o a datos externos, existen hoy en día dos alternativas principales. La primera es utilizar JavaScript (estudiado en DWEC, Desarrollo Web en Entorno Cliente) para manipular el DOM y realizar peticiones REST a través de APIs, obteniendo datos dinámicos sin recargar la página. La segunda alternativa es implementar frameworks o herramientas de generación dinámica en el servidor, para actualizar el contenido que se envía al cliente según cada petición.

Web estática vs Web dinámica

Web estática vs Web dinámica.

Las tecnologías empleadas (y los perfiles de desarrollo asociados) para la generación de páginas dinámicas son:

Perfil Herramienta Tecnología
Front-end / cliente Navegador Web HTML + CSS + JavaScript
Back-end / servidor Servidor Web + BBDD PHP, Python, Ruby, Java / JSP, .Net / .asp

Single Page Application (SPA)

Actualmente, gran parte del desarrollo web está en plena transición de una arquitectura web cliente-servidor clásica donde el cliente realiza una llamada al back-end, por una arquitectura SPA donde el cliente gana mucho mayor peso y sigue una programación reactiva que accede a servicios remotos REST que realizan las operaciones (comunicándose mediante JSON).

Arquitectura tradicional vs SPA

Arquitectura tradicional vs SPA.

En la arquitectura tradicional para aplicaciones web, cada vez que el usuario interactúa con un enlace o envía un formulario, el navegador envía una solicitud al servidor, y este responde enviando una nueva página HTML completa. Mientras que una SPA o Aplicación de Página Única, es una arquitectura moderna que permite que toda la aplicación web se cargue en una sola página HTML. Una vez cargada la aplicación inicial, el contenido y las vistas cambian de manera dinámica a través de JavaScript, sin necesidad de recargar la página completa. Las SPA utilizan AJAX y peticiones REST o GraphQL para obtener datos del servidor de forma asíncrona, actualizando solo las partes de la página que han cambiado