Differences Between StreamBase 3.x and 5.x

This topic summarizes the changes in StreamBase Studio between release 3.x and 5.x For detailed information on changes to a particular feature or task, consult the StreamBase Help topic for that feature after.

Changes in Running StreamBase Applications

Local or Remote Server Now Chosen at Runtime

In previous releases, StreamBase Studio prompted you on initial startup to choose a local or remote connection to an instance of StreamBase Server. In Studio 5.x, this choice is not forced at startup. When you start an application to run or debug it, at that time you choose to run against a local or remote StreamBase Server. You can alternate between local and remote servers at will without restarting Studio.

Icons Have Changed for Running and Debugging Applications

Update for StreamBase 6.x. The toolbar icon setup described here is correct for StreamBase 5.x. However, the Run and Debug icons were simplified again for StreamBase 6.x and later.

In release 3.x, Studio presented two toolbar icons to launch StreamBase applications. One icon was for running the application normally (), while the other was for running in debug mode (). Because release 3.x required you to specify the StreamBase Server run target at Studio start time, Studio 3.x did not offer a local or remote option for its Run and Debug buttons, nor did it offer a way to change between local and remote Servers.

In release 5.x, the buttons shown in the previous paragraph are now part of the underlying Eclipse framework, and do not have the same meanings as in release 3.x. In release 5.x, the same buttons now open a dialog where you edit Launch Configurations, which are described in the next section.

To retain the simplicity of the single-click Run and Debug buttons from release 3.x, Studio 5.x provides two new buttons for the same purposes. Thus, the release 5.x equivalent of 3.x's Run button is the Run StreamBase Application (Default Launch) button (). The release 5.x equivalent to 3.x's Debug button is the Debug StreamBase Application (Default Launch) button ().

Locate both new buttons in the eight-button StreamBase toolbar group . This toolbar group is greyed out unless an EventFlow or StreamSQL editor view is currently active.

Launch Configurations

Because StreamBase Studio 5.x is implemented as a set of Eclipse plug-ins, the running and debugging of StreamBase applications can take advantage of Eclipse Launch Configurations. A Launch Configuration is a set of runtime parameters that define how a particular run or debug session is to be run. You can save each set of runtime parameters as a named set, which allows you to re-run with the same parameters.

In Studio 5.x, selecting either the Run button () or Debug button () opens a dialog where you can specify a set of parameters with which to run or debug your StreamBase application. See Editing Launch Configurations to learn how to use this dialog. See Running Applications and Running Applications in Studio for the details of saving and using Launch Configurations for your StreamBase applications.

The release 5.x Run/Debug StreamBase Application buttons described in the previous section also use Launch Configurations. These buttons use default configurations that are designed to run your applications quickly with default settings.

StreamBase Studio Project Folder Migration

Free-form Project Directory Structure

Studio project directories in previous releases required a strict directory structure, with certain file types required to be in certain directories. For example, the directories Application Diagrams, Feed Simulations,and StreamSQL Applications were formerly required, in order to contain different types of resources. These directories are no longer created and are no longer required.

In Studio 5.x, project directories are standard Eclipse projects, and are free-form. You can organize your project directories as you prefer.

New workspace directory required

Studio in 5.x uses a new format for its Eclipse workspace that is incompatible with the workspace from previous releases. When Studio 5.x first starts and prompts for the location of its workspace, use the provided default location, or specify a new, empty directory. Do NOT specify the location of any previous StreamBase Studio workspace. Studio 5.x issues a warning dialog if it detects an older format workspace.

StreamBase Project Migration Required

Because of the project structure changes, workspaces and projects created in previous releases will not work in release 5.0 and later.

However, your work in previous releases of StreamBase Studio is not lost. It remains in the workspace directory for the previous release. Studio 5.x provides a migration wizard to copy your projects from a StreamBase 3.x workspace to the new, empty workspace. See Migrating Studio 3.x Projects for details.

Installation and Environment Variable Changes

Multiple StreamBase Installations on Windows

Previously, only one release of StreamBase could be installed on a Windows machine, and before upgrading, you had to uninstall the old release. StreamBase 5.x supports the installation of one StreamBase 3.x installation plus one or more StreamBase 5.x installations on the same Windows machine. See Coexistence of Multiple StreamBase Installations for important details and limitations.

