Parte 11 — Proyecto integrador políglota

⏮️ Parte 10 · ⬅️ Programa · 📚 Índice

12 clases · rango 165–176 · clases de proyecto · nivel avanzado · ~36 h (cronograma)

🧭 Un sistema real con cinco componentes en cinco lenguajes, construido, probado, desplegado y defendido.


🧭 De qué trata esta parte

El proyecto integrador reúne las once partes anteriores en un solo sistema: una CLI en un lenguaje de sistemas, un servicio backend, un frontend web, una capa de datos en SQL y scripts de automatización. No es un ejercicio ilustrativo — es la forma que tiene de verdad un sistema profesional.

El orden reproduce el de un proyecto real: primero el inventario de componentes, después los contratos entre ellos (antes de escribir código), luego cada pieza, después la persistencia, las pruebas end-to-end y el empaquetado, y por último la documentación. Cada clase añade al mismo sistema, así que saltarse una deja un hueco visible en la siguiente.

El cierre no es el despliegue sino la defensa razonada: un sistema con cinco lenguajes sin justificación escrita es un sistema que nadie querrá mantener. La clase 176 devuelve la tesis del programa convertida en método: cómo abordar solo el lenguaje número once.

🎒 Qué necesitas traer

Todo el programa anterior. En particular la Parte 9 (pruebas, CI, despliegue) y la Parte 10 (contratos y fronteras), que aquí se aplican en vez de estudiarse.

🎯 Qué sabrás hacer al terminar

Resultados comprobables: si no puedes hacerlos, la parte no está cerrada.

  1. Descomponer un sistema en componentes con responsabilidades disjuntas y contratos explícitos.
  2. Implementar cada componente en el lenguaje adecuado y justificar la elección con criterios.
  3. Hacer que cinco componentes en cinco lenguajes se comuniquen sin acoplarse innecesariamente.
  4. Probar el sistema completo de extremo a extremo y detectar los fallos de contrato entre piezas.
  5. Empaquetar y desplegar un sistema políglota de forma reproducible.
  6. Defender por escrito cada decisión de lenguaje ante alguien que no participó en el proyecto.

🗺️ El recorrido, clase a clase

Las clases están agrupadas en bloques por la razón que las une. El orden es secuencial: cada una asume la anterior.

🔹 Diseño · clases 165–166

Inventario de componentes y definición de responsabilidades y contratos antes de codificar.

🔹 Los cinco componentes · clases 167–171

CLI, servicio, frontend, datos y automatización: cada pieza en su lenguaje natural.

🔹 Datos, pruebas y despliegue · clases 172–174

Persistencia, pruebas end-to-end y empaquetado en contenedores.

🔹 Defender y transferir · clases 175–176

La documentación de decisiones y el cierre del programa con el método de transferencia.

⚠️ Los malentendidos que esta parte corrige

Se suele creer Lo que ocurre en realidad
«Un sistema políglota es una decisión estética.» Cada frontera cuesta: serialización, despliegue, depuración y equipo. Solo se justifica si la ventaja del lenguaje elegido supera ese coste.
«Si cada componente pasa sus pruebas, el sistema funciona.» Los fallos de un sistema distribuido viven en los contratos entre piezas, que ninguna prueba unitaria mira.
«La documentación se escribe al final si sobra tiempo.» La defensa de las decisiones es lo que permite que otro equipo mantenga el sistema. Sin ella, el sistema se reescribe.

🧪 Cómo estudiar esta parte

  1. Trabaja el proyecto de corrido, no clase a clase suelta. Cada clase añade un componente al mismo sistema; saltarse una deja un hueco en el siguiente.
  2. Escribe el contrato antes que el código de cada componente: entradas, salidas, errores y quién es responsable de qué.
  3. Ejecuta el sistema completo al cerrar cada clase, aunque la pieza nueva sea mínima. Un sistema políglota que solo funciona por partes no funciona.
  4. Justifica cada elección de lenguaje por escrito. La defensa razonada es parte entregable del proyecto, no un adorno.

📚 Fuentes de referencia de esta parte

Cada clase cita estos libros en su sección de referencias. No se reproduce su contenido: la redacción es original.

🔗 Qué abre esta parte

El programa termina donde empezó, en la clase 001, pero con una diferencia: ahora el método de transferencia lo aplicas tú, sobre el lenguaje que elijas.


⏮️ Parte 10 · ⬅️ Programa · 📚 Índice