Well, I'll kick off this section. We needed a Complex Event Processing engine that was .NET compatible with decent performance. I looked around and found few options, all of which were very expensive, so we sat down and designed a language, implemented a compiler and runtime library.

We can now represent the event processing rules in our bespoke language and compile them into decent quality F# source. Performance seems good since there is no interpretation involved. And it interfaces well with the rest of the .NET world.

We're currently using it for internal projects and developing it further in response to our changing requirements. We intend to release it as a commercial product once we are happy with it.

Martin

Thank you so much for your post.

By on 8/22/2011 12:37 AM ()

Hello,

Does your solution includes some kind of serialization mechanism to save events to disk. I've been looking around for a version friendly serializer for F#s immutable types especially discriminated unions.

Thanks,

David

By on 7/12/2011 5:39 AM ()

Hello,

Does your solution includes some kind of serialization mechanism to save events to disk. I've been looking around for a version friendly serializer for F#s immutable types especially discriminated unions.

Thanks,

David

Sorry for the delay in replying, David - been on holiday and not paying enough attention to this forum.

Thus far, we haven't worried about serialization - incoming events are received in textual format over RPC and IP channels. We do log events to a file for trace purposes, but this is not serialization.

Internally, the engine is a multi-threaded state machine, so we would have no need to serialize the events in order to save the state. Once an event has been processed, it gets discarded from the point of view of the engine.

martin

By on 8/24/2011 2:08 AM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper