Patron Observer
Patron boserver como despachador asincrónico: separa la lógica interna del negocio de las conexiones con Google Calendar y el servidor de Correo. Se crearon lo packages Event y Listener.
Ejemplo cuando se crea una instancia:
El flujo se divide en dos fases limpias
1: El funcionario guarda la instancia. El sistema impacta las tablas en la base de datos (instancias, incidencias, auditorias), lanza un evento al aire y le responde de inmediato al usuario. La pantalla no se congela.
2: El GoogleCalendarListener atrapa ese evento en un hilo secundario de fondo. Se conecta a Google, agenda la reunión y, al recibir el código de éxito de Google, hace un UPDATE final en la base de datos para guardar el ID del evento.