Event Stream Processing & Event Driven Architecture - Microsoft Technology Stack?
Context:
The recent rise in the adoption of service oriented architecture (SOA) continues to alter the landscape of modern IT integration infrastructure and methodology. Technology stovepipes of the past are now being connected by enterprise service bus (ESB) technology. An ESB provides a backbone of networking, communication, mediation, and service container management. With an ESB it is easier, faster, and cheaper to connect applications than was possible in the past.
Almost every integration software vendor provides some form of ESB in their products. ESBs have risen to the status of a de facto standard for service-oriented application integration. But with applications more easily integrated, what is the next step in the evolution of enterprise computing infrastructure?
Event-Driven Architectures (EDA) is being hailed as the next major piece of the integration fabric by leading vendors and analysts. There are few mature products already available in the market which can process event streams from different sources in real-time.
"By 2011, a new generation of application platforms stemming from the convergence of extreme transaction processing (XTP) technologies will supersede Java EE and .NET as the platform of choice for large-scale, business-critical operational applications." , Gartner, July 2007
Real Problem & Solution:
In fact I am currently working to re architect a critical application which need to process (in real-time) around 5000/messages per sec from different railway signalling system in order to depict current state of railway network. This mean we need to process large amount of data, correlate & find patterns on that data then match it with assets (Train, Signals, Tracks etc) so that we can show each train, signal (green or red) on computer screen as it is in live.
The existing system which does all that is written in .Net but it is tumbling as it is custom developed software in a traditional way for this specific application.
The main point here is Event Stream Processing solutions are required in most of the industry:
· Transportation (Railways, Buses & Airports)
· Banking (Fraud Detection, Algorithmic Trading etc.)
· Supply Chain & Manufacturing (RFID processing)
After doing bit of research I found out list of enterprise class commercial product available out of shelf which can provide most of the functionality which I just mentioned above. In fact all big vendors like Progress (Sonic), IBM, Oracle have a CEP/ESP product available in market today. No surprises Microsoft is missing from this list.
Being worked on Microsoft technology from last 8 years I would be interested to see how Microsoft can provide an enterprise class CEP/ESP product in future. Can they leverage BizTalk, WCF etc & package them as a product?