Contents
This topic lists the significant changes in the StreamBase 5.0.x release series.
StreamBase 5.0.7 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 5.0.6 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 5.0.5 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 5.0.4 was a maintenance release that fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
The StreamBase 5.0.3 release included the following new features:
-
Support was added for a new embedded input adapter for the ActivFeed data feed service from ACTIV Financial Systems, Inc. For further information on configuring and using this adapter, see ActivFeed Input Adapter. The adapter includes a sample, which is described in ActivFeed Input Adapter Sample.
-
Support was added for a new embedded adapter that provides access to the InfoReach TMS Trade Management System. For further information on this adapter, see InfoReach TMS Adapter. The adapter includes a sample, which is described in InfoReach TMS Adapter Sample.
-
The StreamBase Wombat MAMA Input Adapter was extended with the following features. For the full implementation details on these features, see Wombat MAMA Input Adapter in the Adapters Guide, which was updated for the 5.0.3 release.
-
An optional Dictionary Source property was added, to specify the name of the dictionary source. This feature is only meaningful if the Use Dictionary property is set.
-
An optional Dictionary Transport property was added, to specify the name of the transport used for dictionary access. This feature is only meaningful if the Use Dictionary property is set.
-
A new optional output stream is provided that emits a tuple when subscription timeouts occur.
-
A mechanism was added to support a flattened representation of complex types in an incoming Wombat schema, which allows limited access to MAMA ARRAY and VECTOR data types. For details, see the Compound Type Mappings section of Wombat MAMA Input Adapter.
-
These adapters are not part of the base StreamBase kit, and have separate installation kits. Contact your StreamBase Systems representative to obtain the installation kit any of these StreamBase adapters.
StreamBase 5.0.3 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.0.2 release included the following new features and updates:
- New Features in the Reuters Subscribing Input Adapter
-
The StreamBase Reuters Subscribing Input Adapter was enhanced with the following features:
-
Snapshot Support. The Reuters Subscribing Input Adapter now provides a mechanism to request a snapshot for an instrument without receiving a subsequent stream of update messages. The dynamic subscription input stream now expects a
Snapshotboolean field, in addition to the existingSubscribeboolean field. When requesting a dynamic subscription, ifSnapshotis true andSubscribeis false, a single image (snapshot) is returned for the instrument. The adapter’s previous behavior (image followed by a stream of updates) is retained ifSubscribeis true, regardless of the value ofSnapshot. TheSnapshotandSubscribefields must both be false to unsubscribe from an existing dynamic or static subscription. -
Market data item events. Prior to StreamBase version 5.0.2, the Reuters Subscribing Input Adapter’s event stream conveyed service and connection up/down events to the StreamBase application. In version 5.0.2, the event stream conveys market data item events as well (such as item close or rename events). Several item-specific fields have been added to the event stream to hold the item and subject name and, in the case of rename events, the new item and subject name.
-
Active subscription query output. The Reuters Subscribing Input Adapter contains an input and output port pair that allow StreamBase applications to query the set of active subscriptions. The schema of the
ActiveSubscriptionsoutput port has been changed to reflect the addressing mode (4-part subject or service/item pair) used to perform the subscription. Thus, this output port now has a schema similar to that of the dynamic subscription input port.
-
- New Comstock Input Adapter
-
This release introduces a new embedded input adapter for data feeds from the Comstock service. This adapter is not part of the base StreamBase kit, and installs separately. Contact your StreamBase Systems representative to obtain the StreamBase Comstock Input Adapter installation kit.
- Client API Enhancements
-
In the StreamBase client API:
-
The class
StreamBaseURIwas enhanced in two ways. When using a constructor that takes a Map key-value pair, you can now use "username" as well as "user" as a key name; and all constructors now check the validity of key names. To ensure you use valid key names, use the constants defined in theStreamBaseURIclass, such as USER_PARAM and PASSWORD_PARAM. -
Also in the StreamBaseURI class, the KEYSTOR_PASS_PARAM was renamed to KEYSTORE_PASS_PARAM to correct a typo. To maintain compatibility, both spellings of this constant are supported for existing code; use the new name in new code.
-
- Expression Language Enhancements
-
The StreamBase expression language was enhanced to include the
to_milliseconds()function.
StreamBase 5.0.2 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.0.1 included the following new feature:
-
A new tag for the StreamBase External Adapter for Microsoft Excel: the LOCALFILTER tag performs client-side routing of tuples to spreadsheet cells and should be used instead of the FILTER tag when no real server-side filtering is being done. For more information, see Excel External Adapter.
StreamBase 5.0.1 was also a maintenance release that fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
- Support added for X.509, SSL, LDAP
-
You can implement more robust authentication for client applications using new StreamBase support for X.509 certificates, SSL, and LDAP servers. A new server, sbproxy, was added to support these features. For more information, see Security Options.
- Use legacy StreamBase clients with StreamBase 5.0 server
-
The new proxy server, in addition to supporting the new security features, also supports backward compatibility for StreamBase clients. The proxy server provides a way to run existing StreamBase 3.x clients with a 5.x StreamBase Server. For more information, see Using the Proxy Server to Control Client Access and sbproxy.
- Shared Query Tables
-
Query tables can now be accessed across application modules, using the mechanism of module references. See Working with Shared Query Tables for more information.
- Pattern matching
-
You can now detect events across one or more input streams by using StreamBase pattern-matching queries. A new Pattern operator is available for EventFlows. For StreamSQL applications, the FROM PATTERN clause has been added in the SELECT statement. For more information, see Detecting Patterns.
- Output predicates
-
Output streams now accept a predicate that can restrict output tuples in two ways:
-
Filtering on an expression, such as the value of a field
-
Limiting output to specified subscriber clients
For more information, see Defining Output Streams.
-
- Data types added
-
- blob
-
Can be used to represent large data objects in tuples, including video or other binary files.
- long
-
An 8-byte data type for integer numbers that are too large to fit in the four-byte int data type.
Data types are documented in StreamBase Data Types.
- Functions added
-
The following functions were added to the list of built-in functions you can use in building expressions for StreamBase operators: blob(), ceil(), cosh(), expm1(), floor(), ln(), log1p(), long(), random(), regexmatch(), round(), securerandom(), sign(), sinh(), systemproperty(), tanh(), to_degrees(), and to_radians().
Functions are documented in StreamBase Expression Language and Functions.
- Batch Query of JDBC data sources
-
You can now use the Query operator to write to a JDBC data source in batch mode. For example, you might might want to commit batches of insert or update statements to the database, instead of every time a tuple arrives at the Query operator. To use this option, edit your
sbd.sbconffile, specifying the number of statements using thejdbc-batch-sizeparameter in thedata-sourcesection. For more information, see the StreamBase Server Configuration XML reference. - Chronicle databases supported
-
An optional, high-capacity event-store, StreamBase Chronicle, can be used to provide persistent data storage in association with streaming applications. Supported data stores in this release are DB2, Sybase, and Vertica databases. For EventFlow applications, a new data construct, the Chronicle Connection, is provided. For StreamSQL applications, the APPLY CHRONICLE statement has been added. For more information, see Using Chronicle Data Sources.
- Support for .NET clients enhanced
-
The StreamBase .NET API was enhanced to no longer require a Java runtime as an intermediary. StreamBase .NET clients now require the .NET Framework 2.0 or later, and must be developed with Microsoft Visual Studio 2005 or later. See Creating .NET Clients.
- jsbmonitor
-
The jsbmonitor command was replaced with a preview release of the sbmanager command. See Using StreamBase Manager.
- Documentation Changes
-
In previous releases, the HTML version of the StreamBase documentation required JavaScript to be enabled in your browser to support its page to page navigation. The 5.0 version of the documentation lifts this restriction. The 5.0 documentation was reorganized and given a simpler, more elegant page design that does not force a standard page width.
- 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.
- New workspace directory required
-
Studio in 5.0 uses a new format for its Eclipse workspace that is incompatible with the workspace from previous releases. When Studio 5.0 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.0 issues a warning dialog if it detects an older format workspace.
- Migrating projects from StreamBase 3.x
-
Despite the new format workspace, your work in previous releases of StreamBase Studio is not lost. It remains in the workspace directory for the previous release, and Studio 5.0 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.i
- 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. In Studio 5.0, project directories are standard Eclipse projects, and are free-form. You can organize your project directories as you prefer.
- 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 in order to use the toolkit's wizard to generate Java stub code for custom extensions to StreamBase. In Studio 5.0, 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. The StreamBase Java code generation wizard is integrated into Studio 5.0, and is no longer a separate download kit.
- 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 or Subversive plug-in to add Subversion version control to your StreamBase projects.
- Views removed or replaced
-
Certain views in the Test/Debug perspective were removed or replaced with more complete functionality offered by the Eclipse environment or 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 → menu command) were removed. Instead, use the StreamBase Monitor (sbmonitor command) as described in Using the Performance Monitors. StreamBase 5.0 also includes a preview release of the GUI alternative, StreamBase Manager, as described in Using StreamBase Manager.
-
- Studio plug-ins download site
-
For existing customers and qualified evaluators, StreamBase Systems provides access to a private URL that you can use to install the StreamBase Studio plug-ins into an existing installation of Eclipse. Contact StreamBase Systems Customer Support for further information. Use the instructions to take advantage of this resource.
- Local or remote server option
-
In previous releases, on initial startup, StreamBase Studio prompted you to choose a local or remote connection to an instance of the StreamBase Server. In Studio 5.0, 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.
- 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. 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.
- Palette changes
-
The palette was reorganized for Studio 5.0:
-
The Adapters palette 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 palette.
-
The References palette was replaced with new Project Adapters and Project Operators palettes. These palettes 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 palettes are project-specific, and any icons they contain only appear for the currently open EventFlow application.
-
There is no longer a Java operator in the Operators palette. Java operators now appear in the Project Operators palette, and only when a JAR file has been added to the build path, as above.
-
The Module component was moved from the former References palette to the Operators palette.
-
- Groups in EventFlows
-
You can now 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
-
You can now 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.
- 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 has been enhanced. 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.
- Compare tool for sbapp files
-
StreamBase Studio extends the Eclipse Compare function, providing support for comparing the XML structures of
sbappEventFlow application files. See Compare Editor for details. - Typecheck error markers
-
Application icons for
ssqlandsbappfiles displayed in StreamBase Studio now include problem markers if typecheck errors are found in the files.
- Multiple StreamBase Installations on Windows
-
StreamBase 5.0 supports the installation of one StreamBase 3.x installation plus any number of 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 automatically sets the
STREAMBASE_HOMEandPATHenvironment variables. Instead, use → → → to open a Windows command prompt with pre-set environment. You can also use the new--setenvor--setsysenvoptions of the sb-config command to set the environment permanently in the registry. Use caution when using these options 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:
-
StreamBase installation directory. Default:
C:\Program Files\StreamBase Systems\StreamBase.n.m -
StreamBase Studio workspace. Default:
C:\Documents and Settings\username\ My Documents\StreamBase Studion.mWorkspace -
StreamBase Studio configuration directories. Default:
C:\Documents and Settings\username\ Application Data\StreamBase\StreamBase Studion.mConfiguration
-
- RSS Reader Input Adapter added
-
The RSS Reader Input Adapter is an embedded adapter that reads RSS data from any number of feeds off a socket. Using the schema of RSS, the adapter interprets this data and displays the relevant information from the specified feeds.
- Adapters migrated from StreamBase 3.7
-
New adapters added to recent releases of StreamBase 3.7 are available in StreamBase 5.0. This includes the Opentick, Adobe Flex, and Wombat MAMA adapters.
- JVM settings
-
The default settings in
sbd.sbconffor thejvm-argsparameter (used by sbd to set maximum and minimum memory in the JVM) have been increased fromvalue="-Xms64m -Xmx256m"tovalue="-Xms128M, -Xmx512M".The
-[XX]MaxPermGenSizeSun JVM parameter is now used by the sbd server. - JDBC data source connection-lost behavior
-
Support was added in the JDBC operator to control behavior when a JDBC connection between the StreamBase Server and the database server is lost. Three new data-source configuration parameters implement this control; in their absence, the default behavior for a connection loss is for the StreamBase Server to display an error message and exit with error status. The new jdbc-reconnect-* parameters are documented in the StreamBase Server Configuration XML reference.
- Custom function aliasing
-
You can now specify short names for custom Java functions or public static functions, so that you can call them like any other function instead of using calljava(). See the custom-functions section of the sbd configuration file documentation, StreamBase Server Configuration XML. Also, the StreamBase Custom Java Functions wizard has an option to create aliases for your new functions.
- Java API Changes
-
StreamBase 5.0 includes a number of changes to the Java API for building extensions to StreamBase. See the migration guide at API Changes in 5.0.
- C++ API Changes
-
For StreamBase 5.0, the C++ API underwent an overhaul to make it easier to use and to ensure safety while doing so. The changes are described in the migration guide at C++ API Changes in StreamBase 5.0.
- .NET API Changes
-
The StreamBase .NET API was significantly upgraded, possibly requiring changes to your existing code for .NET client applications. See Migrating .NET Clients for instructions.
