What is an Event-Driven processing model?

Card Puncher Data Processing

About

An event-oriented model is a system that is driven from an event point of view, not from a state point of view. Ie:

  • when an event occurs,
  • transformation happens to the entities
  • that change their states.

It's a publish-subscribe messaging system.

An event is a state change, or an update, like adding a shopping item to a cart on an e-commerce website.

An event-oriented model is also known as an Event-Driven Architecture (EDA).

This type of architecture is commonly used in microservices to communicate between services.

Async Request

This model is based on async requests that communicate or inform that something happened.

Usage Example

Reporting/ analytics

Code Execution

Model

Instead of focusing on the current state, you focus on the events (changes) that occurred over time.

The event (that starts the flow/chain) must get the system moving by changing its state (ie which event will get the system moving).

In an event-driven architecture:

The events are clustered to create a chain of transformations based on their relationship. They are not grouped based on the state of the entity as in a process oriented model.

The model starts with an event and describes all transformations on the entities. ie the model system's behavior is described in terms of a sequence of transformation (not in a sequence of state).

Activities are not modeled directly as in a life-cycle model. Rather they are implied by scheduling an event for the point in simulation time they will be finished.

How do you visualize an event-driven model?

In the visual process flow, the nodes are the transformation, not the state of the entity as in a state model.

What is the Main Entry ?

The main entry in an event-driven system is called:

  • an event loop, for code execution
  • or a broker, for reporting/analytics

Steps

Identify the relevant entities

To build an event-based model, we must identify all relevant objects and their properties.

Describe the behavior of the system

  • Description of Behavior (Events)
  • identify the events that “drive” our model (ie the events that change the state of the system)
  • Write down the types of events that occur in the system
  • For each event type, specify the transformations and interactions of the relevant entities, e.g. by drawing a UML activity diagram. Example

Documentation / Reference





Discover More
Thomas Bayes
Data Mining - Intrusion detection systems (IDS) / Intrusion Prevention / Misuse

Classical security mechanisms, i.e. authentication and encryption, and infrastructure components like firewalls cannot provide perfect security. Therefore, intrusion detection systems (IDS) have been...
Facts
Dimensional Data Modeling - Fact

A fact is a row in a fact table and represents an events. A fact table represents a serie of facts. fact In an event driven architecture,...
Event Conceptual Model
Event (Timed Measure|Action)

An event is a timed observed physical reality described by: space (location) participant. The observations describing the event are defined by the nature or physics of the observable, the observation...
Card Puncher Data Processing
Event-Data Application

are event-driven application that reports / analyze the immutable event collected (without any notion of a pre-defined lifecycle). An event-driven application is a stateful application that: ingest...
Imperative Vs Functional
Functional Programming - Functional Interface

A functional interface is a interface with only one single method that is the basic building block of functional programming. event-driven processfunctional interfaceevent handler Type Default function...
Kafka Commit Log Messaging Process
Kafka (Event Hub)

Apache Kafka is a broker application that stores the message as a distributed commit log. The entire data storage system is just a transaction log. |data feeds Data Systems are exposing data, ...
Data System Architecture
Logical Data Modeling

A data model in software engineering is a graph of entity that try to represent the reality and describes how data are represented and accessed. the real world consists of entities and relationships....
Without Data Model
Logical Data Modeling - Data Model

A data model is an (abstract) model that describes how data are represented and accessed. Data models formally define entity and relationships among entities for a domain of interest. schema A data...
Card Puncher Data Processing
Process (Modeling)

A process may be: a natural process (ie organizational) performed by human: or a machine process: A process may be seen as a succession: of state: of event: Several processes...
Card Puncher Data Processing
ReactiveX

is Functional_reactive_programmingFunctional reactive programming library (implemented in several languages) It composes asynchronous and event-based programs using observable asynchronous sequences...



Share this page:
Follow us:
Task Runner