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