Archive for August, 2009|Monthly archive page

New CEP engines for .Net

Today Microsoft published one interesting part of the upcoming SQL Server 2008 R2: StreamInsight. This is Microsoft’s first step into the area of CEP. After a quick look it seems that is maybe the smallest set on features which you need for a useful stream processing engine. In its core it is a typed continues query engine which is utilizing LINQ for basic operations like projection, joins, ranking and some more. The query will be directly bound to an input and output adapter and then assigned to a named application which is managed by an embeddable execution engine. Event types are simple attributes to POCO object. All events are per definition assigned to a fixed model, like interval, edge (open interval) or point in time. All is assembled programmatically; there is (currently) no support in Visual Studio. Although there is a Offline Debugger which allows it to replay event log traces.
As mentioned, this is a simple engine but interesting because it is easily embeddable and easy to handle so it is ideal for integration into existing applications. Will be interesting to see how well the current runtime actually scales on multi-processor systems.
The second interesting development is that NEsper, the always one-step-behind .Net version of the Java CEP engine Esper, is also available in a new version and now not so far behind of the mature Java version. It provides a lot more on functionality as the small Microsoft engine, although because it is aligned to the Java version, the query language is based on a SQL-related language.
Both engines are interesting because now the .Net world has finally some nice ways to utilize CEP which is more and more becoming a commodity and is drifting out of its niche of expansive but not necessarily more useful commercial CEP application servers.
Would be interesting to test the actual performance of these two new(late)comers because a lot of home grown code can be removed in some applications by using CEP concepts …