IBM Streams 4.3.0

Compiling stream processing applications

The IBM® Streams Processing Language (SPL) Compiler is called sc and is included with the IBM Streams installation package. You compile SPL to create files to run on your IBM Streams instance.

A stream processing application corresponds to a main composite in an SPL toolkit. A composite operator that is defined in an .spl file is called a potential main composite if and only if it does not have any input or output ports and mandatory parameters. A stream processing application has one such potential main composite that is designated as its main composite. To compile a stream processing application, its main composite name must be passed to the sc command.

In order for the sc command to generate an application bundle file, it needs to have access to the toolkit that contains the application's designated main composite, and other toolkits that are listed as dependencies of this toolkit. An application gets its version and dependency information from the toolkit that defines its main composite.

The result of a main composite compilation is a set of artifacts that can be run on an IBM Streams instance. These artifacts are encapsulated in an application bundle file. An application bundle file is a file format that is specific to IBM Streams.

The IBM Streams instance loads application libraries called processing elements (PEs). It serves as an execution container for one or more SPL operator instances. PEs correspond to partitions in SPL. The application bundle file contains all the toolkit artifacts necessary to support the execution of PEs. It is used for submitting instances of SPL applications to the IBM Streams instance. These application instances are called jobs. When you submit a job, IBM Streams defines how your application is divided into processing elements (PEs) based on the information provided at compile time and the runtime resources available.