Bog: Event-Driven Architecture

En af de bøger, som jeg synes har betydet meget i min forståelse for hvordan EDA arkitekturer kan hjælpe til at gøre løsninger mindre rigide er Event Driven Architecture.

Det bogen især gjorde for mig, var at eksemplificere ulempen ved det typiske, centrale kontrol flow i vores kode, som normalt udgøres af et antal sekventielle kald imellem metoder, imellem lag, samt imellem objekter.

Via bogens eksempler ser man, hvordan den slags central kode kan opdeles og hvordan resultaterne af processeringen kan publiceres som autonome events (der indeholder al event state), hvorefter en eller mange (eller ingen) event handlers fortsætter processeringen baseret på denne information.

(Rent konkret realiseres dette typisk med en kombination af web services og beskedbusser med input og output køer)

Det har et antal konkrete fordele:

  • Resultaterne persisteres som beskeder i en kø, i stedet for in-memory. 
    Jo, man kunne skrive en masse til en logfil, men vi ved vidst alle, at log filer ofte ender med at blive uoverskuelige.
  • Fejlslagne event processeringer placeres i en fejl-kø, og kan, efter fejlfinding og rettelse, lægges i input køen igen. Dvs. man får mulighed for at genstarte en ellers fejlet processering der, hvor den slap. 
  • Hvis en event handler går ned, synligøres det hvor langt den var kommet i afviklingen af events. Det er bare at kigge i køen.
  • Når en event handler startes igen, kan den fortsætte processeringen uden videre.
  • Nye event handlers kan kobles på, uden at påvirke eksisterende event handlers.

Bogen indeholder også større cases. Men min holdning er dog, at disse cases går meget langt og er en smule komplekse i forhold til en introduktion til emnet.  Men det er gode eksempler på, hvor langt man kan tage EDA tanken.

Bogen er efter min mening alle pengene værd, hvis man interesserer sig for Event Driven Architecture.

Christer Ø. on twitterChrister Ø. on linkedin
Christer Ø.
Software Development Consultant stratal ApS
Christer Østergaard er freelance forretningsanalytiker og softwarearkitekt med mere end 16 års erfaring. Har arbejdet med STAR (tidl. Arbejdsmarkedsstyrelsen), DSB, Kommunernes Landsforening, Digitaliseringsstyrelsen, Egmont, Banedanmark, Elsparefonden, Armada Shipping, Unik HR, Fødevareministeriet og Ministeriet for Flygtninge, Indvandrere og Integration, Knowledge Cube, mikz.com, Ankestyrelsen m.fl. Dertil et par Open Source projekter. Lige nu læser Christer Data and Reality. Christer er klar til at sikre leverance af nye softwareprodukter fra 1. Januar 2016.