I don’t know but I’ve been told, ETL is gettin’ mighty old. BAM! BAM! EDA! I want my data right away!
October 24, 2008The pace of change in the business world is accelerating at a rather alarming rate, as you may have noticed. The mighty Internet is compressing time, geographical distance and even our attention spans with ruthless disregard for our spiritual well being. As the pace of change increases the ability of any given organization to navigate skillfully in such frantic waters won’t remain a mere competitive advantage but will soon become a matter of survival, if it isn’t already.
Gone are the days of blissfully sailing across the open sea gleefully screaming "Fire!" one minute and hitting the deck the next as your competitor’s logo-imprinted cannon balls whiz overhead. We must continue the battle, of course, but the open sea has been replaced by the thin edge of an epic vortex that keeps growing larger, spinning faster. When everyone is always talking about increasing "Business Agility," whether it be through implementing a well-governed SOA or by calling upon the power of Satan, what they are really talking about is finding some way to keep from sliding down the side of the whirlpool and into the gaping maw of a giant squid.
Melodrama and nautical fantasy aside, the operating environment of the modern business is changing. Businesses are becoming increasingly sensitive to their environments as "Business Intelligence" - the buzz word that refers to actually making some use of the torrents of data flowing through our IT systems - begins to permeate our organizations.
Originally Business Intelligence (transactional data processed and presented for analysis) was employed primarily at the executive level to allow decision makers to analyze the past in order to make predictions (and therefore decisions) about the future. The current trend, however, is to push this kind of processed, aggregated and integrated data deeper and deeper into the organization, sometimes right down the the line level worker. This is being called "Operational Business Intelligence." Operational Business Intelligence is not at all strategic - it is intended to provide fast, objective feedback to operational units in order to improve real time or near real time decision making. Well, this kind of business intelligence isn’t your granddaddy’s business intelligence - it’s value is derived directly from its immediacy, its freshness and its narrow relevance. It isn’t a map for the Generals to study while they sip whiskey and play with plastic figurines. Rather, it is the static filled screams of "OH MY GOD THEY’RE COMING THROUGH THE FUCKING WIRE - I NEED AIR COVER NOW!" bellowing from the field lieutenants radio. It does little good to see such data on a report a day or two (or even an hour or two in some cases) after it is generated. This kind of data shouldn’t even be called analytics; it is direct feedback from living business processes and the good old fashioned ETL based nightly batch process that does some pretty math and coarse grained aggregations and takes forever to process just doesn’t cut the mustard. That kind of business intelligence it is too general and too damned old to be useful for making in the moment operational decisions.
Business Activity Monitoring (BAM) to the rescue! The acronym and the term were invented by some highfalutin Gartner analysts awhile back ago and refer to business intelligence systems which aggregate, correlate, and report (usually via live dashboards and other more immediate alert mechanisms) real time or near real time business data as it is generated by the transactional systems that run the business. Additionally, BAM systems will often employ a rules engine to detect actionable scenarios in the incoming event feeds and either initiate an automated response to such scenarios or alert an appropriate human who can take some appropriate action.
As you can probably imagine, the architecture and design of a BAM system must be dramatically different from that of a batch based, ETL powered system. Furthermore, simply populating the data warehouse isn’t enough - BAM systems deal with real time business events and data feeds and therefore must be prepared to detect and act upon (even if simply via some kind of alert or dashboard dashboard alarm) various business conditions. This kind of task is something data warehouses are ill equipped to address.
Rather than processing data at some interval, BAM solutions monitor business events and aggregate, process and act on those events as they are occurring. This style of processing lends itself almost perfectly to an Event Driven Architecture, or EDA. In an EDA distributed systems communicate with each other indirectly by raising "events" whenever some interesting state change occurs in the domain. These events are usually just messages placed on a Message Bus, or ESB, to which any other system also connected to the message bus can subscribe. At any given time, there may be hundreds or thousands or millions of "business events" flowing through an organizations message bus, providing a perfect opportunity for a BAM system to tap in and do its groovy business.
An Event Driven Architecture or Message Bus are not strictly required for a BAM system to work. BizTalk, for example, provides a BAM API which it expects LOB systems (or BizTalk orchestrations) to call into at various stages of processing to directly inform the core BizTalk BAM database of any interesting business activity. Somewhat more robustly, some of the enterprise BAM solutions provide a wide array of adapters that can allow transactional systems to publish events directly to the BAM software. I don’t think it would be fair to call this kind of arrangement an Event Driven Architecture; even though events are being piped directly out of transactional systems and into the BAM system, the event notifications are essentially a private conversation between each transactional system and the BAM system.
Even so, just because you can have BAM without an EDA and an EDA without BAM, the two technologies (or architectures) are perfectly suited for one another. BAM provides a layer of intelligence and analysis over real time business events, and an EDA provides a conduit for transactional systems to publish their business events to the broader enterprise in blissful ignorance of who else may be watching, including the BAM system. An EDA also provides a completely natural way for the BAM system to distribute information or initiate action when it detects the need to do so - it can just raise its own derived events, to which a dashboard, human notification system, etc. can happily subscribe. Put the two together and BAM! You have a closed feedback loop that will enable your operational managers and line level decision makers to successfully keep your Ship of Commerce out of the tentacles of a giant squid, and maybe even sink a few enemy galleons along the way.
Well, all this is just fascinating stuff, but if you aren’t a big enterprisey company with deep pockets, you will be pretty disappointed when you get to the BAM store with your fist full of change and your head full of high hopes. Most of the existing BAM vendors have been swallowed up by the infrastructure giants like IBM, Progress Software (Sonic ESB) and the like. Probably top notch solutions, but I wouldn’t know because I work for an SMB. Their salespeople generally won’t even acknowledge that companies like ours exist. The one free standing BAM vendor I could find, Systar, also prefers to sell to the big fish, or, as their "business development" guy put it, "Tier 1 Companies who pay licensing fees that start at a quarter of a million dollars". I’m not 100% sure what a Tier 1 company is, but based on the fact that he tried to convince me we didn’t really need a BAM solution, I’m guessing we’re not one of them :) So, as usual, that leaves us SMB’s alone at the bar sitting next to a Microsoft solution, in this case BizTalk, trying to decide if we should just head home alone and take care of business ourselves, or down a few more shots of Tequila, heave a deep, forlorn sigh of resignation, turn to BizTalk and say "How you doin’?"
I should have more to say about that soon as we’ll be implementing a BAM/EDA solution over the next few months. Will a bag-over-its-head be enough to stomach an ongoing relationship with the BizTalk BAM product, or will we be able to stitch something together from open source tools and good old fashioned grit, piss and vinegar? Only The Shadow knows…
Recently I’ve been doing most of my web browsing using
continue my further explorations in a new tab expecting to go through all the tabs later to read what I want to read or to catalog my findings using
A while ago 






Recent Comments