What Are Some Resources For Understanding the World of Event-Driven APIs?

07-16-2020

I have been asked by more than 10 people in the last couple of weeks for more information for helping them make sense of the whole event-driven API landscape. I have all kinds of links available, and various organizations, tools, and other building blocks identified, but if I haven't told any stories on a subject, I won't have more refined information to share. To help seed my research and the resulting storytelling around the event-driven landscape. Here is what I have so far to help me understand what is going on, but also hopefully help others do their own research while I am developing my own understnading. 

Protocols

  •  HTTP - Keeping things in the realm of HTTP for developers.
  •  HTTP/2 - Opening up bi-directional, multi-threaded events.
  •  WebSockets - Leverage TCP for bi-directional pub/sub.
  •  TCP - Leverage other TCP based protocols for events.

Patterns

  • WebHooks - Using fat or skinny payloods via HTTP push.
  • REST Hooks - Defining links called when request is made.
  • Pub/Sub - Adopting a publish & subscribe pattern.

Standards

  • AsyncAPI - Open source tools to easily build and maintain your event-driven architecture.
  • Websub (formerly PubSubHubbub) - WebSub provides a common mechanism for communication between publishers of any kind of Web content and their subscribers, based on HTTP web hooks.
  • Cloudevents - A specification for describing event data in a common way
  • Server-Sent Events - Server-Sent Events (SSE) is a server push technology enabling a client to receive automatic updates from a server via HTTP connection.

Performance

  • One Direction - Pushing events in a single direction.
  • Bi-Directional - Allow for bi-directional streams.
  • Multi-Threaded - Opening up multiple threads at at time.

Key Concepts

  • Event Driven
  • Event Sourcing
  • Command Query Responsibility Segregation (CQRS)
  • Event Storming
  • Domain-Driven Design
  • Complex Event Processing

Top Links

Additional

These are some of the key building blocks of the event-driven conversation. Having the keywords avaialble in my research notebook helps me Google and discover other new information. It gives me the vocabulary to assist me when I am manually researching things, but also provide what I need to automate and scale my harvesting of interesting stories, tools, services, people, and other ways in which the event-driven conversation is being push in new directions.

If you have any go to sources of information for event-driven APIs please ping me on Twitter or via email and let me know. I will add it to my research, and use as part of storytelling in the future. I am far from becoming a source of relevant information on event-driven APIs, but I have been tuning in for long enough that I should be able to quickly curate what I have, and hopefully produce sosme better posts that help others navigate the landscape that is rapidly emerging.