01 Paradigmas 02 Cliente–Servidor 03 API Sockets 04 Grupos 05 CORBA

COMPUTACIÓN
DISTRIBUIDA

Infografía técnica: paradigmas, modelos, protocolos y arquitecturas que sustentan los sistemas distribuidos modernos.

5
Conceptos clave
4
Paradigmas
35+
Años de evolución
01

Paradigmas de la
Computación Distribuida

Un paradigma define el modelo conceptual de colaboración entre nodos. Cada uno resuelve el problema de la distribución desde un enfoque distinto.

C/S
Cliente – Servidor
Roles diferenciados: proveedor pasivo y consumidor activo.
P2P
Peer-to-Peer
Nodos equivalentes; cada uno actúa como cliente y servidor.
SOA
Orientado a Servicios
Servicios autónomos interoperables con contratos explícitos.
OBJ
Orientado a Objetos
Objetos remotos que exponen métodos invocables en red.
MSV
Microservicios
Servicios pequeños, independientes y desplegables por separado.
// PROPIEDADES UNIVERSALES
Transparencia Escalabilidad Tolerancia a fallos Concurrencia Heterogeneidad Apertura
fig 1.1 — mapa de paradigmas
← centralizado descentralizado → ↑ acoplado SISTEMA DISTRIBUIDO CLIENTE SERVIDOR PEER TO PEER SOA / MICRO OBJ CORBA
02

Modelo Cliente–Servidor

Arquitectura asimétrica donde el servidor gestiona recursos y el cliente los consume a través de peticiones explícitas.

fig 2.1 — flujo petición / respuesta
CLIENTE Browser / App :3000 CLIENTE Mobile / CLI :3001 REQUEST REQUEST SERVIDOR APP Express / Django REST API :8080 RESPONSE RESPONSE SQL/ORM DATABASE PostgreSQL
Separación de roles
El servidor no inicia comunicación; siempre responde peticiones.
Stateless / Stateful
HTTP es sin estado por defecto; las sesiones añaden estado.
Escalabilidad horizontal
Múltiples servidores detrás de un load balancer.
Seguridad centralizada
Autenticación, autorización y cifrado gestionados en el servidor.
Protocolo base
TCP/IP · HTTP/1.1 · HTTP/2 · HTTP/3
03

API Sockets

Interfaz de programación para la comunicación de procesos a través de la red. Abstrae las capas de transporte (TCP/UDP) en un descriptor de fichero.

fig 3.1 — ciclo de vida de un socket TCP
SERVIDOR CLIENTE socket() bind() listen() accept() ← bloqueante recv() / send() close() socket() espera… connect() send() / recv() bidireccional close() 3-way hs datos → ← datos
// TIPOS DE SOCKET
TCP
SOCK_STREAM
Orientado a conexión. Fiable, ordenado, control de flujo. Usado en HTTP, FTP, SSH.
UDP
SOCK_DGRAM
Sin conexión. Rápido, sin garantías. Ideal para streaming, DNS, videojuegos.
RAW
SOCK_RAW
Acceso directo al protocolo de red. Para diagnóstico y protocolos personalizados.
// IDENTIFICACIÓN DE SOCKET
IP : PUERTO
192.168.1.10 : 8080
:80
HTTP
:443
HTTPS
:22
SSH
04

Comunicación en Grupo

Mecanismo para enviar mensajes a múltiples procesos con garantías de consistencia, orden y fiabilidad en sistemas distribuidos.

unicast — 1:1
A B msg C D

Punto a punto entre dos nodos

multicast — 1:grupo ★
A B C D E

Entrega a miembros del grupo

broadcast — 1:todos
SRC bcast A B C D E

A todos los nodos de la red

📋
Orden Total
Todos reciben en el mismo orden causal
⚛️
Entrega Atómica
Todos o ninguno recibe el mensaje
👁️
Vista Consistente
Todos comparten la misma membresía
🛡️
Tolerancia a Fallos
Opera con fallos parciales del grupo
05

CORBA y su Evolución

Common Object Request Broker Architecture: estándar OMG (1991) para la comunicación entre objetos heterogéneos distribuidos sobre cualquier plataforma y lenguaje.

fig 5.1 — arquitectura del ORB
OBJECT REQUEST BROKER (ORB) — bus de mensajes CLIENTE IDL Stub SERVIDOR IDL Skeleton invoke dispatch Interface Repository Impl Repository IIOP / TCP Java · C++ Python · Go
// LÍNEA DE TIEMPO — EVOLUCIÓN
1991 — CORBA 1.0
Primer estándar OMG. Interoperabilidad básica entre objetos.
1996 — CORBA 2.x + IIOP
Protocolo IIOP sobre TCP/IP. Interoperabilidad real entre ORBs.
2002 — CORBA 3.0 (CCM + AMI)
Component Model, mensajería asíncrona, QoS, tiempo real.
2004–2010 — Web Services
SOAP + WSDL + UDDI. XML sobre HTTP reemplaza a IIOP.
2010–2018 — REST + JSON
Simplicidad stateless domina. APIs públicas proliferan.
2015–hoy — gRPC + Microservicios
Protocol Buffers ≈ IDL moderno. El concepto CORBA persiste.
// LEGADO CONCEPTUAL
IDL → Protobuf / GraphQL Schema
ORB → Service Mesh (Istio)
Skeleton → Server Stubs (OpenAPI)
Naming Service → Consul / Eureka

Cuadro Comparativo

Concepto Propósito Protocolo / Estándar Escenario típico Equivalente moderno
Paradigmas Dist. Marco conceptual de organización Diseño de sistemas Microservicios / FaaS
Cliente–Servidor Separar consumidor y proveedor HTTP · FTP · SMTP Aplicaciones web REST · GraphQL
API Sockets Comunicación proceso a proceso TCP · UDP · UNIX Chat, streaming, juegos WebSocket · QUIC
Comunic. Grupo Entrega consistente a muchos IP Multicast · Gossip Replicación, consenso Kafka · Raft · Paxos
CORBA Invocación remota heterogénea IIOP · IDL · ORB Middleware empresarial gRPC · Thrift · Avro