Monday, September 8, 2008

CEP standard, really?

The recently published paper by Oracle and StreamBase has triggered some deep echo in the CEP blogosphere.
The paper "Towards A Streaming SQL Standard" which was promoted in a StreamBase sponsored press release first appeared from the VLDB / Very Large Data Base Conference which took place on August 28, 2008 and is a joint work from Oracle, StreamBase and Stanford/Cornell universities (full paper).

Marc Adler from the user camp posted twice here and there on that matter, also asking Coral8 vendor to comment, which they did, and few days later, Apama also commented here although trying to move the debate "to mine (event processing language) is better than yours".

Overall, the comments are a mix of
  • "how that can be call standardization effort ?"
  • "how much an end user does care about the differences between X and Y engines as long as each engine documentation is clear about its behavior"
  • "how a new SPREAD operator would be more of a solution than an output clause" - a so called "big switch" approach that is available in Coral8, Esper, and likely others.
It all sounds like the title of the paper ("... standards") and its context (publication in a mostly academic conference (not a user conference)) got disconnected - on purpose or not.

There are some facts I would like to remind everyone:
  • Standards are not driven by having 2 actors work or study together (whatever there respective market caps or marketing loudness). Standards are driven by acceptance - which is in itself a de-jure or a de-facto acceptance. To date, neither StreamBase nor Oracle advertise a product that implements what they advocate.
  • This is an academic work ie mostly R&D from Oracle. This is not claimed as going toward product direction change for Oracle nor StreamBase. I think this is far from whatever road a company like Oracle would follow for a standardization effort and this is more close to StreamBase hooking on the elephant to issue a press release that ranks #4 on Google when searching "Oracle CEP".
  • Oracle itself has more than one event processing language and implementation. The one from WebLogic Event Server (which comes from BEA acquisition hence inherits from Esper capabilities given the relationship between EsperTech and BEA) does have the so called "big switch" approach that is illustrated in the paper. See docs from Oracle site about the Oracle Complex Event Processing 2.0 (ie rebranded WebLogic Event Server 2.0)
The Oracle product doc itself precisely illustrates this big switch like this:
SELECT * FROM StockTickEvent RETAIN 5 EVENTS OUTPUT EVERY 90 SECONDS
which in Esper would be
select * from StockTickEvent.win:length(5) output every 1.5 minutes

A better title in that regards would have been "Unifying tuple based and time based processing in event streaming engines" (far less attractive), or simply the one used by complexevents.com to announce the paper "StreamBase and Oracle team on CEP research" (although not a suitable title for an academic publication) - nothing more, nothing less - and blogosphere should take some wisdom reacting to such an initiative. Collaboration is always a good thing, and obviously always starts with 2 actors.

Wednesday, August 6, 2008

Complex Event Processing meets Business Intelligence: CEP BI

EsperTech has announced a technology agreement with Business Objects, an SAP company. The news describes::
"EsperTech (...) unveiled that Business Objects, an SAP company and the world's leading provider of business performance optimization solutions, will incorporate EsperTech's Esper product, for evaluation, into Business Objects Labs' "Event Driven BI" prototype"

Beyond the headlines, you can actually download and run the real world prototype from Business Objects Labs that integrates BusinessObjects XI 3.0 ( XCelsius 2008, InfoView, BI Widgets) with Esper, and also access a recorded demo.

This is a really great combination, and it's great to see how BO worked on abstracting the Esper CEP into Business Intelligence semantics that is known by their user base and target audience rather than creating yet another CEP engine or claiming "we do CEP too" without true innovation.

Also interesting, Coral8 has also announced a "Marketing and Technology" agreement with Actuate. Actuate is a fairly smaller BI player, but well know for beeing the maker of the open source Eclipse hosted BIRT platform.

I am really a big fan of CEP + BI/real time dashboard integration, and it is great to see those two announcements, that further bring CEP into the hands of business users through various level of visual and semantics abstractions.

