EDA vs. SOA

 

En sistemas embebidos, un evento es algo que ocurre en el sistema y que debe ser atendido. Puede ser una señal del hardware (como la activación de un sensor) o un dato que llega desde una red (como un mensaje de un protocolo industrial). Los eventos son "disparadores": activan o desencadenan una acción.

Una acción o proceso es cómo el sistema responde a un evento. Estas respuestas se implementan usando: callbacks: Funciones que se ejecutan automáticamente cuando ocurre un evento. Ejemplo: Una función que se llama cuando el sensor envía un dato nuevo. Tasks: Tareas más estructuradas que ejecutan acciones completas, generalmente en sistemas con RTOS (como FreeRTOS). Ejemplo: Una task que procesa un dato recibido y lo guarda en la memoria.

La Arquitectura Orientada a Eventos (EDA - Event-driven architecture) se basa en: ① Detectar eventos (hardware, datos, comandos). ② Ejecutar acciones (callbacks o tasks) que respondan a esos eventos.

En lugar de realizar operaciones continuamente (como un bucle infinito que chequea cambios), el sistema está diseñado para ser reactivo: solo actúa cuando algo sucede. Esto lo hace muy eficiente, especialmente en aplicaciones en tiempo real como sistemas embebidos industriales o sistemas de monitoreo continuo.

 

En contraste están las llamadas Arquitecturas Orientadas a Servicios (SOA - Service Oriented Architecture) proporcionan servicios que se invocan explícitamente cuando se los necesitan. Ambos enfoques son distintos pero no excluyentes.