Static event processor

The main Fluxtion runtime component explained

The key component generated by Fluxtion is the Static Event Processors(SEP). The SEP is used by a client application at runtime to process streams of events. A SEP has many uses for example producing real-time analytics, acting as an ETL processor, IoT edge processing, trade surveillance, a HFT engine or classifying data as a decision tree. Each SEP has the following characteristics:

  • They are lightweight components that do not require a server to run, simply instantiate and call onEvent.

  • Manages application objects known as nodes.

  • Nodes provide the actual business logic.

  • Acts as a dependency injection container for nodes, creating, setting references, properties and calling life-cycle methods on each node.

  • All nodes will be initialised before any events are processed.

  • Life-cycle methods are invoked on nodes.

  • Dispatches events in a predictable order to the managed nodes.

Underneath the SEP is managing the nodes as a graph of dependencies. In the SEP graph there are multiple entry points, execution paths and exit points. The SEP manages the complex dispatch logic between managed nodes during event processing.

A SEP implements the EventHandler interface, allowing applications to invoke the well known interface method onEvent(Event event).

Fluxtion provides an event stream compiler(ESC) that generates a SEP, after generation the ESC can be discarded. The compiler may generate multiple source files, such as helper classes, but there will be a single SEP class with which the application integrates.

A SEP acts like a dependency injection container, it manages nodes under its control with the following rules:

  • Creates instances in a well known order

  • Sets references between instances.

  • Sets properties on instances.

  • Calls life-cycle methods on instances, for initialisation and teardown of the SEP in a predictable order.

Last updated