Misión de integración

Objetivo del alumno: Resolver un caso práctico de arquitectura de software para evaluar sus conocimientos previos sobre servicios web, diseño de APIs e integración.
Imagina que han sido contratados por “CineMatch”, una startup que quiere crear una plataforma donde los usuarios puedan buscar películas y organizar salidas al cine con sus amigos. Tienen que diseñar la arquitectura base.
Actualmente tiene un sistema “monolítico” donde la base de datos, la interfaz web y la lógica de negocio están en un solo gran bloque de código, lo que hace que sea lento y difícil de actualizar. Para no inventar la rueda, CineMatch necesita obtener la información de las películas (títulos, sinopsis, pósters) de una base de datos externa que ya existe. Se necesita su propio sistema para guardar las “Listas de Favoritos” de los usuarios en su base de datos.
Explica con tus propias palabras qué es la Arquitectura Orientada a Servicios (SOA) o los Microservicios, y menciona al menos 2 ventajas de cambiar este sistema monolítico a un sistema basado en servicios.
Menciona ¿qué es una API REST?
Escribe un ejemplo básico (puede ser en JavaScript con fetch, en Python, o simplemente pseudocódigo) de cómo harías una petición (Request) a una API pública (como The Movie Database – TMDB) para buscar una película llamada “Inception”. ¿Qué método HTTP usarías?
Diseña los Endpoints (Rutas o URIs) de la API que ustedes mismos construirían para gestionar estas listas. Escribe la ruta y el método HTTP para las siguientes acciones:
- Crear una nueva lista de favoritos.
- Obtener/Ver todas las listas de un usuario.
- Borrar una lista específica.
Dibuja un diagrama sencillo o explica paso a paso cómo fluiría la información si un usuario entra a la página web (Frontend), busca una película (API de terceros) y le da clic al botón “Guardar en favoritos” (API Propia).
Formato de entrega
Puede realizarse en papel (diseño/pseudocódigo) o en un documento digital, trabajando de forma individual.