StreamInsight Examples

 

This section consists of examples of the various components and steps involved in creating a StreamInsight program. Each example is a complete StreamInsight program that combines event sources, event sinks, and queries in order to implement an event processing scenario. The StreamInsight API offers a variety of interfaces to support various levels of control and complexity in creating and maintaining event processing applications. The examples provided in this section demonstrate the use of these interfaces with simple sources, sinks, and queries.

The examples in this section use the following namespaces from the assembly references listed.

Assembly References

  • System.Reactive.dll

  • System.Reactive.Providers.dll

  • System.ServiceModel.dll

  • Microsoft.ComplexEventProcessing.dll

  • Microsoft.ComplexEventProcessing.ManagementService.dll

  • Microsoft.ComplexEventProcessing.Observable.dll

Namespaces

  • using System.Reactive;

  • using System.Reactive.Linq;

  • using System.Reactive.Subjects;

  • using System.ServiceModel;

  • using Microsoft.ComplexEventProcessing;

  • using Microsoft.ComplexEventProcessing.Linq;

  • using Microsoft.ComplexEventProcessing.ManagementService;

In This Section

The first example in this section creates a server that is used by the other examples. Simple sources, sinks, and queries are used to demonstrate the interfaces. Following these same basic principles, very complex event processing scenarios can be created.

StreamInsight Example: Server - Exposing an Embedded Server
This example creates an embedded StreamInsight server and then exposes an end point so that StreamInsight clients can connect to it as a remote server.

StreamInsight Example: Client A - Using a Remote Server
This example connects to the server in the previous example and uses entities defined in the server to create a CEP process.

StreamInsight Example: Client B - Creating a Subject
This example uses the remote server in the first example, creating a subject that passes data from two sources to two sinks.