The wait is over—we are pleased to announce the release of StreamInsight 2.1. Since the release of version 1.2, we have heard your feedbacks and suggestions and based on that we have come up with a whole new set of features. Here are some of the highlights:
A New Programming Model – A more clear and consistent object model, eliminating the need for complex input and output adapters (though they are still completely supported). This new model allows you to provision, name, and manage data sources and sinks in the StreamInsight server.
Tight integration with Reactive Framework (Rx) – You can write reactive queries hosted inside StreamInsight as well as compose temporal queries on reactive objects.
High Availability – Check-pointing over temporal streams and multiple processes with shared computation.
Here is how simple coding can be with the 2.1 Programming Model:
class Program
{
static void Main(string[] args)
{
using (Server server = Server.Create("Default"))
{
// Create an app
Application app = server.CreateApplication("app");
// Define a simple observable which generates an integer every second
var source = app.DefineObservable(() =>
Observable.Interval(TimeSpan.FromSeconds(1)));
// Define a sink.
var sink = app.DefineObserver(() =>
Observer.Create<long>(x => Console.WriteLine(x)));
// Define a query to filter the events
var query = from e in source
where e % 2 == 0
select e;
// Bind the query to the sink and create a runnable process
using (IDisposable proc = query.Bind(sink).Run("MyProcess"))
{
Console.WriteLine("Press a key to dispose the process...");
Console.ReadKey();
}
}
}
}
That’s how easily you can define a source, sink and compose a query and run it. Note that we did not replace the existing APIs, they co-exist with the new surface.
Stay tuned, you will see a series of articles coming out over the next few weeks about the new features and how to use them.
Come and grab it from our download center page and let us know what you think! You can find the updated MSDN documentation here, and we would appreciate if you could provide feedback to the docs as well—best via email to
[email protected].
Moreover, we updated our samples to demonstrate the new programming surface.
Regards, The StreamInsight Team