StreamBase and Liveview
Hi,
What is the primary difference between Streambase and Liveview?
I want to send the output steam from my Streambase application to Liveview for live vizualisations. How can this be achieved?
Do i need to rewrite the project in Liveview to get this working?
Regards,
Anup
(5) Answers
There is an active conversation in the Idea portal for an idea to integrate StreamBase and Spotfire here. If you're interested in this idea we would love to hear from you!
The description is as follows:
A request I hear a lot is to have real-time, streaming dashboards integrate cleanly with Spotfire dashboards so you have a simultaneous view of data at rest and data in motion. There are a host of features within this, like navigating between the two worlds, sharing a common view of the data shared between them, how to reconcile that LVWeb visualizations are push-based, and so on. But we have a lot of customers doing this today that want a simpler solution.

I'll give another point of view, from the "business" level, and as the former CEO of StreamBase. StreamBase is a platform designed for developers to build applications that continuously apply math to streaming data. Those applications often automate action and also automate action in other applications, or send out new derived events by filtering streaming data. For example, a big application of StreamBase is algorithmic trading, which monitors raw market events, excepts orders, and sends messages to a trading engine when market conditions match the ones the algorithms are constantly hunting for. The main "interface" to StreamBase is an Eclipse-based developer tool. LiveView, and Live Datamart, are designed for a different user person: the end user. It's still designed for continuous computing and streaming data, but it's end user is very different.
Why build a different product to deal with streaming data? Several years ago, several of our banking customers came to us and asked: "Can you build us a data warehouse, but one that's designed for data in motion, rather than data at rest?" They asked us because were already automating so much of their trading infrastructure, and they wanted traders, risk managers, fraud detection experts, compliance staff - to get a similar sliding-window, real-time view of events. But instead of a development tool, they wanted an end-user tool with chart, graphs, and interaction to drill-down on real-time data. They also wanted real-time alerts, and the ability to define their own real-time alerts.
That's why the live Datamart was born - to provide humans the same real-time visibility that had previously only been available to applications via programming.
Now, LiveView provides StreamBase (and BusinessEvents!) great continuous end-user visibility and control over automated system and streaming data. It's evolved way beyond trading systems and is used to continuously monitor equipment in the oil & gas industry, flight operations in the travel industry, fraud in any industry, IT infrastructure. Basically any company that has moving data and an operational staff that monitors business functions, should consider using LiveView and Live Datamart.