There are also some great side comments to draw from those 2 news showing up at roughly the same time:
  • Business Objects, Actuate (who are competitors), are probably right in their approach, and so are EsperTech and Coral8 (who are competitors): rising tide raises all boats.
  • It (again) demonstrates EsperTech has grown well beyond its initial BEA OEM relationship (Esper powers WebLogic Event Server / now Oracle), up to the point of beeing used by an Oracle top competitor: SAP.
  • If you haven't done so, checkout EsperTech EsperJDBC - a bridge between Esper CEP and any JDBC compliant tool. It shipped in May 2008 and includes a nice demo that is using ... BIRT!
EsperJDBC Sample code and recorded demo (follow the "EsperJDBC and Business Intelligence reporting and charting with Eclipse BIRT" demo link) available.

It seems that while EsperTech worked early in that area, beyond technology, Coral8 secured some more marketing ;-) Well done folks.

Sunday, April 6, 2008

On CEP and SaaS

There has been a few announcements recently around CEP solutions delivered as SaaS.
The first one to my knowledge is DataComplex, which is itself build upon Esper (read announcement here).
The second one seems to be RuleCore, which as far as I recall from previous posts from his lead is build upon the Mule open source ESB and Oracle BerkeleyDB.

DataComplex is pretty open on its capabilities and you can sign up for a free trial. It is also interesting that the focus is "business users", with f.e. google doc integration (ie a line in a google doc sheet (excel like) can be an event in itself), and other interesting things to come out of it.
The pricing is well aligned on any SaaS business. It is a mix of per user and technical capabilities:
  • account number (access to management console)
  • number of event stream types (not event count)
  • unlimited statements and events count (up to the point you overload your instance)
  • given memory size for the server instance
The price range from $10/month to $400/month
(details here)

RuleCore on the opposite is really vague on its exact solution despite rants like "for situation detection I actually think we are one of the leaders among the CEP vendors". You cannot access any docs, screenshot, architecture diagram, customer reference, or any trial at all. It is thus difficult to figure out who is the target user, but it seems the only supported transport is JMS - so a fairly technical requirement.
Despite low advertised prices at 0.0001 euro/event there is actually a 500 euro/month fixed subscription.
Otherwise you can stick to a 50 times more expensive pricing per event for a 50 euro/month fixed subscription.
The model does not provides any details about actual technical capabilities (shared platform or dedicated instance like DataComplex, etc)
(details here)

In both cases I think such offerings are worth tracking but without clear business user value and clear abstraction of the entire technical details, the value proposition is seriously impacted.

DataComplex is definitely well ahead RuleCore on building out a value proposition. There are certainly benefits in putting CEP based solution as SaaS offering, but I believe it makes sense when you empower your business users almost immediately. It is not about being affordable as RuleCore seems to argue around, it is about IT agility and business alignment. This is what successful SaaS vendors do: SalesForces, Postini (acquired by Google), etc. SaaS is not just about externalizing hosting.

You might want to read here for some basics

If you are like RuleCore a technology provider more than a SaaS provider, you certainly should consider do what Microsoft just announced: provide new licenses on a per CPU/month or per Subscriber/month basis for the real SaaS business focused vendors themselves.
(details here)

Monday, March 31, 2008

Esper maturity and open source maturity models

Esper has definitely reached an exciting maturity already. There are many things happening, both controlled and uncontrolled, and this is what makes open source so powerful to widespread new paradigms such as CEP.

There has been some thoughts and criteria on what makes an open source project or product mature or not. The common criterias are:
On the community side (ie widespread interest and growing number of knowledgeable people around it)
  • coverage in leading conference, by the core team (somewhat sponsored then) or by virtually any volunteer speaker ("raise your hand if you have some smart thing to say")

  • use by/integration with/ other open source projects or initiatives in a loosely controlled/sponsored way ("innovation happens elsewhere" kind of effect)

  • coverage in good old technical books


