In general, a StreamBase application has three parts:
-
It ingests one or more incoming streams of data in components called Input Streams.
-
It processes and analyzes the incoming data, tuple by tuple, in thousands of possible ways.
-
It emits tuple data in components called Output Streams.
This structure can be summarized as:
-
Input stream to internal processing to output stream.
This is the simplest possible StreamBase application format, but it presumes that the incoming data streams are already in the StreamBase tuple format.
More likely is that the incoming data stream is in its own format and needs to be adapted to use the tuple format. StreamBase components called adapters are responsible for this transformation.
-
Incoming data streams are transformed by input adapters that transform a public or proprietary streaming data format to the StreamBase tuple format.
-
Outgoing data streams transform the StreamBase tuple format to another appropriate data format.
The addition of adapters allows for three more structures for StreamBase applications:
-
Input adapter to internal processing to output stream.
-
Input streams to internal processing to output adapter.
-
Input adapter to internal processing to output adapter.
Of course, StreamBase applications are not restricted to a single Input Stream or input adapter. One application can ingest several streams from different sources, including from JDBC databases. Likewise, an application can emit data in several Output Streams or output adapters, or can write to one or more JDBC databases.