Friday, July 20, 2007

BEA WebLogic (Esper?) Event Server

There has been quite a lot of rumors these last weeks regarding the new BEA WebLogic Event Server which set the date of the entry of BEA into the Complex Event Processing arena.


As official facts and news can now be read by everyone, I thought it was a good time for a recap and for a few comments and thoughts. You may find this post quite long to read, but well ... this is my industry viewpoint!



(1) Facts


Rumors were all at rage trying to figure out if BEA "ripped off" the Esper ESP/CEP open-source GPL licensed engine, which has been in the arena for more than two years, release after release, commercially supported by EsperTech - hence the title of an hypothetical BEA WebLogic (Esper?) Event Server of this post.


Now we know, BEA is using Esper to bring to the market its WebLogic Event Server and has an agreement in place with EsperTech, the dual licensing company behind Esper and NEsper.


Now is time to shed some light on that topic. But first, let's recap...


(1 continued) Facts



So it first started on InfoQ with the public beta announcement of BEA product. Guillaume from Groovy fame immediately wondered if Esper is used under the hood.
Read on on InfoQ


Some weeks after, Coral8 did the same analysis and it seriously tried to lower the BEA value proposition - which is sort of expected from a BEA competitor and Esper competitor:


"all BEA did was OEM an open-source product called Esper and put it inside their product"


This forced BEA marketing folks to answer in the same article with an interesting quote, shedding some light on the BEA and Esper / EsperTech agreement.


Read it on Intelligent Enterprise


The same news was discussed again by Philip Howard, from Bloor Research, who has been following the Complex Event Processing space for a while, in an article where he describes some more the BEA Time and Event Driven (TED) product family that includes this rumored WebLogic Event Server.

"There has been some speculation that TED is based around the open source Esper event processing engine in part (...)"
Read it on IT Director


Finally, right after the BEA product went out from beta to be generally available truth as finally been spread by EsperTech - the company that provides support, services and OEM licenses around Esper and NEsper (its .Net counterpart) which was founded by Esper' founder:

Read the EsperTech press release.



(2) So how far Esper and BEA WebLogic Event Server are different?


At that stage all those rumors and this finally official press release don't shed light on how far Esper is modified by BEA as it seems to be the case, to make it his own. I'll certainly give a shot to this. For now here are some findings:

Esper: select avg(price) from Stock:win.time(1 min)
BEA : select avg(price) from Stock retain 1 min
Esper: every (A -> B)
BEA : every (A followed by B)

Part of the documentation is the same f.e. for explaining the core capabilities:
Esper doc
WebLogic Event Server doc
Or for providing a number of use cases:
Market data Feed Monitor Case Study
Use cases



(3) Open questions


At that stage, this raises a few interesting points and speculations going further:


  • Esper is at version 1.10. There are tremendous improvements brought versions after versions such as deterministic behavior with statement pipelines, performance improvement, bug fixes, extended APIs and so on.

  • How the BEA product will catch up if they modify their own version in various ways thru refactoring and such while Esper keeps being improved?

  • How the two products will distinguish each others going further, what will make each one attractive to who? Low price point, a la carte, higher price point , same ESP/CEP capabilities, off the shelf experience ... all interact. Will we see open-source stacking up an Esper Event Server as well?

  • Esper has the very same client API and event processing language that its counterpart NEsper. This means Esper / NEsper / EsperTech is the only one to give choice with same semantics across platforms. Will BEA move to .Net as well?

  • Esper GPL license explains why BEA had to go over a dedicated agreement with EsperTech so as to redistribute the product. This proof points the dual licensing model and shows that a GPL/LGPL based open source/dual license is one among the many viable open source model, especially when geared toward both OEMs and end-users.

  • Will open source purists argue this means BEA is using open source and contributing back on some areas (those very one would argue they are already commoditized by far), but that BEA is also ready to buy open source to get the right to tailor it without giving much back so as to build a competitive advantage? On the other hand, other will argue GPL or LGPL is not business friendly (if you think you can get for free into a bar and also get free beer then you will). From there this starts to make sense to buy a foundation from which you can build a competitive advantage in your journey - does it?

  • But does this means Oracle or IBM or RedHat or IONA or SUN could do the same and enter an agreement with Esper? Those big ones have yet to enter the Complex Event Processing space beyond announcements or lab projects. New startups are poping up all around at the same time so decision is far from simple, especially as BEA moved first around such a blend.

  • Does this means that BEA decided to leverage Esper and acquire a license instead of spending 20 to 100 M$ in acquiring one of the other startup in this field (or entering an OEM agreement with one of them)? We can assume BEA has done carreful due diligence, both on the IP, the technical excellence and the extensibility options of Esper before taking such a decision.



No doubt everyone will have various rumbling about all this!



(4) Esper provides choice, BEA provides off the shelf