StreamBase Command Prompt on Windows

As part of the support for multiple StreamBase installations, the StreamBase installer no longer sets the STREAMBASE_HOME and PATH environment variables in the global Windows environment. Instead, use Start(All) ProgramsStreamBase n.mStreamBase Command Prompt to open a Windows command prompt with pre-set environment. You can also use the new --setenv or --setsysenv options of the sb-config command to set the environment permanently in the registry. Use these options with caution if you have multiple StreamBase installations. See StreamBase Command Prompt for important details.

New Default Installation Directories

As part of the support for multiple StreamBase installations, the default locations for all StreamBase-related directories and registry keys are now decorated with the current version number, to avoid collision with previous releases. Directories affected include the following:

  • StreamBase installation directory. The default location is:

    C:\Program Files\StreamBase Systems\StreamBase.n.m
    
  • StreamBase Studio workspace. The default location is:

    C:\Documents and Settings\username\
        My Documents\StreamBase Studio n.m Workspace
    
  • StreamBase Studio configuration directories. The default location is:

    C:\Documents and Settings\username\
        Application Data\StreamBase\StreamBase Studio n.m Configuration
    

StreamBase Studio and Eclipse Plug-ins

StreamBase Studio Now Implemented as Eclipse Plug-ins

In previous releases, StreamBase Studio was implemented as a custom application built on the foundation of the Eclipse Rich Client Platform. Starting with release 5.0, StreamBase Studio is implemented as a set of standard Eclipse plug-ins installed into a base of Eclipse 3.2.2. The plug-in architecture means StreamBase Studio is now more tightly integrated with Eclipse, and takes advantage of Eclipse's built-in Java development tools and open architecture.

Certain Studio 3.x Features Replaced by Eclipse Equivalents

Certain StreamBase-specific features in Studio 3.x were replaced with the equivalent features in Eclipse. For example:

  • The StreamBase-specific wizards for creating projects and applications no longer exist, and you now create StreamBase resources using Eclipse wizards. For example, the New StreamBase Project wizard is available both within the Eclipse Project wizard (click NewProject) and directly from the New menu (click NewStreamBase Project). The same is true of the other wizards to create StreamBase applications and other resources. The toolbar has been updated to include the New resource actions.

  • Most operations that used StreamBase import and export wizards now use the Eclipse Import and Export Wizards:

    Previous operation Current operation
    Import project and resources FileImport, use Eclipse Import wizard
    Import schemas FileImport, choose StreamBaseSaved Schemas in Eclipse Import wizard
    Import custom operators and JARs FileImport, choose GeneralFile System. (If you want to develop custom StreamBase extensions, optionally add the StreamBase Client API to the Java Build Path.)
    Export StreamBase resources FileExport, use Eclipse Export wizard
    Export project as zip FileExport, choose GeneralArchive File
    Export StreamBase schemas FileExport, choose StreamBaseSaved Schemas in Eclipse Export wizard
StreamBase Studio Help Integrated with Eclipse Help

StreamBase Help is merged with help for other Eclipse components. As a result, look for Help for some features in the Workbench User Guide or Java Development User Guide, not in StreamBase help. This includes help on workspaces and an overview of Java development. In general, StreamBase Help only covers features that are unique to StreamBase.

By default, the Search function in Eclipse Help is global in scope: it searches all the help topics in the help system. To narrow the Search criteria to include only StreamBase Help, use the Search scope control.

Use Third-party Eclipse Plug-ins, Including Version Control

Now that StreamBase Studio is based on Eclipse 3.2.2, you can use the Eclipse update mechanism to install Eclipse plug-ins from other vendors into StreamBase Studio. This allows you to install the plug-in for a version control system, which would effectively add version control support to StreamBase Studio. For example, you could install the Subclipse plug-in to add Subversion version control to your StreamBase projects.

Compare Tool for EventFlow Files

Studio 5.x extends the Eclipse Compare function, providing support for comparing the XML structures of EventFlow application files (.sbapp files). See Compare Editor for details.

StreamBase Studio: View and Perspective Changes

