“Beyond infrastructure issues, as engineers, the web app programming we’ve been doing over the past 15 years has taught us to build applications in a highly synchronous transactional manner…”
“…You would be shocked at the ratio of engineers who can’t build event-driven, asynchronous data processing applications, to those who can, yet this is a big part of this space.”
One that I didn’t include is the fact that the absence of an event can be an event. Chris Martins brought that up on Twitter.
In my initial event writing, I wrote of a system heartbeat example:
“…a business-to-business order gateway is supposed to be emitting System Heartbeat events every 15 minutes. The System Heartbeat events inform IT operations the gateway is up and running. The absence of a heartbeat event indicates a failure. If the order gateway is down, business customers are likely to place an order with a competitor.”
On Twitter yesterday, I mentioned an event-driven billing subsystem I’m currently working on. In that system, we’ll be generating a (standard) projected monthly invoice. The invoice generation starts when the party is approved for billing.
Invoice regeneration is triggered by a set of events, including a change in plan, the receipt of a payment, or the absence of the receipt of payment. In this subsystem, the absence of a receipt is a non-payment event.
So, yes. The absence of an event is absolutely an event.