Most important to recap, the BEA WebLogic Event Server is not good or bad in its way it does (or don't) interacts / extends the Esper project and the open source community around it depending who you ask. What is striking is that:


  • The ESP/CEP innovation came from Esper and open source in the first place (as far as Esper goes, of course ESP/CEP come a long way in academic works before Esper and at other startups). The full Java ESP/CEP engine around a POJO centric model and open API, plus the real convergence between ESP and CEP capabilities was introduced by Esper and truly driven by the community around it. And now it is also available for .Net with NEsper.


  • BEA WebLogic Event Server adds a server model, with deployment capabilities, Spring wiring, security, real time JRockit JVM integration, all based on a very innovative OSGi based lightweight kernel build upon other open source blocks (Eclipse Equinox f.e. for the OSGi core). The open source and commercial blend goes far beyond Esper (Jetty and Spring are in there). You may likely find more open source LOCs than BEA LOCs in this product if you were to count everything - simply because this is how modern software is build. Would you rather build it, buy it or license things and blend it instead?

  • BEA offering shines because it is an off the shelf platform with its own server component which is not a JEE app server but a completely new one. How would it compare f.e. to a classic WebLogic Server (the JEE one) with Esper hooked a JMS consumer/producer, both in terms of features but also investment and learning curve?

  • Esper is obviously the best option to integrate into other BEA technologies such as WebLogic Server (thru JMS as I said), but also if you are not a BEA shop, running application server / ESB from open source or big vendors. It also brings affordable ESP/CPE compared to other startup-high-license-cost in this rather new market. It also has a significantly increased flexibility as there is no target server model. You can also get support from the source through EsperTech (professional open source a la JBoss). And if you want real-time capabilities, you can run it on a real time JVM, from BEA, but also from Sun or IBM, or even inside an Azul box. This is a la carte event processing as Tom explains in the press release. A number of analysts have already started to argue around the fact that a la carte event processing may make more sense for the industry so I am sure we'll see more of that blend.



Congrats to Esper and EsperTech for their success with BEA, and congrats to BEA for this new product offering that truly shakes the complex event processing arena - perhaps not in what it does but more in how it was assembled and engineered - with a best of breed approach all the way up.



As I was just about to publish this, another news came out:
SL Corporation
Helps BEA Extend Real-time Monitoring and Visualization of WebLogic Event Server. This increases the feature set of WebLogic Event Server, by a new blend. Interestingly, Progress Apama (another Esper and now BEA competitor), is using just the same as announced here and already mentioned by Tim Bass, from Tibco (did I said Tibco also plays in the ESP/CEP space and has a very close relationship with SL Corporation (see here). That said this does not surface yet in WebLogic Event Server 2.0 final release.


Interesting and exciting times in the software industry isn't it? Who said it is build vs buy? You need to think build vs buy vs license vs assemble.

Friday, July 13, 2007

Esper brings Complex Event Processing (CEP) to mainstream

There has been two interesting posts recently regarding Esper.

One from Tim Bass, from Tibco, reporting from the InformationSecurityAsia2007.
Tim reports in his blog that complex event processing solutions like Esper can be used for extrusion detection (that is inverse of intrusion detection in a network where you want to track malicious users and software acting from inside, zombi machines etc.).
Tim reports Esper is already known from several experts in the field and is beeing considered for such use cases. Glad to hear and thanks Tim for the info.

The second interesting news appears in Intelligent Enterprise where Esper is beeing quoted as the only active open-source project for CEP - both for Java and .Net platforms (what, you never heard about NEsper? Bet you will !).

Esper is quoted separately from the so called more commercial solutions like Apama, StreamBase, Coral8, Tibco etc. Especially because Esper is a great initiative to bring CEP to mainstream thru innovative, affordable and a la carte approach as quoted here:


Not For Big Companies Only.
With the ranks of CEP practitioners including big government, big finance and big telco, you might think the technology is accessible only to giants . That's not the case, however, as there's an active open-source CEP project called Esper that offers both Java and .NET components.


It 's nice to see Esper quoted, although I am not sure I would do such a difference between Esper and the others solutions available for the following reasons:

  • Esper is commercially backed and supported - checkout Esper' founder company EsperTech

  • Esper users include major investment banks already and other big shops - checkout the mailing list if you want to get a taste



Of course I can't say if those guys are evaluating Esper or if they run some of their production system with it already - so you never know who is a user evaluating software and who is ready / has already entered the commercial relationship with commercially backed open source software unless you ask and they dare to reveal it.

There's trully no difference in fact when you look at that from a community point of view.
When you are building open source software (which I have been doing for years now) there is only one thing that matters: the community.
The community rules the use cases and drives the product direction in unanticipated ways accross industries of all kind and size.

This is a typical mistake regularly done when trying to compare open source software and commercial software as two fundamentally different things. Would you start saying Linux is for small companies and Windows for the big ones...