EVENT
DRIVEN
ARCH

WHAT
IS
IT?

EVERYTHING

IS EVENT

EVENT

IS EVERYTHING

WHY?

EVENT IS NOT THERE

IN DESIGN

EVENT IS NOT THERE

FOR TRACKING

EVENT IS NOT THERE

FOR INTEGRATION

EVENT SOURCING

IS HARD

EXAMPLES?

GIT

BITCOIN

ACCOUNTANT

GO1 ENROLMENT

HOW?

FOCUS ON EVENT

GO1 ENROLMENT

JUST FEW EVENT TYPES

  • CREATE
  • UPDATE STATUS
  • UPDATE START DATE
  • UPDATE END DATE
  • DELETE

HANDLERS

ENROLMENT CREATE

{
   "TITLE":   "GO1.ENROLMENT.CREATE",
   "ID":      "74bbec84-52d3-44ce-936d-…",
   "USER_ID": 555,
   "DATA": {
     "PORTAL_ID":  333,
     "CONTENT_ID": 999,
     "STATUS":     "IN-PROGRESS"
   }
}

WORKFLOW

  1. EVENT VALID?
  2. START TRANSACTION
  3. HANDLER($EVENT)
  4. COMMIT TRANSACTION

THEN?

Made with Slides.com