Upgrading Legacy Feed Simulations

Introduction

An enhanced version of the StreamBase Feed Simulator was introduced in StreamBase 3.7. The format of the XML-based feed simulation .sbfs configuration file changed, and the StreamBase Studio user interfaces for the Feed Simulation Editor and the Feed Simulations View were enhanced. Tools are provided in StreamBase 3.7 and later releases to upgrade any legacy feed simulations created and saved with StreamBase 3.5 and earlier. This topic explains your upgrade options.

What Changed?

Starting in StreamBase 3.7:

  • Each .sbfs feed simulation is no longer tied to a particular StreamBase application. As long as the Input Stream names are the same, you can use a feed simulation with any StreamBase application.

  • There are flexible data matching rules at the Input Stream:

    • Extra fields can be discarded

    • Missing fields can be ignored (null)

  • In StreamBase Studio, feed simulations now support sending data to multiple Input Streams. Previously, this feature was only possible from the command line.

  • New feed simulations are functionally equivalent whether you run them within StreamBase Studio or from a command line with sbfeedsim.

  • The Feed Simulation Editor provides a graphical view and a text-based source view. You can toggle between the two views by clicking new tabs at the bottom of the editor's window.

  • A number of usability enhancements have been applied to the Feed Simulation Editor, where you define and modify feed simulations, and its companion Feed Simulations View, where you run existing feed simulations.

  • Upgrading from a legacy .sbfs file to the new format can be done automatically (by opening and then saving the file in StreamBase Studio), or by using the sbfeedsim --convert command.

Upgrade Options

If you created feed simulations with pre-3.7 releases of StreamBase, you can:

  • Upgrade the feed simulations using tools in StreamBase 3.7 and later releases.

  • Or continue to use the legacy feed simulations with the sbfeedsim-old command. We recognize that upgrading to the new feed simulations may not be possible for all users. In particular, new feed simulations do not support the group-by or switch elements that were available in prior releases. Thus for compatibility with legacy feed simulations, we provide the sbfeedsim-old command. It can run legacy .sbfs configurations that contain elements no longer supported by the new StreamBase Feed Simulator.

Upgrade Steps

After installing StreamBase 3.7 or later, open StreamBase Studio. From the Package Explorer, double-click on your legacy .sbfs file. The IDE will display a prompt:

Click OK on the warning dialog. StreamBase Studio displays the new Feed Simulation Editor, by default in its graphical view. Notice that you cannot yet toggle from the Feed Simulation Editor's graphical view to the source view (see lower tabs in the sample screen below). The file has not been saved yet - notice the asterisk in the upper tab. The upgrade has not been finalized:

You must click the Save icon, at which point the XML elements that comprise the feed simulation's configuration will be automatically upgraded. No message is displayed, but you can now toggle to the source view. The tab that contains your .sbfs configuration's file name opens the source view. You can edit the settings on either view, but you must click the Save icon before the new or modified settings can be reflected (where possible) on the other view.

Another way to upgrade legacy feed simulations is from a command prompt, using a command similar to the following example:

sbfeedsim --convert MyFeedsim.sbfs > MyNewFeedsim.sbfs

Or:

sbfeedsim -c MyFeedsim.sbfs > MyNewFeedsim.sbfs

By default the {--convert | -c} option prints the output to the screen. Use the "> filename.sbfs" command parameter to write the converted .sbfs output to a new file.

Whether you perform the upgrade (conversion) by opening and saving the file in StreamBase Studio, or via the sbfeedsim command, the new configuration elements are the same.

Upgrade Notes

  • In StreamBase Studio, instead of using Save to finalize a feed simulation's upgrade process, you have the option of using Save As. The resulting file from the Save As operation will be upgraded to the new format, and if necessary you can use the original (legacy) .sbfs with the sbfeedsim-old command.

  • In StreamBase Studio, if you import a legacy .sbfs feed simulation into a project, but you haven't yet imported the .sbapp or .ssql application file that was associated with that legacy .sbfs, you may see an error similar to the following when you attempt to open the feed simulation:

    Be sure to import the .sbapp or .ssql applications files (and related files such as CSV trace files) along with the legacy .sbfs files into the project, before attempt to open and subsequently upgrade the .sbfs feed simulation.

  • In StreamBase Studio, the new Feed Simulation Editor may be unable to load under the following scenario:

    1. In your last StreamBase Studio session (before installing StreamBase 3.7 or later), you had the Feed Simulation Editor open. This StreamBase Studio state was recorded by the IDE's configuration file in your account's settings.

    2. You install StreamBase 3.7 or later.

    3. You then open the new StreamBase Studio, and the new Feed Simulations Editor is not compatible with your most recent IDE configuration. The new editor cannot open and StreamBase Studio displays an error in its place:

    To proceed, close the Feed Simulations Editor. The next time you open it, the new Feed Simulation Editor will be displayed.

Legacy Support

If you use the switch and group-by elements in your legacy .sbfs configuration, and cannot upgrade at this time, you can use sbfeedsim-old from a command prompt, and continue to specify your pre-3.7 .sbfs configuration file. You cannot use the legacy .sbfs in StreamBase Studio. The legacy configuration XML and sbfeedsim-old commands are documented in the following topics: