S13 - Validación end-to-end del producto del curso
1. Introducción
Tiempo: 20 min.
1.1 Propósito
Validar el producto del curso como sistema completo, desde cliente o shell hasta Gateway, servicios, eventos, base de datos y observabilidad.
1.2 Resultado de aprendizaje
El estudiante ejecuta flujos end-to-end, verifica resultados en cada capa y produce evidencias reproducibles.
1.3 Producto de sesión
Checklist end-to-end del producto del curso con evidencias por capa.
1.4 Motivacion de la sesión
Un sistema distribuido solo se considera completo cuando sus componentes cooperan en un flujo real de negocio y el equipo puede demostrarlo de forma reproducible.
1.5 Ubicación en el curso
- Unidad: U3 - Validación y consolidación del producto del curso.
- Producto de unidad: producto final del curso validado, documentado, estabilizado y defendido.
- Avance del producto en esta sesión: validación integral del producto del curso.
2. Explica
Tiempo: 15 min.
2.1 Conceptos clave
- Validación end-to-end.
- Evidencia reproducible.
- Trazabilidad del flujo.
- Datos finales.
- Diagnóstico por capas.
2.2 Arquitectura del producto en ecom
En esta sesión se valida el producto completo. El foco no es agregar un componente nuevo, sino demostrar que el flujo atraviesa cliente, Gateway, seguridad, microservicios, eventos, bases de datos y observabilidad.
2.2.1 Validación end-to-end en DEV
flowchart TB
Cliente["Cliente<br/>PowerShell / bash / ecom-ng"]
Gateway["Gateway<br/>localhost:18080"]
Auth["auth-ms<br/>puerto dinamico"]
Catalogo["catalogo-ms<br/>puerto dinamico"]
Producto["producto-ms<br/>puerto dinamico"]
Orden["orden-ms<br/>puerto dinamico"]
Pago["pago-ms<br/>puerto dinamico"]
Kafka["Kafka broker<br/>localhost:41092"]
DB["Bases de datos<br/>PostgreSQL DEV"]
Obs["Observabilidad<br/>Grafana localhost:13000"]
Cliente -->|"login + CRUD + orden"| Gateway
Gateway --> Auth
Gateway --> Catalogo
Gateway --> Producto
Gateway --> Orden
Orden -->|"orden-eventos"| Kafka
Kafka --> Pago
Pago -->|"pago-eventos"| Kafka
Kafka --> Orden
Catalogo --> DB
Producto --> DB
Orden --> DB
Pago --> DB
Auth --> DB
Gateway -.->|"logs / métricas"| Obs
Catalogo -.->|"logs / métricas"| Obs
Producto -.->|"logs / métricas"| Obs
Orden -.->|"logs / métricas"| Obs
Pago -.->|"logs / métricas"| Obs
2.2.2 Validación end-to-end en PROD local
flowchart TB
Cliente["Cliente<br/>PowerShell / bash / ecom-ng"]
subgraph Docker["Docker Networks: ecom-prod-net + ecom-kafka-prod-net + observabilidad"]
Gateway["ecom-gateway<br/>host localhost:28082"]
Auth["auth-ms<br/>8080 interno"]
Catalogo["catalogo-ms<br/>8080 interno"]
Producto["producto-ms<br/>8080 interno"]
Orden["orden-ms<br/>8080 interno"]
Pago["pago-ms<br/>8080 interno"]
Kafka["Kafka broker<br/>kafka:9092<br/>UI localhost:28085"]
DB["Bases de datos<br/>PostgreSQL PROD local"]
Obs["Grafana<br/>localhost:23000"]
end
Cliente -->|"login + CRUD + orden"| Gateway
Gateway --> Auth
Gateway --> Catalogo
Gateway --> Producto
Gateway --> Orden
Orden -->|"orden-eventos"| Kafka
Kafka --> Pago
Pago -->|"pago-eventos"| Kafka
Kafka --> Orden
Catalogo --> DB
Producto --> DB
Orden --> DB
Pago --> DB
Auth --> DB
Gateway -.->|"logs / métricas"| Obs
Catalogo -.->|"logs / métricas"| Obs
Producto -.->|"logs / métricas"| Obs
Orden -.->|"logs / métricas"| Obs
Pago -.->|"logs / métricas"| Obs
2.3 Observabilidad y diagnóstico
Validar cada salto del flujo con logs, métricas, BD, Kafka UI, Eureka, Gateway y respuestas HTTP.
3. Aplica: actividad práctica guiada
Tiempo: 3h.
En el laboratorio, el docente guía una validación integral. Cada equipo ejecuta el mismo flujo, registra evidencias por capa y anota incidencias técnicas con causa probable.
3.1 Preparar checklist end-to-end
Producto del paso: flujo principal y evidencias esperadas definidas antes de ejecutar.
Checklist mínimo:
- Login.
- CRUD de categoría.
- CRUD de producto.
- Creación de orden.
- Procesamiento de pago.
- Validación en BD.
- Validación en Kafka.
- Validación en logs/métricas.
3.2 Definir flujo principal
Ejemplo mínimo:
- Login.
- Crear categoría.
- Crear producto.
- Crear orden.
- Procesar pago.
- Revisar estado final.
3.3 Levantar sistema DEV
Producto del paso: sistema completo disponible en desarrollo.
Levantar:
- Config Server.
- Eureka.
- Gateway.
- Kafka.
- Observabilidad.
- Microservicios necesarios.
- Frontend, si se usará en la demo.
3.4 Validar health y registro de servicios
Producto del paso: infraestructura base saludable.
Verificar:
PowerShell:
Invoke-RestMethod -Method Get -Uri "http://localhost:18080/actuator/health"
bash macOS/Linux:
curl http://localhost:18080/actuator/health
Abrir Eureka:
http://localhost:18761
3.5 Ejecutar login
Producto del paso: token válido para el flujo protegido.
Guardar token si la prueba se realiza desde shell.
3.6 Ejecutar CRUD de categoría
Producto del paso: categoría creada y consultable por Gateway.
Evidenciar respuesta HTTP y registro en base de datos.
3.7 Ejecutar CRUD de producto
Producto del paso: producto creado con categoría asociada.
Evidenciar respuesta HTTP y validación de relación con categoría.
3.8 Ejecutar flujo de orden y pago
Producto del paso: orden creada y pago procesado por eventos.
Usar shell, frontend o ambos, siempre mediante Gateway cuando corresponda.
3.9 Verificar resultados por capa
Validar:
- Respuesta HTTP.
- Registro en BD.
- Evento publicado/consumido.
- Logs.
- Métricas o dashboard.
3.10 Verificar Kafka UI
Producto del paso: eventos de orden y pago visibles.
Abrir:
http://localhost:41085
Revisar orden-eventos y pago-eventos.
3.11 Verificar bases de datos
Producto del paso: datos finales visibles en las tablas de cada microservicio.
Consultar tablas de categorías, productos, ordenes y pagos con docker exec y psql.
3.12 Revisar observabilidad
Producto del paso: evidencias de logs o métricas del flujo.
Revisar:
- Grafana DEV:
http://localhost:13000 - Prometheus DEV:
http://localhost:19090 - Loki DEV:
http://localhost:13100
3.13 Registrar incidencias
Documentar errores, causa probable y accion correctiva.
3.14 Repetir flujo en PROD local
Producto del paso: flujo principal probado con contenedores.
Levantar infraestructura, Kafka, observabilidad y microservicios con Docker. Usar Gateway PROD:
http://localhost:28082
3.15 Comparar DEV y PROD local
Producto del paso: diferencias operativas identificadas.
Comparar:
- Puertos.
- URLs.
- Uso de
localhostvs nombres de servicio Docker. - Swagger habilitado o deshabilitado.
- Health y logs.
3.16 Consolidar evidencia del equipo
Producto del paso: evidencia lista para la revisión de cierre.
Agrupar capturas, comandos, logs y hallazgos. Cada integrante debe identificar su aporte.
3.17 Ruta alternativa: clonar y ejecutar a partir del tag final de la sesión
git clone --branch vs13-validacion-end-to-end https://github.com/261dist/ecom.git ecom-s13
cd ecom-s13
4. Crea: actividad autónoma
Tiempo: 4h fuera del aula.
Esta actividad autónoma se desarrolla sobre el proyecto de fin de curso del equipo. El producto de la unidad se construye por acumulacion de los avances de cada sesión; por eso, la evidencia de esta sesión debe incorporarse a la documentación del proyecto y quedar trazable en GitHub.
4.1 Plantilla de evidencia individual
Entrega un PDF:
El PDF de esta sesión debe generarse como impresion o exportacion de la sección correspondiente en MkDocs o una herramienta equivalente. No se acepta un PDF armado manualmente fuera de la documentación del proyecto.
S13_Equipo##_ApellidoNombre.pdf
4.1.1 Datos del estudiante
- Nombre:
- Equipo:
- Sesión: S13 - Validación end-to-end del producto del curso
- Rol o aporte realizado:
- Link de GitHub:
4.1.2 Trabajo autónomo realizado
- Completar evidencias del flujo end-to-end.
- Corregir fallos detectados.
- Registrar datos finales.
- Documentar aporte individual.
- Preparar demo final.
4.2 Criterios mínimos de aceptación
- PDF con nombre correcto.
- Flujo end-to-end evidenciado.
- Evidencias por capa.
- Incidencias registradas.
- Aporte individual verificable.
5. Cierre evaluativo
Tiempo: 20 min.
5.1 Resultados esperados
- Flujo completo probado.
- Evidencia de datos y eventos.
- Diagnóstico por capas.
- Incidencias documentadas.
5.2 Evidencia del producto de sesión
Entrega individual:
S13_Equipo##_ApellidoNombre.pdf
5.3 Preguntas de defensa y reflexión
- Cuál es el flujo end-to-end principal?
- Dónde se valida seguridad?
- Dónde ocurre consistencia eventual?
- Cómo demuestras que el flujo llego a BD?
- Qué aportaste individualmente a la validación?
5.4 Rúbrica de evaluación
| Dimensión | Peso | 3 - Logro destacado | 2 - Logro | 1 - Proceso | 0 - Inicio | Puntuación obtenida |
|---|---|---|---|---|---|---|
| 1. Flujo end-to-end | 2 | Evidencia flujo completo y reproducible. | Evidencia flujo principal. | Flujo parcial. | No evidencia flujo. | |
| 2. Evidencias por capa | 2 | Evidencia cliente, Gateway, servicios, eventos y BD. | Evidencia capas principales. | Evidencia incompleta. | No evidencia capas. | |
| 3. Diagnóstico | 2 | Analiza incidencias con causa y solución. | Explica problemas principales. | Menciona incidencias sin análisis. | No diagnostica. | |
| 4. Reproducibilidad | 2 | Comandos y pasos claros para repetir la prueba. | Pasos suficientes. | Pasos incompletos. | No es reproducible. | |
| 5. Aporte individual | 1 | Aporte claro y verificable. | Aporte identificable. | Aporte general. | No se identifica aporte. | |
| 6. Orden y reflexión | 1 | PDF ordenado y reflexión técnica clara. | Evidencia suficiente. | Evidencia poco clara. | PDF insuficiente. |
Puntuación acumulada = suma de (Peso * Puntuacion obtenida) = ____.
Nota final = (Puntuacion acumulada / 30) * 20 = ____.
Para usar la rúbrica con IA, solicita:
Evalúa el PDF usando la rúbrica de la sesión.
Para cada dimensión selecciona la puntuación obtenida usando la escala Inicio=0, Proceso=1, Logro=2, Logro destacado=3.
Justifica brevemente cada puntuación.
Calcula la puntuación acumulada con la fórmula: suma de (Peso * Puntuación obtenida).
Calcula la nota final sobre 20 con la fórmula: (Puntuación acumulada / 30) * 20.
Indica 2 fortalezas y 2 recomendaciones.