StreamBase Studio Name Changes
  • The Project view was replaced by the Eclipse Package Explorer.

  • The Application Diagram Editor is now called the EventFlow Editor.

  • Application Diagrams are now called EventFlow applications. (By old or new name, it is still the .sbapp file format being edited.)

  • The Properties view is now called StreamBase Properties.

  • The names of perspectives are now prepended with "StreamBase" to distinguish them from other Eclipse perspectives. Thus, look for the following names when changing perspectives in the perspective chooser: StreamBase Authoring, StreamBase Test/Debug, and StreamBase Demo.

Views Removed or Replaced

Certain views in the SB Test/Debug perspective were removed or replaced with more complete functionality offered by the Eclipse environment or by separate StreamBase tools:

  • The Server Diagnostics view was removed. Messages from a locally running StreamBase Server are now displayed in the Eclipse Console view.

  • The Terminal View was removed. Use a shell terminal window (UNIX) or the StreamBase Command Prompt for command-line interaction, and to run StreamBase command-line utilities.

  • The StreamBase Monitor view (and the WindowLaunch Monitor menu command) were removed. Instead, use the StreamBase Monitor (sbmonitor command) as described in Using the Performance Monitors. StreamBase 5.x also includes a GUI alternative, StreamBase Manager, as described in Using StreamBase Manager.

Feed Simulations View Per Project

In previous releases, the Feed Simulations view showed all feed simulation files (.sbfs files) in the workspace. In Studio 5.x, the Feed Simulations view displays all feed simulation files in the running application's project, plus those in all referenced StreamBase projects.

Recordings View

In previous releases, the Recordings view displayed all recordings in the running application's project folder. In Studio 5.x, the Recordings view displays recordings in the running application's project, plus those in all referenced StreamBase projects. However, in order to run, the recording file name must still match the application file name, and the recording file plus any needed files (such as CSV or other data files) must be in the same directory.

StreamBase Demos perspective

The StreamBase Demos perspective now displays the Eclipse menu bar and perspective bar (they were previously hidden).

StreamBase Support Console

Studio 5.x includes the StreamBase Support Console, which is an option in the Console View. The Support Console shows error and log messages from StreamBase Studio, but not from any instance of StreamBase Server launched from Studio. Use the Support Console in conjunction with StreamBase Systems Technical Support.

StreamBase Studio: Palette Changes

Adapters Palette Changed

The Adapters palette drawer was renamed to Global Adapters. It now contains icons for all available adapters instead of the drop-down lists used in previous releases. Icons for adapters added with separate installation kits are automatically added to this drawer.

References Palette Renamed

The References palette drawer was renamed to the Modules drawer. When module references are used in an application, module components appear in the Modules drawer.

New Project Adapters and Project Operators Drawers

New Project Adapters and Project Operators drawers were added. These drawers are initially empty, and only become populated when you add the JAR file for a custom operator or adapter to the Java Build Path of a project's properties. These new drawers are project-specific, and any icons they contain only appear for the currently open EventFlow application.

Help Icon In Project Adapters and Project Operators Drawers

The new Project Adapters and Project Operators drawers are empty when you first open Studio 5.x. As described in the previous item, they are populated only when a JAR file is added to the Java Build Path of an individual StreamBase project. To explain the empty drawers, these palette drawers are initially populated with a What Is This? icon. When you drag this icon to an EventFlow canvas, a help message explains how to populate and use these palette drawers.

Java Operator Moved

There is no longer a Java operator in the Operators palette drawer. Java operators now appear in the Project Operators drawer, and only when a JAR file has been added to the Java Build Path for the current StreamBase project, as described in the previous item.

StreamBase Studio: Usability Changes

New Project References Feature

Previously, StreamBase Studio required all project resources to be in the same project folder. This restriction no longer applies. You can now configure one project to reference other StreamBase projects, and you can then share resources across referenced projects. You can set up references when you create a project, or later, by editing its Project properties page.

Module Reference Changes

Module references can now be created by dragging any EventFlow (.sbapp) or StreamSQL (.ssql) file from the Package Explorer onto the EventFlow Editor canvas. Module references are now resolved in a certain search path order, as described in Resource Search Path Order of Precedence.

StreamBase Preferences Now Part of Eclipse Preferences

