EDA has two key components:
Event producer - responsible for generating the event.
Event consumer - responsible for reacting to the event.
In order for an application to be able to react to an event, it must first be subscribed to that event. Once it is subscribed, the application will receive the event whenever it occurs.
Many different types of events can occur in a system, but they can generally be categorized into two types: system events and business events.
System events are generated by the underlying infrastructure and are typically used to trigger a reaction from the application, such as starting or stopping a process.
Business events, on the other hand, are generated by the business itself and usually contain information that is relevant to the operation of the business. For example, a business event might be an order being placed, a shipment being received, or a customer complaint being filed.