M6C / M6D
Programación de Redes
Los temas del curso, con las diapositivas y el material de cada clase. Ver el mapa del temario
Introducción
Sistemas distribuidos, sus modelos y los bloques que los componen.
Multi-threading
Ejecución de threads, los problemas que traen y los mecanismos para manejar la concurrencia.
Sockets
El mecanismo que sirve de base para el resto de los mecanismos de comunicación del curso.
Del mensaje al protocolo
Repaso, refactors y protocolo custom.
Envío de archivos
Protocolo, configuración y envío de archivos por bloques.
Excepciones
Excepciones en el cliente y el servidor, y cómo arreglarlas.
TcpClient y Stream
De Socket a TcpClient/TcpListener y Stream, e intro a async.
Asincronía y paralelismo
De la programación paralela basada en threads al modelo asincrónico basado en tareas.
Task y async/await
Task, async/await, cancelación y paralelismo de datos.
Docker
Empaquetar y correr las aplicaciones en contenedores, y levantar varios juntos con docker compose.
Docker Compose
Redes, puertos, volúmenes y configuración con .env.
Message-oriented middleware
Un middleware que desacopla la producción y el consumo de mensajes y permite trabajar de forma asincrónica.
RabbitMQ
MOM y AMQP: colas, work queues, publish/subscribe, filtros y request/reply.
RPC y gRPC
Invocar funciones remotas como si fueran locales, con gRPC y Protocol Buffers.
RPC y gRPC
Invocar funciones remotas como si fueran locales, con gRPC y Protocol Buffers.
Web API y REST
Construir APIs REST con ASP.NET Core, y las alternativas para tareas largas y notificaciones.
Web API y REST
Construir APIs REST con ASP.NET Core, y las alternativas para tareas largas y notificaciones.
WebSockets
Comunicación bidireccional sobre una conexión persistente, y en qué se diferencia de una API REST.
WebSockets
Comunicación bidireccional sobre una conexión persistente, y en qué se diferencia de una API REST.
Diferencias entre mecanismos de comunicación
Cuándo usar sockets, MOM, RPC, REST o WebSockets, y cuándo combinar más de uno.