My rebuttal to
Ivy Schmerken's article called Deciphering the Myths Around Complex Event Processing has drawn a surprising amount of controversy. In Ivy's rebuttal to my rebuttal, she clarified that the point although CEP is used in mission critical systems in the world's largest banks, that it isn't "mature" because:
Wow - talk about glass half empty thinking! But I think the issue here is we have to define what we're talking about, and examine the state of the market in a clear framework, rather than taking one data point (one panel discussion with one person) and extrapolating a broad conclusion.
First of all, let me start by clarifying: of course CEP is not as "mature" if you compare it to, for example, J2EE app servers or relational databases. But let's look a little deeper, and look at a well-known model - the diffusion of innovations model (originally developed in the 50's by Bohlen and Beal, popularized by Everett Rodgers in 1962, then by Moore's Crossing the Chasm in 1991. The original research actually analyzed adoption of farming practices, and developed the following phases:
But let's look at the arguments for immaturity, namely:
Should the community focus on standards and interoperability more? Yes, of course. But just because there are different approaches to solving a difficult problem, and that the industry is starting to come together, we shouldn't feel compelled to thwart that growth with a claim that the products are not "mature" when they actually are in a lot of ways.
- There isn't a CEP language standard
- There is debate about whether some CEP engines have a TIBCO adapter
- One CEP user had a problem that the CEP companies all focus on different application areas
Wow - talk about glass half empty thinking! But I think the issue here is we have to define what we're talking about, and examine the state of the market in a clear framework, rather than taking one data point (one panel discussion with one person) and extrapolating a broad conclusion.
First of all, let me start by clarifying: of course CEP is not as "mature" if you compare it to, for example, J2EE app servers or relational databases. But let's look a little deeper, and look at a well-known model - the diffusion of innovations model (originally developed in the 50's by Bohlen and Beal, popularized by Everett Rodgers in 1962, then by Moore's Crossing the Chasm in 1991. The original research actually analyzed adoption of farming practices, and developed the following phases:
- Innovators - had larger farms, were more educated, more prosperous and more risk-oriented
- Early adopters - younger, more educated, tended to be community leaders
- Early majority - more conservative but open to new ideas, active in community and influence to neighbors
- Late majority - older, less educated, fairly conservative and less socially active
- Laggards - very conservative, smalls farms and capital, oldest and least educated
But let's look at the arguments for immaturity, namely:
- Some vendors don't have all the needed adapters
- There's no CEP language standard languages among vendors
- There are no interoperability standards
- My guess is that Tim would add best practices and reference architectures lacking (I agree)
- Battle-tested CEP server engines (multi-threaded, highly scalable)
- Adapters for interoperability (there are hundreds out there from vendors today and I will argue that CEP standards for interoperability are a red herring on another day)
- There is a vibrant community building around CEP on line
- Robust development tools for business analysts and IT
- The existence of robust debugging and profiling tools
- Language support for Java, C++ and graphical approaches
- Relational database connectivity
- Tick database connectivity
- Visualization / dashboards, connectivity to .NET, web dashboards, and more
- Simulation and testing environments
- Fault tolerance
- Management functionality
- State recovery
Should the community focus on standards and interoperability more? Yes, of course. But just because there are different approaches to solving a difficult problem, and that the industry is starting to come together, we shouldn't feel compelled to thwart that growth with a claim that the products are not "mature" when they actually are in a lot of ways.