Anup --
Great question: "What is the primary difference between Streambase and Liveview?"
It's worth backing up and answering that more conceptually, as there are many people who don't immediately get the differences between the products
The (relatively) short answer is that:
- StreamBase is an Event Processing platform that you use to write applications that process streaming events to programatically do something with the events and then publish them back out or do initiate some automated action. When I say "do something with them" I mean transform them into something else, aggregate them, correlate them, find patterns in them, make decisions about them, or otherwise emit results that add value or change the semantics of the input event relative to the output events.
- Live Datamart is an umbrella term for a product that includes multiple components: the LiveView Server and the LiveView Client APIs. The LiveView product family also includes the LiveView Desktop client application and the LiveView Web client. The idea behind the LiveView products is that the LiveView Server listens to streams of events coming from, well, anywhere, and keeps some finite window of each input streams materialized (in memory or -- somewhat oddly IMO -- somewhere persistent) so that client applications (and thus users) may issue ad hoc queries against the materialized windows and have the results of those queries be continuously updated. These materialized windows are called LiveView Data Tables and their semantics are very much relational. The big difference between LiveView Clients and StreamBase Clients is that the envisioned primary users of LiveView query result sets/streams are humans who want to look at stuff, not programs that want to process stuff. The stream semantics are quite different -- in particular, LiveView Clients see a stream of results that are eventually consistent with the state of the underlying table data, whereas StreamBase Clients see streams that are, well, always the result of some concrete computational process.
So these products represent very different positions on the value chain, and once you understand that, there should be very little confusion about when to use which product.
There are some pretty good reasons why developers in particular often ask this question. One is that the integration of LiveView Server uses StreamBase embedded adapters and some of the user-written application-specific custom processing inside LiveView Server uses StreamBase EventFlow as an implementation language. At the moment, a LiveView application developer needs some facility with the StreamBase product set to be successful, though this is becoming less and less necessary as we add features to Live Datamart to raise the level of abstraction over time.
So hopefully this is clarifying. Below I will add another set of criteria to explain the relationships between LiveView and StreamBase. I wrote this for another context, so some is repetitive to the above but adds detail, and some is different.
The relationships between Live Datamart and StreamBase are multifaceted, and worth elaborating.
- Live Datamart is to StreamBase or BusinessEvents as an OLAP Database (for example, Teradata) is to an OLTP Database (for example, Oracle). You do your ad hoc querying of streaming data against Live Datamart; you do your pre-determined business logic with StreamBase. And you wouldn't try to do one's job with the other; it doesn't work very well.
- StreamBase and Live Datamart are separate products. They are separate items on the price list, and buying StreamBase is not necessary to buy and use Live Datamart. Live Datamart can listen to any (supported) source of streaming data: for example, an EMS topic or a BusinessEvents channel. In particular, there is no need for Live Datamart to connect to a separate StreamBase server to receive streams.
- Live Datamart is partially implemented as a StreamBase application. Just like Jetty is a Java application. You need the Java runtime to run Jetty; you need the StreamBase runtime to run Live Datamart. Currently, the Live Datamart and StreamBase installers are combined; there is no way to install Live Datamart without also installing the StreamBase runtime.
- FAQ: Q: If Live Datamart includes StreamBase, why would I buy StreamBase separately? A: Just because the bits are the same bits, doesn't mean the license rights are the same. In particular, I believe that the Live Datamart license allows users to use StreamBase applications ONLY insofar as the ultimate destination of events is a Live Datamart data table; publishing events to anywhere else requires the purchase of a separate StreamBase license.
- Integration to Live Datamart relies on using StreamBase Input Adapters in-process with the Live Datamart server instance itself (or via LiveView Client Connections using the LiveView Client APIs). While the direction of the Live Datamart product is to increasingly automate integration using wizards that only require connectivity configuration (currently available for EMS, FTL, and Kafka), at present doing effective integration work almost always requires custom integration logic in StreamBase's EventFlow language. Therefore, application developers who work with Live Datamart also must be able to develop with StreamBase.
- The Product Engineering, Product Management, Product Support, Senior Management, and Product Marketing teams for Live Datamart and StreamBase have a lot of overlapping personnel. Live Datamart was created by the StreamBase product team and there are a lot of technical and organizational inter-dependencies.

You can also have a look at how it's done using the sample projects.
Attachment | Size |
---|---|
![]() | 40.62 KB |

No, you do not need to rewrite your project.
StreamBase processes events automatically. LiveView connects to these events to display them in real time in a UI. You use the LiveView adapters in StreamBase for this:
https://docs.tibco.com/pub/streambase_cep/7.6.2/doc/html/adaptersguide/e...
What you have to do: Define a LiveView file in your StreamBase project to configure, which data has to be sent to LiveView. This can be done in the StreamBase IDE via wizards. More details about LiveView can be found here (including "getting started" for server and client side):
https://docs.tibco.com/pub/streambase_cep/7.6.2/doc/html/lvindex.html#lv...
You can also send events back from LiveView to StreamBase (e.g. to take human actions).
By the way: Technically, the LiveView server is based on the StreamBase server, it uses the same engine. Both can be developed in one project in the IDE and deployed to the same runtime.
1 Comment
Thanks Kai. I was able to get this working by using the Liveview Adapters from my Streambase project to the Liveview project. I could not however get if workiing by defining a liveview file in the streambase project as the streambase server would not start. However, the data that is captured in the Liveview table is now being displayed in the LV Desktop. However, I am unable to define visualizations for this data as it requires a breakdown field for each of the charts. How are the breakdown fields defined? Is it the primar key of the Liveview table or do I need to do something extra?

1 Comment
Thanks Kai. I was able to get this working by using the Liveview Adapters from my Streambase project to the Liveview project. I could not however get if workiing by defining a liveview file in the streambase project as the streambase server would not start. However, the data that is captured in the Liveview table is now being displayed in the LV Desktop. However, I am unable to define visualizations for this data as it requires a breakdown field for each of the charts. How are the breakdown fields defined? Is it the primar key of the Liveview table or do I need to do something extra?
Similar Questions
Haven't found what you are looking for?
Existing Best Answer
This Question already has a 'Best Answer'. If you believe this answer is better, you must first uncheck the current Best Answer