IBM Streams 4.3.0

Operators

Operators are the fundamental building blocks of stream processing applications. Operators process tuples in incoming streams and produce output streams as a result.

The programming model for stream processing applications in IBM® Streams is a data flow graph, which means that streaming data flows between nodes on the graph, in a specified direction. The nodes of the graph are the operators.

Operators are classified as primitive operators and composite operators.
Primitive operators
Primitive operators are the entities that do the actual processing of elements. They are implemented in a native language such as C++ or Java. Primitive operators cannot be broken down into smaller processing elements and they are not composites of other operators.
Composite operators
An operator that is implemented in SPL which represents a subgraph, and as such can contain other primitive or composite operators.

A main composite operator is a composite operator that encapsulates the entire data flow graph, that is the root of that graph, that has no input ports or output ports, and that when compiled represents a stream processing application.

Both primitive and composite operators can be parameterized to make them reusable in multiple stream processing applications.

Ports are the points of connection of operators to a stream. Input ports consume one or more streams, whereas output ports produce a stream.

An operator invocation is an instance of an operator that was defined for a specific context. Every stream is defined by exactly one operator invocation, but the stream can be consumed by any number of operator invocations. Each time a tuple arrives on any of the input ports of an operator invocation, the operator fires and can produce tuples on its output streams.