Sobes.tech
Middle

Stel je een integratieoplossing voor: systeem A moet systeem B vragen een rapport te genereren (dat 2 uur duurt om te vormen en 200 MB weegt) en het resultaat ontvangen.

sobes.tech AI

Antwoord van AI

Voor een integratieoplossing waarbij systeem A systeem B vraagt om een groot rapport te genereren (2 uur verwerking, 200 MB), is het beter om een asynchrone aanpak te gebruiken met een melding wanneer het rapport klaar is:

  1. Systeem A stuurt een verzoek tot rapportgeneratie naar systeem B en ontvangt een unieke taak-ID.
  2. Systeem B start het rapportgeneratieproces op de achtergrond.
  3. Systeem A vraagt periodiek systeem B op met de taak-ID om de status te controleren (bijvoorbeeld via REST API).
  4. Wanneer het rapport klaar is, biedt systeem B een downloadlink aan (bijvoorbeeld via HTTP of S3-opslag).
  5. Systeem A downloadt het rapport via de link.

Deze aanpak voorkomt dat de verbinding 2 uur open blijft en maakt het efficiënt om grote bestanden over te dragen. Voor het overdragen van het rapport is het beter om bestandsopslag of objectopslag (S3, Azure Blob, etc.) te gebruiken dan direct via de API.

Voorbeeld API:

  • POST /reports - maak een taak, retourneer taskId
  • GET /reports/{taskId}/status - status van de taak
  • GET /reports/{taskId}/download - downloadlink

Dit is een klassiek patroon "taak-queue-melding" met asynchrone verwerking.