Overview of Running Applications

The topics in this section describe the ways to run and stop a StreamBase EventFlow or StreamSQL application, both within and outside of StreamBase Studio.

What Running an Application Means

To run a StreamBase application means to send an application to an instance of StreamBase Server, which executes the application code you send, and opens any input and output ports specified in the application's design. You can start StreamBase Server from within StreamBase Studio, or you can run it from the command line with the sbd command.

StreamBase Server accepts applications in one of five forms, shown in the following table:

StreamBase Application Format Format type File extension Can be run from
An EventFlow application EventFlow source code .sbapp Studio or sbd
A StreamSQL application StreamSQL source code .ssql Studio or sbd
A deployment file XML configuration file that designates one or more EventFlow or StreamSQL files to run. .sbdeploy Studio or sbd
A precompiled application archive file Archive file containing precompiled and runnable binary code. .sbar sbd or in Studio automatically (not on demand)
An application bundle Archive file containing all source files, resource files, and configuration files necessary to run an application on any StreamBase Server host. .sbbundle sbd only

Applications in EventFlow or StreamSQL format are applications in source code form. In these cases, the server accepts the application code, compiles it into runtime format, then runs the compiled application.

StreamBase deployment files are XML configuration files that designate an application to run in the container named default, optionally including other application modules to run in other containers. When you run a deployment file, StreamBase actually runs the EventFlow or StreamSQL module specified in the deployment file. See Deployment File Overview.

Precompiled application archive files are discussed in Precompiled Application Archives.

Application bundle files and the bundling process are discussed in Application Bundling.

Local and Remote StreamBase Servers

From the point of view of StreamBase Studio, an instance of StreamBase Server is local or remote:

  • A local StreamBase Server runs on the same machine currently hosting StreamBase Studio.

  • A remote StreamBase Server runs on a supported UNIX machine independent of the machine running StreamBase Studio.

StreamBase Studio can launch both local and remote instances of StreamBase Server.

Running Locally

When Studio starts StreamBase Server locally, it takes the following steps:

  • Studio launches %STREAMBASE_HOME%\bin\sbd.exe, passing it the name of the top-level application file to run. On UNIX, Studio launches $STREAMBASE_HOME/bin/sbd. On 64-bit Windows, Studio launches %STREAMBASE_HOME%\bin64\sbd.exe.

  • If a server configuration file named sbd.sbconf is present at the root of the Studio project folder, Studio parses it, reconciles it with its internal typecheck environment, generates a one-time, temporary configuration file, and passes the temporary file to sbd. See How StreamBase Studio Uses Server Configuration Files for details.

Running Remotely

Before attempting to launch a Server instance remotely from Studio, set up and test SSH connectivity separately, outside of Studio. You can use the ssh utility on UNIX, or a public domain program such as PuTTY on Windows. SSH connections from Studio to a remote machine work with both password and keyboard-interactive authentication methods, but that authentication must be configured and tested before attempting to use it in Studio.

When Studio starts StreamBase Server remotely, it attempts to make an SSH connection to the specified server, using a specified user name. You can specify the server and user name globally for all remote Studio launches in Studio Preferences (WindowPreferences, then StreamBase StudioLaunching). Or you can specify the server and user name separately for each project in an application-specific launch configuration, described in Editing Launch Configurations.

Once Studio successfully logs into the remote server over an SSH connection, it copies the specified EventFlow or StreamSQL application files and its generated configuration file to the remote host, then attempts to run /usr/bin/sbd with the appropriate command line arguments.

Note

Because remote Studio launches require an SSH connection, StreamBase Studio does not support remotely launching StreamBase Server on Windows hosts. StreamBase Server does run on supported Windows platforms, when launched with sbd locally on the Windows host itself, or when launched locally from Studio running on that host. The only limitation is the inability to launch Server remotely from Studio on a Windows machine to Server on a remote Windows machine.

Run History

StreamBase Studio keeps a history of each application run, debugged, or traced. When you run, debug, or trace an application using a launch configuration, an entry for that launch configuration is placed at the top of the history list. You can quickly re-run an application by invoking its launch configuration in the Run History list.

By contrast, when you run, debug, or trace an application using Run As, Debug As, or Trace As from the Run menu, no entry is placed in the history list.

Studio shows separate Run History, Debug History, and Trace History entries in the Run menu, but Studio only preserves one history list. The same launch configuration name is placed at the top of all three history lists when run from a launch configuration.

Running Compared to Debugging

There are similarities and differences between running StreamBase applications and running them in debug mode. Running and debugging have the following features in common:

  • In Studio, you can specify and save both run configurations and debug configurations. In both cases, a saved configuration lets you re-run or re-debug with the same runtime parameters.

  • Studio provides a standard run configuration that is automatically used if you don't specify your own launch configuration. Studio uses this default configuration the first time you run, debug, or trace an application.

  • You can enqueue test data or live data in the same ways to a running application and to one being debugged.

Running and debugging have the following differences:

  • A running application stays running until you stop it, whether or not it is receiving input data. If the flow of enqueued data stops, the application continues running.

  • An application run in debug mode honors breakpoints set in your application, and runs until it reaches the first breakpoint. Thereafter, you can step through the application one instruction at a time.

Starting and Stopping Applications

The following topics provide the details of running and stopping StreamBase applications.

See Also

See Debugging Overview to learn about debugging instead of running your application.

Back to Top ^