Contents
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.
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.
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.
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.
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 (Editing Launch Configurations.
→ , then → ). Or you can specify the server and user name separately for each project in an application-specific launch configuration, described inOnce 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.
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.
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.
The following topics provide the details of running and stopping StreamBase applications.
-
See Running Applications in Studio to learn about running and stopping an application in StreamBase Studio, using the default run configuration.
-
See Editing Launch Configurations to learn about creating and saving custom run configurations for your StreamBase applications.
-
See Running Applications from the Command Line to learn about running and stopping applications at the Windows or UNIX command prompt.
-
See Running Multiple StreamBase Applications to learn about running more than one StreamBase application at the same time.
See Debugging Overview to learn about debugging instead of running your application.