On the enterprise side (ie more and more real-world deployments)

  • existence in a supported form, with full IP liability and possibly enterprise level certifications and features

  • actual real world use in such a form

  • apparition in technical requirements for job descriptions

  • actual roadmap and feature delivery



Here are some links of maturity models with such criterias:
QSOS
OSMM
industry analyst views
HP content

All those maturity criterias are matched today by Esper, and this is very exciting to watch and act upon this.
Here is what I can already wrap up:

  • dedicated coverage in JavaOne, TheServerSide, NoFluffJustStuff, JAX conference, and more coming. Half of the coverage was from volunteer speakers: Brian Sletten (Zepheira) and Papick G. Taboada. Links are:
    Esper slideware
    NoFluffJustStuff
    JAX 2007

  • integration prototype with Apache WS02 by Paul Fremantle (Co-Founder and VP of Technical Sales at WSO2), and Apache/IONA Camel/ActiveMQ by James Strachan (Technical Director at IONA), David Greco and team. There is way more to do on that area of course.
    See WSO2 and Apache Camel

  • dedicated chapter in "OSWorkflow" by Diego Adrian Naya Lazo, available on Amazon bookstore and any good bookstore. It covers Event Driven SOA, Event Driven BPM and Esper enabled BAM in a dedicated chapter!
    Here at Packt or on Amazon

  • growth of EsperTech as a company with a dual licensing and professional support model, including a wider product portfolio with f.e. EsperHA

  • more OEM agreements, more supported customers (see a few referencable names)

  • apparition in job descriptions f.e. here by SunGard / Finetix
    Here on MySpace or from Finetix directly
  • Esper is now in version 2.0, with 2.1 at the corner, with a version about every 3 months with a chunk of features that is most often here to match real-world demand



On the common things I hear is that NEsper, the Esper .Net/C# version is "lagging a bit behind". For one reason this is because the NEsper team is somewhat iterating on it as a port initiative thus always slightly with a version behind, and for another reason is perhaps that the .Net community is not as large and disparate as the Java community to digest new concepts somewhat that fast (and so is it with NHibernate, Spring Net, and a bunch of other products initially started in the Java world)

I am really looking forward to 2008 and beyond!
and I am already pleased to announce that Esper will get coverage at JAX India 2008 (nice job Papick) - abstract available here and that Tom' TheServerSide Symposium 2008 Las Vegas slides are available online.

Thursday, March 13, 2008

Esper adds HA, local cache and resiliency to CEP with EsperHA

EsperTech has released its first non open source product EsperHA.
EsperHA is an extension to Esper the leading open source ESP/CEP event processing engine for Java. It essentially adds key features to match common enterprise deployments requirements:
- continuous query results can be made resilient and recovered if a crash occurs
- they can deal with large data window with an overflow / page out to disk option (f.e. keep a 20 days moving average VWAP, or find causality between events over long periods of time - countless of use cases)
- can simply make EPL statement durable so that they are re instantiated upon recovery / restart


From the announcement there is much more to look at, and the fact that all this comes at no code change, with fine level statement-level and stream-level configuration means that one can scale up or down its Esper applications with minimal effort.
By contrast, Esper keeps everything in live memory which provides excellent throughput and low latency (see some figures here) but is 1/ bounded (few G or more likely 32G to 128G in real deployments) and 2/ is dropped upon shutdown / crash.
EsperHA ensures one can trade-off low latency, high throughput and full resiliency in one system.

This is an interesting crossroad for EsperTech as a company as it further strengthen its positioning and readiness for real world deployments, and nicely complements its so far professional open source / dual license model with a classic software vendor one.
There was already great evidence of Esper fit for purpose in real world situations, as OEM and actual deployments demonstrated so far, but having this HA / resiliency option will certainly reinforce this.

There is common FUD from classic / elephant vendors thrown at open source software - essentially saying that it is not enterprise ready, not operable, as it is made by a bunch of volunteers that don't care about production reliability. This seems EsperHA and EsperTech proof point how much of FUD are that kind of claims.

You can sign up for a free trial and gain access to the download, docs and samples here.