Static event processor
The main Fluxtion runtime component explained
Last updated
Was this helpful?
The main Fluxtion runtime component explained
Last updated
Was this helpful?
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 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.