Progress Software
09-08-2008 11:44 AM
SQL standard for CEP - an impedance mismatch with reality
Wellthe hype train has left the station. As I'm sure the whole of the CEPcommunity knows by now StreamBase has teamed up with Oracleannouncing a
Streaming SQL standard. I am certainly in favor of standards in software technology, they clearly represent the
tide that raises all boats. Customers and vendors alike are benefactors from communal standards. From
ANSI standard programming languages like C and C++ to
open standardslike XML. Many a consortium of vendors and customers have laboredarduously to define well-known technology standards for the collectivebenefit of the greater worldwide community. However, thisrecent announcement by StreamBase and Oracle is nothing more than thepractice of the crafty art of deception and diversion. While Isee nothing wrong with StreamBase and Oracle teaming up to work onenhancing the streaming SQL language for their CEP products, to tout itas representing an emerging industry standard is simply brazen.
The streaming SQL language in today's CEP products finds its roots in academia. The
Aurora projectis one such academic endeavor. SQL was the language of choice for thisproject for good reason. Streaming data shares a number of commonattributes with static data, why not use a well know data access, datafiltering, data manipulation language. The Auoroa authors clearly hadthis in mind whenthey chose SQL. I'm sure they also had an expectation that streamingSQLand the future products based on it would evolve similar to database or otherbackend data service technology.
However, CEP platforms have matured into
application platforms. This in no small measure is due to Progress Apama and our
solutions approachto the market. The Apama stack easily lends itself to the rigorsand demands of the solutions or application environment. The Apama EPL,Monitorscript has the expressiveness of syntax to describe thesemantics of complex logic in today's CEP applications. Asthe saying goes,
imitation is the sincerest form of flattery,many of our competitors have followed our lead by introducing asolutions approach themselves. But as a result, they've faced achallenge with SQL being the underpinnings of their EPL. SQL wasnever intended to be an application language, therefore they've choseneither to build application solutions in the mixed-language environmentor extend their base EPL to include procedural constructs to supportthe needs of application semantics. In either case, something has togive. Reading the fine print of a StreamBase solutions datasheet: "
Incorporates algorithms as Java or C++ plugins" is an indication of the inefficacy of streamSQL for the intended purpose. With each new release of
Coral8 and
Alerithey announce features in their SQL-based EPL adding proceduralconstructs and imperative scripting constructs similar to ApamaMonitorscript. These language enhancements or mixed-modedevelopment requirements clearly validate that CEP has evolved into anapplication platform and not just a back-end data service engine. From a language standards viewpoint this has only served tofracture. Each vendor has carved their own course in this bravenew world.
As a cautionary note, standards can be the opiate of the masses. Theygive customers a sense that they are protected against vendorlock-in. Even the perception of an emerging standard can behypnotic. This is all under false pretense. Real standards providebenefits to customers and vendors alike covering a broad swathe notjust a select few. As the CEP community ventures into thestandards world we should focus in those same areas wherestandardization has a proven track record in other technologies,interoperability and integration. There is plenty of fodder hereand I'm sure it will unfold in the coming months.
Source...