Additional StreamBase Features

This page summarizes additional features that you can add to your StreamBase modules as they grow to accommodate your application goals.

Notes on EventFlow Canvas

To document your EventFlow modules, you can add Notes. Notes can attach to the EventFlow canvas, to individual components, to two or more components selected together, or to Groups. See Using Notes.

Groups on EventFlow Canvas

You can gather collections of components on the EventFlow canvas, drawing a box with a colored background around the selected components, and adding a Group title. Groups are a visual tool that can help you edit more efficiently, but they do not affect the logic of your module. See Using Groups.

StreamBase Expression Language

You can use StreamBase expressions in the Properties view of most EventFlow operators. StreamBase provides two types of built-in functions in the expression language, Simple Functions and Aggregate Functions. See StreamBase Expression Language Features.

Query Tables

A Query Table is a data structure within a StreamBase module used for storing tuple values outside of a stream, which allows the module to share data and maintain state. One or more Query operators can write to or read from an associated Query Table. See Using Query Tables.

StreamBase Modules

A StreamBase module is a set of operators that include input and output streams, and is described in a single EventFlow file. A module can call another module by means of a Module Reference operator. See Module Introduction.

StreamBase Interfaces

A StreamBase interface is a contract to which the behavior of a module can adhere. An interface is a set of definitions of input streams, output streams, Query Tables, constants, named schemas, and table schemas.

Interfaces are used in two ways:

  • As templates to enforce strict compliance with its definitions in new and existing EventFlow modules that implement and extend the interface.

  • With an Extension Point operator that references an interface and hosts one or more module instances that implement that interface.

For more information, see StreamBase Interfaces.

Dynamic Variables

A dynamic variable is a variable that you can declare for a StreamBase module that can thereafter be referenced by name in expressions in operators and adapters in that module. In the declaration, you can link each dynamic variable to an input or output stream in the containing module. See Using Dynamic Variables.


Adapters are programs that convert data to and from the StreamBase tuple protocol. You can use adapters to:

  • Convert data from real-time sources such as financial market data feeds.

  • Convert data from an external resource such as a CSV file.

  • Convert processed StreamBase tuples into the format used by an external resource, such as an XML file.

For more information, see Adapters Guide.