5.5 KiB
/* Apuntes de clase */
Comunicacion
- Sincrona
- Asincrona
WS
Tema 6 – Arquitectura cliente/servidor y multicapas. Servicios web y protocolos
1. Esquema general
- Arquitectura cliente/servidor
- Arquitectura multicapas (n-tier)
- Componentes principales
- Funcionamiento (operación)
- Arquitecturas de servicios web
- Protocolos asociados
2. Desarrollo
2.1 Arquitectura cliente/servidor
Definición
Modelo en el que un cliente solicita servicios y un servidor los proporciona.
Elementos
- Cliente: realiza peticiones
- Servidor: responde y gestiona recursos
- Red: medio de comunicación
Características
- Separación de funciones
- Centralización de recursos
- Escalabilidad
- Comunicación por red
Tipos
- Modelo de 2 capas
- Cliente pesado (thick client)
- Cliente ligero (thin client)
Ejemplo
- Navegador web (cliente)
- Servidor web (servidor)
2.2 Arquitectura multicapas (n-tier)
Definición
Modelo que divide la aplicación en varias capas independientes.
Capas principales
- Capa de presentación
- Interfaz de usuario
- Capa de lógica de negocio
- Procesamiento y reglas
- Capa de datos
- Acceso a bases de datos
Capas adicionales (opcional)
- Capa de servicios
- Capa de integración
Ventajas
- Modularidad
- Mantenimiento sencillo
- Escalabilidad
- Reutilización
Importante Cliente/servidor es un modelo general, mientras que multicapas define la estructura interna de la aplicación.
2.3 Componentes principales
En cliente/servidor
- Cliente
- Servidor
- Red
En multicapas
- Front-end (presentación)
- Back-end (lógica)
- Base de datos
- Middleware
2.4 Funcionamiento (operación) – Comunicación síncrona y asíncrona
Comunicación síncrona
- El cliente envía una petición y espera la respuesta del servidor.
- La ejecución queda bloqueada hasta recibir respuesta.
- Es el modelo clásico en HTTP.
Ejemplo
- Un navegador solicita una página web y espera a que el servidor responda.
Ventajas
- Simplicidad
- Fácil de implementar
Inconvenientes
- Menor rendimiento en sistemas distribuidos
- Bloqueo del cliente
Comunicación asíncrona
- El cliente envía una petición y no espera inmediatamente la respuesta.
- Puede seguir ejecutando otras tareas.
- La respuesta llega posteriormente (callback, cola, eventos).
Ejemplo
- Sistemas de mensajería (colas de mensajes)
- Notificaciones push
- Procesos en segundo plano
Ventajas
- Mayor escalabilidad
- Mejor rendimiento
- No bloquea procesos
Inconvenientes
- Mayor complejidad
- Gestión de estados más difícil
Clave de examen
- HTTP tradicional → síncrono
- Sistemas distribuidos modernos → combinan síncrono y asíncrono
- La asincronía es clave en arquitecturas escalables (microservicios, colas, eventos)
2.5 Arquitecturas de servicios web – WS (Web Services)
WS (Web Services)
Son servicios web que permiten la comunicación entre aplicaciones a través de una red, independientemente del lenguaje o sistema.
Características
- Interoperabilidad (distintos sistemas se comunican)
- Uso de estándares abiertos
- Comunicación a través de red (normalmente HTTP)
- Orientados a servicios
Tipos de Web Services
1. SOAP (Web Services clásicos)
- Basados en XML
- Protocolo formal y estricto
- Utilizan:
- SOAP → formato de mensajes
- WSDL → descripción del servicio
- Más pesados pero más estandarizados
2. REST (estilo arquitectónico)
- Más ligero
- Usa HTTP directamente (GET, POST, PUT, DELETE)
- Datos en JSON (principalmente)
- Más utilizado actualmente
Ejemplo sencillo
Una aplicación pide datos de un usuario:
- Cliente → petición HTTP (REST)
- Servidor → devuelve JSON con los datos
Relación con el temario
- WS = forma de implementar arquitectura cliente/servidor distribuida
- Muy usado en arquitecturas multicapas
- Base de APIs modernas
Trampas típicas de examen
- WS no es solo SOAP → REST también es Web Service
- SOAP = protocolo
- REST = estilo arquitectónico (no protocolo)
- JSON → típico de REST
- XML → típico de SOAP
Resumen rápido
- WS = comunicación entre aplicaciones
- SOAP (XML, pesado, formal)
- REST (JSON, ligero, actual)
2.6 Protocolos asociados
HTTP / HTTPS
- Protocolo principal de la web
- Modelo petición/respuesta
- HTTPS añade seguridad mediante cifrado
TCP/IP
- Base de las comunicaciones en red
- TCP: transmisión fiable
- IP: direccionamiento
SSL/TLS
- Protocolos de seguridad
- Proporcionan cifrado
Otros protocolos
- FTP: transferencia de archivos
- SMTP: envío de correo
- DNS: resolución de nombres
3. Ejemplo práctico
Aplicación web:
- Cliente: navegador
- Presentación: HTML, CSS, JavaScript
- Lógica: servidor de aplicaciones
- Datos: base de datos
Flujo:
- Usuario realiza una acción
- Se envía una petición HTTP
- El servidor procesa la lógica
- Consulta la base de datos
- Devuelve la respuesta
4. Miniresumen
- Cliente/servidor: el cliente solicita y el servidor responde
- Multicapas: separación en presentación, lógica y datos
- Ventajas: modularidad, mantenimiento y escalabilidad
- Servicios web: comunicación entre aplicaciones
- REST es el modelo más utilizado actualmente
- Protocolos clave: HTTP/HTTPS, TCP/IP, SSL/TLS