← Integración y automatización de sistemas

Sesión 1

Cómo se comunican las aplicaciones

Punto de partida. Actividad «Automatización diseñada y simulada», sesión 1 de 3. Abre los materiales enlazados y crea el registro de la unidad. La guía de arranque permite preparar las herramientas sin depender de otros módulos.

Se explica

10 minutos · contexto, explicación y ejemplo

Una API permite que una aplicación solicite datos o acciones a otra siguiendo un acuerdo. La petición indica qué se necesita; la respuesta dice qué ocurrió y puede aportar datos. Un evento comunica que algo ya ha pasado: «reparación terminada». No son sinónimos: un evento puede provocar que otra aplicación llame a una API.

En Reparaciones Rápidas, terminar una reparación puede iniciar la preparación de su factura. Para conectar ambas tareas hay que saber qué datos se necesitan y qué aplicación los conoce. Hoy representaremos ese intercambio sobre papel o en un diagrama; no hace falta programar el backend.

Consultar ejemplos y conceptos de esta sesión

API: una puerta para comunicarse con una aplicación

Las APIs ya se han estudiado desde la perspectiva de la programación.

Aquí nos interesa entender para qué sirven dentro de una empresa.

Una API permite que otra aplicación pueda solicitar o enviar información de forma controlada.

Por ejemplo:

Consultar un servicio externo
  1. Nuestra aplicación
  2. API
  3. Servicio meteorológico

Nuestra aplicación podría preguntar:

¿Qué temperatura hace ahora en Alicante?

y recibir:

{
  "temperature": 31,
  "condition": "sunny"
}

La API actúa como una especie de puerta de entrada definida por el sistema.

No necesitamos saber cómo funciona internamente el servicio meteorológico.

Solo necesitamos conocer:

  • qué podemos solicitar;
  • qué datos debemos enviar;
  • qué respuesta obtendremos.

Polling

El funcionamiento puede representarse así:

Polling · la aplicación A lleva la iniciativa
Ciclo de polling entre dos aplicaciones La aplicación A pregunta a la aplicación B si hay novedades, la aplicación B responde, y el ciclo vuelve a empezar pasado un intervalo de tiempo. ¿Hay novedades? Respuesta y vuelve a preguntar pasado el intervalo Aplicación A Aplicación B

Es sencillo de implementar.

Su eficiencia, sin embargo, puede ser reducida.

Imaginemos que preguntamos cada minuto y el estado cambia una vez al día.

Estamos realizando miles de preguntas innecesarias.

Otra posibilidad: webhook

En lugar de preguntar continuamente:

¿Ha ocurrido algo?

podemos decir:

Avísame cuando ocurra.

Ese es el concepto fundamental de un webhook.

Webhook · la iniciativa cambia de lado
Aviso mediante webhook La aplicación A espera sin preguntar nada. Cuando ocurre un evento en la aplicación B, esta avisa a la aplicación A mediante un webhook. ocurre el evento webhook: te aviso no pregunta nada Aplicación A Aplicación B

Por ejemplo:

Un aviso de pago
  1. Pago completado
  2. Webhook
  3. Nuestra tienda

El servicio de pago avisa automáticamente a nuestra aplicación.

Polling vs webhook

Una forma sencilla de recordarlo:

Polling

El interesado pregunta periódicamente si ha ocurrido algo.

Webhook

El sistema donde ocurre el evento avisa en cuanto sucede.

Comparación:

Polling Webhook
Quién inicia la comunicación El interesado El sistema donde ocurre el evento
Consultas repetidas No normalmente
Tiempo de reacción Depende del intervalo Normalmente inmediato
Sencillez Alta Requiere preparar un receptor
Ejemplo Consultar estado cada minuto Avisar cuando cambia el estado

Ninguno es siempre mejor.

Depende del problema.

Los eventos

Muchas aplicaciones modernas funcionan alrededor de acontecimientos.

Por ejemplo:

  • usuario registrado;
  • pedido creado;
  • pago realizado;
  • paquete enviado;
  • reparación terminada;
  • contraseña modificada.

Podemos llamar a estos acontecimientos:

Eventos

Un evento significa simplemente:

ha ocurrido algo relevante dentro del sistema.

Por ejemplo:

Evento: reparación terminada

A partir de ese evento podrían ejecutarse varias acciones:

Un evento, varias reacciones
Un evento desencadena tres acciones Al terminar una reparación se emite un evento, y a partir de él se ejecutan tres acciones: enviar un correo, generar la factura y actualizar el estado. Reparación terminada Evento Enviar correo Generar factura Actualizar estado

Una única acción puede desencadenar muchas otras.

Cola de mensajes

Imagina una cola en un supermercado.

Una persona no desaparece porque la caja esté ocupada.

Espera su turno.

Una cola de mensajes utiliza una idea parecida:

Los mensajes esperan su turno
Cola de mensajes entre dos sistemas La aplicación deja sus mensajes en una cola. Los mensajes esperan ahí hasta que el sistema receptor puede procesarlos, de modo que no se pierden si el receptor no está disponible. Aplicación COLA mensaje 1 mensaje 2 mensaje 3 Sistema receptor

Si el receptor está ocupado o temporalmente no disponible, los mensajes pueden esperar.

Tecnologías como:

  • RabbitMQ;
  • Apache Kafka;
  • Amazon SQS;

se utilizan para resolver problemas relacionados con este tipo de comunicación.

No necesitamos aprenderlas en esta unidad.

Lo importante es entender el problema que solucionan.

Low-Code y No-Code

No todas las integraciones tienen que programarse desde cero.

Existen herramientas como:

  • n8n;
  • Zapier;
  • Make;
  • Power Automate.

Permiten construir flujos visualmente.

Por ejemplo:

Un flujo construido sin escribir código
  1. Nuevo formulario
  2. Crear registro
  3. Enviar correo
  4. Avisar por Teams

La idea es similar a programar:

La misma lógica de siempre
  1. Si ocurre A
  2. entonces ejecuta B
  3. después ejecuta C

Estas herramientas son especialmente útiles para:

  • automatizaciones sencillas;
  • conectar servicios;
  • prototipos;
  • tareas internas.

Tampoco sustituyen en todos los casos al desarrollo tradicional.

Cuando necesitamos:

  • lógica compleja;
  • rendimiento;
  • control;
  • gran escalabilidad;

puede ser mejor desarrollar la solución mediante código.

Se trabaja

45 minutos · trabajo guiado sobre la actividad

  1. Abre la ficha de Reparaciones Rápidas y crea el registro de la UD2. Copia únicamente el fragmento del proceso que comienza cuando un técnico termina una reparación.
  2. Escribe el evento en pasado y enumera sus datos mínimos: identificador de reparación, fecha de cierre y referencia del cliente. Explica por qué cada dato resulta necesario.
  3. Dibuja tres participantes: gestión de reparaciones, facturación y servicio de avisos. Asigna a cada uno una responsabilidad; evita que dos piezas mantengan estados contradictorios sin explicarlo.
  4. Simula un intercambio: una persona prepara una tarjeta con la petición de factura y otra responde «creada» con su identificador. Si falta un dato, devuelve «petición incompleta» e indica cuál.
  5. Registra la petición, la respuesta y una condición que impida continuar. Comprueba que otra pareja entiende quién solicita, quién responde y qué cambia al terminar.

Cierre

5 minutos · comprobar el resultado

Al terminar la sesión:

Hay un intercambio completo con datos, respuesta y responsables. Distingue la orden «crear factura» del evento «factura creada».