StreamBase Preferences are now accessed as the StreamBase Studio category in Eclipse Preferences. Some preference options have been added, changed, or removed. See StreamBase Studio Preferences for details.

Typecheck Error Markers

Application icons for EventFlow and StreamSQL applications now display problem markers if typecheck errors are found in the file.

New Keyboard Shortcuts for EventFlow Mouse Actions

StreamBase Studio now provides keyboard equivalents for most mouse actions. For example, with an EventFlow Editor open and selected, you can now add a new Filter operator to the canvas by pressing the O key (letter Oh, not zero), followed by the F key (both without pressing the Shift key). To see the complete list of EventFlow keyboard shortcuts, start with an EventFlow Editor open and its tab selected, then press Ctrl-Shift-L. Press Esc to close the shortcut list. See Keyboard Shortcuts for further information.

Groups in EventFlows

In Studio 5.x, you can group collections of components on your EventFlow canvas into a visually defined group. Groups are a visual tool that can help you edit more efficiently, but they do not affect the functionality of your application. For more information, see Groups.

Notes in EventFlows

In Studio 5.x, you can add Notes to your EventFlow canvas to add documentation for each component. Notes can attach to one component, to several selected components, to a group, or to the canvas itself. For more information, see Notes and Using Notes.

Open StreamBase Resource Command

A new command, Open StreamBase Resource, was added to the Navigate menu. This feature allows you to look up and open StreamBase-specific resources anywhere in your workspace, across all current projects in the workspace. The StreamBase resources included in the list are all EventFlow, StreamSQL, and Feed Simulation files in the workspace (that is, all .sbapp, .ssql, and .sbfs files). The Open a StreamBase Resource button () in the toolbar is an alias for this menu command.

Regular Expression Search in Function Help

In the Properties View for any operator, there is a Help subwindow on the right side. In the Chooser sub-tab of the Functions tab, the search function was enhanced for Studio 5.x. In previous releases, you entered a string to match the beginning of a function name. Now you can use a regular expression to better focus your search for a function. For example, the search string *int* now matches five function names: intercept(), compound_interest(), interval(), stripinterval(), and int(). The results field now shows only trees with matching functions. Use the X button on the right of the search field to clear the search field.

Changes in Developing Custom Java Extensions

Java Support Now Integrated

In StreamBase 3.x, you had to download and install StreamBase's Java Toolkit for Eclipse into an independent Eclipse installation. You then used the toolkit's wizards to generate Java stub code for your custom extensions to StreamBase.

In Studio 5.x, Java support is fully integrated with the underlying Eclipse release. You can create, edit, compile, and run Java files right in your StreamBase project directory. You can also keep your custom Java extensions in a separate Studio 5.x project and then add a Project Reference from your StreamBase projects.

There is no longer a need for a separate download kit. It is no longer necessary to compile and package your StreamBase Java extensions into JAR files for importation into your Studio projects.(However, when you deploy your custom code for use on a remote StreamBase Server host, it still needs to be in JAR format.)

Java Code Automatically Built

Your Java code is now automatically compiled as you work, as long as any other required resources are visible to your project.

StreamBase Wizards Generate Java Code

The StreamBase Java code generation wizards that were formerly part of the Java Toolkit for Eclipse are now integrated into StreamBase Studio 5.x. There are wizards for creating StreamBase clients, embedded adapters, operators, and functions, all available in the FileNewmenu. The wizards generate working, starting-point Java code, with markup to indicate where to add your custom functionality. Using these wizards is the recommended way of extending StreamBase applications using the StreamBase Java API.

Project-specific Java Build Path

The Java Build Path is a list of paths visible to the Java compiler when a project is built. The default build path for a StreamBase project includes the JDK that is running StreamBase Studio, plus the project's java-src directory. The default build path is also set to place generated code into the project's java-bin directory.

When using the StreamBase Java API to develop custom Java code, you must add the StreamBase Client API to the Java Build Path for your project. You can do this at project creation time, by marking a checkbox in the StreamBase New Project wizard. For existing StreamBase projects, right-click the project's name in the Package Explorer and select Build PathAdd Libraries. Select StreamBase Client API, then click Next, then OK.

Other StreamBase Changes

In addition to the StreamBase Studio changes listed above, StreamBase 5.x includes the following differences in other StreamBase components: