Show TOC

Editing Bindings in Project ConfigurationLocate this document in the navigation structure

Configure input and output bindings to enable streams or windows in different projects to provide or receive data between one another.

Prerequisites

The streams or windows you want to bind have:
  • Compatible schemas
  • The same datatype for each field name
  • The same column order
  • The same number of columns

If you plan to bind to a project in another cluster, define the cluster of interest in the SAP ESP Run-Test perspective and add the cluster to the Cluster tab.

Context

Configuring bindings directly connects the output of one project to the input of another. Bindings connect projects to one another in the same way that adapters connect projects to outside data sources or destinations.

Bindings can be local, within the same cluster, or can connect projects in one cluster to projects in different clusters. You can configure bindings from either the source or the destination project—that is, you can choose to publish or to subscribe. An input stream can receive data from different sources through multiple bindings; both input and output streams can provide data to different destinations through multiple bindings.

Bindings can convey data:
  • From an output stream or window in the current project to an input stream or window in a remote project. This is called an output binding.
  • From a stream or window in a remote project to an input stream or window in the current project. This is called an input binding, and it is the default setting for a binding in the CCR file.
  • From an input stream or window in one project to an input stream or window in another project. This is called an input-to-input binding. If you configure an input-to-input binding on the input stream or window that is providing the data, you must select the Output Binding type. By default, an input stream or window assumes that any binding configured on it is an input binding. However, if you configure an input-to-input binding on the input stream or window that is receiving the data, do not set Binding Type to Output Binding. For information on setting the Output parameter in the CCR file, see the SAP Event Stream Processor: Developer Guide.

Binding information is specified in the project configuration (CCR) file so that binding references may be changed at runtime, allowing the project to be used in multiple environments.

Procedure

  1. In the CCR Project Configuration editor, select the Bindings tab.
  2. To add a binding, click Add, or to display a list of available streams/windows, click Discover.
    You can create multiple bindings on a single stream or window.
  3. To configure individual binding settings, use the Binding Details pane on the right side of the CCR Project Configuration editor.
    Field Description
    Binding Type

    Property name as it appears in the ccr file: Output

    Type: boolean

    For most bindings, you need not set this option because it defaults to the correct value.

    Set this option to Output Binding only to configure an input stream or window in this project to send data to an input stream or window in a remote project. When you select Output Binding on an input stream, you tell the binding to publish (send data out) to the remote input stream. If you do not check the Output Binding box, the binding subscribes to data from the remote input stream because bindings on input streams receive data by default.

    Note Set this option to Output Binding only when you configure a binding on an input stream or window that is providing output. If you configure the binding on the stream or window that is receiving input, do not set this to Output Binding. (It is never necessary to select Output Binding when you configure a binding on an output stream; output streams can only produce output.)
    Binding name

    Property name as it appears in the ccr file: BindingName

    Type: string

    (Optional) Apply a name to the binding.

    Local stream/window

    Property name as it appears in the ccr file: <Binding name>

    Type: string

    Enter the name of the local stream or window (for example, localStream1) or click Discover to view and select from a list of streams/windows.

    Reconnect Interval (seconds)

    Property name as it appears in the ccr file: ReconnectInterval

    Type: integer

    If the connection between the local and remote streams is lost, the project attempts to reconnect at the specified interval. To suppress all reconnection attempts, set Reconnect Interval to 0. Use positive whole number values to set the reconnection interval. Default interval is 5 seconds.

    Remote Stream properties
    Cluster

    Property name as it appears in the ccr file: Cluster

    Type: string

    Select the cluster that contains the project to bind to.
    Note You can select only clusters listed on the Cluster tab of the SAP ESP Run-Test perspective.
    Remote stream/window

    Property name as it appears in the ccr file: RemoteStream

    Type: string

    Enter the name of the remote stream or window (for example, remoteStream1) or click Discover to view and select from a list of streams/windows. If you use Discover, make sure the cluster and project you are binding to are both running. If they are not, Discover cannot find their streams or windows.

    Workspace

    Property name as it appears in the ccr file: Workspace

    Type: string

    Enter the workspace name (for example, ws1) or click Discover to view and select from a list of workspaces. If you use Discover, make sure the cluster and project you are binding to are both running. If they are not, Discover cannot find their workspaces.

    Project

    Property name as it appears in the ccr file: Project

    Type: string

    Enter the project to access (for example, project1) or click Discover to view and select from a list of projects. If you use Discover, make sure the cluster and project you are binding to are both running. If they are not, Discover cannot find the project.

    Guaranteed Delivery properties
    Enable Guaranteed Delivery

    Property name as it appears in the ccr file: EnableGD

    Type: boolean

    Enable GD for a binding to guarantee that if the connection between the binding and the remote stream is severed (by shutting down the project that contains the local stream, for example), all transactions that are supposed to be transmitted through the binding during its downtime are processed once the connection is re-established.

    Note When you enable GD on a binding, make sure:
    • The binding’s source data window is running in GD mode or GD mode with checkpoint.
    • The binding’s target data window is backed by a log store.
    Enable Guaranteed Delivery Cache

    Property name as it appears in the ccr file: EnableGDCache

    Type: string

    Enable this binding to cache data. When the source data window is in GD mode with checkpoint, the binding receives checkpoint messages that indicate the last row of data that has been checkpointed by the window. If the binding is enabled for GD caching, it caches incoming transactions until it receives a checkpoint message from the source window. The checkpoint message triggers the binding to send all cached transactions up to the one indicated in the checkpoint message, to the target window. The binding issues a GD commit to the source data window after releasing cached data.

    If GD caching is disabled, SAP ESP ignores checkpoint messages and the binding forwards data based on the Guaranteed Delivery Batch Size. ESP ignores Enable Guaranteed Delivery Cache if the source data window is not in GD mode with checkpoint.

    Guaranteed Delivery Name

    Property name as it appears in the ccr file: GDName

    Type: string

    Supply a unique name for the GD session (subscription) this binding establishes.

    Guaranteed Delivery Batch Size

    Property name as it appears in the ccr file: GDBatchSize

    Type: integer

    Set this property to customize batch size. The value you enter has to be a positive integer greater than 0. The default value is 1.

    Advanced Properties
    Droppable

    Property name as it appears in the ccr file: Droppable

    Type: boolean

    (For input bindings only) If the reader cannot keep up, the connection to the bound stream/window is dropped and attempts to reconnect. The default value is false.

    Keep Base

    Property name as it appears in the ccr file: KeepBase

    Type: boolean

    (For input bindings only) Set this property to true to receive the initial contents of the stream, as well as the updates. The default value is true.

    Lossy

    Property name as it appears in the ccr file: Lossy

    Type: boolean

    (For input bindings only) If set to true, the binding is lossy and if the binding cannot keep up (meaning when the first project cannot send information to the second project), some data may be lost. If set to false, the binding is not lossy and cannot lose data if it cannot keep up.

    Setting this property to false may have negative performance impact. The default value is false.

    Mirror

    Property name as it appears in the ccr file: Mirror

    Type: boolean

    (For input bindings only) If set to true, the input binding stream/window keeps the same data as the remote stream/window to which it is bound and clears the data when the remote stream data is cleared. If set to false, the local binding stream/window does not check the status of the remote stream/window data and always keeps the local input binding stream/window data. The default value is false.

    Only Base

    Property name as it appears in the ccr file: OnlyBase

    Type: boolean

    (For input and output bindings) Set to true to receive only the initial contents of the stream. The default value is false.

    Base Drain Timeout

    Property name as it appears in the ccr file: BaseDrainTimeout

    Type: integer

    (For input bindings only) The maximum time, in milliseconds, to receive all base data for the connected stream before the connected remote project forces a disconnection. The default value is 0.

    Pulse

    Property name as it appears in the ccr file: Pulse

    Type: integer

    (For input bindings only) Specify a period, in seconds, in which the remote stream/window pulses to check for updates. Use a non-zero value to enable this property. The default value is 0.

    Queue Size

    Property name as it appears in the ccr file: QueueSize

    Type: integer

    (For input bindings only) The maximum number of records to queue up before the binding connection is dropped. The default value is 0.

    Query

    Property name as it appears in the ccr file: Query

    Type: string

    (For input bindings only) A string which specifies a valid SELECT SQL statement.

  4. (Optional) To remove a binding, select it and click Remove.