Icono del sitio IT&ライフハックブログ|学びと実践のためのアイデア集

[Informe de Clase] Desarrollo de Sistemas (3.º Año) — Semana 44Integración de Conexiones API en Casos de Uso: Convertir Datos Externos en “Funciones Útiles”

boy in green shirt

Photo by CDC on Pexels.com

[Informe de Clase] Desarrollo de Sistemas (3.º Año) — Semana 44

Integración de Conexiones API en Casos de Uso: Convertir Datos Externos en “Funciones Útiles”

En la Semana 44, tomamos las llamadas a la API que implementamos la semana pasada y las incorporamos en casos de uso concretos para nuestra aplicación.
El tema fue ir más allá de “funciona” y convertirlo en una función significativa para los usuarios.


■ Introducción del Profesor: “Las APIs son ingredientes. Solo adquieren valor cuando las cocinas.”

Sr. Tanaka: “Los datos que se obtienen de una API a menudo son difíciles de usar tal cual.
Hoy diseñarán cuándo, dónde y cómo utilizarlos, y los traducirán a la experiencia del usuario.”

También repasó errores comunes en la integración de APIs:

  • quedarse solo en mostrar los datos
  • llamar a la API cada vez y hacer que la app sea lenta
  • que la pantalla se rompa cuando ocurren errores

Esto reforzó la importancia del diseño.


■ Objetivos de Hoy

  1. Integrar de forma natural los datos de la API en los casos de uso existentes
  2. Realizar procesamiento, toma de decisiones y almacenamiento en caché en la capa de Servicio
  3. Asegurar que el caso de uso funcione incluso cuando la API falle
  4. Diseñar visualizaciones y mensajes amigables para el usuario

■ Ejercicio ①: Aclarar el Caso de Uso en el que se Usará la API

Cada grupo aclaró primero qué caso de uso utilizaría una API.

Ejemplos

  • Sistema de biblioteca
    • Buscar un libro → usar una API del clima para mostrar un “recordatorio de fecha de devolución en días lluviosos”
  • Gestión de eventos escolares
    • Lista de eventos → usar una API de mapas para mostrar la ubicación
  • App de apoyo al aprendizaje
    • Entrada en inglés → usar una API de traducción para mostrar texto de apoyo en japonés

Estudiante A: “Si no haces que la API sea la ‘protagonista’, la app se siente más natural.”


■ Ejercicio ②: “Procesar” los Datos de la API en la Capa de Servicio

En lugar de pasar las respuestas crudas de la API directamente a la UI, dimos formato a los datos con la forma necesaria en la capa de Servicio.

Ejemplo: Servicio de API del Clima (Conceptual)

def get_weather_hint(self, city):
    weather = self.weather_api.fetch(city)

    if weather["condition"] == "Rain":
        return "Se pronostica lluvia hoy. Por favor, tenga en cuenta la fecha de devolución."
    else:
        return None

Puntos clave:

  • La UI solo decide si mostrar algo o no
  • Los cambios en la especificación de la API no afectan directamente a la UI
  • Los datos se interpretan en el contexto del caso de uso

Estudiante B: “Se siente como si estuviéramos convirtiendo datos crudos de la API en un mensaje significativo.”


■ Ejercicio ③: Reducir Llamadas con Caché

Se asume que las APIs son:

  • lentas
  • con límites de uso

Por ello, introdujimos una caché simple.

Imagen orientada al aprendizaje

  • Reutilizar el clima de la misma ciudad durante 10 minutos
  • Gestionar la caché en la capa de Servicio
  • Confirmar el número de llamadas a la API mediante logs

Estudiante C: “¡Después de añadir la caché, se sintió más rápido de inmediato!”

El Sr. Tanaka también compartió un punto práctico:
“El almacenamiento en caché es un equilibrio entre precisión y velocidad.”


■ Ejercicio ④: No Detener el Caso de Uso Cuando la API Falla

A continuación, diseñamos el comportamiento cuando la API no está disponible.

Política de implementación

  • Incluso si la API falla, la función principal continúa
  • Solo se oculta la información complementaria (clima/traducción, etc.)
  • Mostrar un aviso breve y sencillo a los usuarios
try:
    hint = weather_service.get_weather_hint(city)
except Exception:
    hint = None

Ejemplo de visualización en la UI:

  • La información meteorológica no está disponible en este momento.

Estudiante D: “Usar APIs para funciones ‘agradables de tener’ es más seguro.”


■ Ejercicio ⑤: Integrar en la UI y Ajustar la Visualización

Finalmente, integramos de forma natural la información derivada de la API en la UI.

  • Mantenerla como información de apoyo, no demasiado prominente
  • Ajustar la “importancia” mediante color y ubicación
  • Mantener los mensajes de error discretos

Estudiante E: “Aunque la app use APIs, idealmente los usuarios no deberían notarlo.”


■ Puesta en Común de Toda la Clase: Lo que Funcionó Bien

Ejemplos de enfoques exitosos compartidos en clase:

  • Convertir los resultados de la API en frases para mejorar la UX
  • Comportamiento estable mediante caché + alternativas
  • Centralizar las decisiones relacionadas con la API en la capa de Servicio
  • Seguimiento de las tasas de fallos de la API mediante logs

■ Comentario Final del Profesor

“El objetivo de la integración de APIs no es usar una API
es mejorar la experiencia del usuario.

Diseñar:

  • dónde usarla, y
  • qué hacer cuando no está disponible,
    es exactamente como se trabaja en el mundo real.”

■ Tarea (Para la Próxima Semana)

  1. Crear una descripción de caso de uso de una página que incluya la API
  2. Preparar capturas de pantalla tanto para éxito de la API como para fallo de la API
  3. Si añadieras una API más, proponer dónde la integrarías

■ Adelanto de la Próxima Semana: Múltiples APIs y la Idea de la Asincronía

La próxima semana aprenderemos:

  • consideraciones de diseño al usar múltiples APIs al mismo tiempo, y
  • cómo manejar el tiempo de espera y los fallos—pensamiento central para el procesamiento asíncrono

La Semana 44 marcó el paso de la integración de APIs de una “demo técnica” a una “función práctica”.
Los estudiantes fueron desarrollando de manera constante las habilidades para usar servicios externos de forma inteligente y segura mediante un buen diseño.

Salir de la versión móvil