In the waves of enterprise information technology updates, the conflicts often have clear cut lines. Typically several players vie for a defined space (ERP, anti-virus, CRM, email, etc). The analysts create criteria to rank the solutions, and customers select from one of the choices. In many ways, the battle to win customers rages in straightforward thrusts and parries of product features, marketing messages and sales channels.
But now an assault is occurring for a linchpin of enterprise infrastructure, and the eyes of the defenders seem to be distracted by shiny objects. In only a few years, a central event store will be a standard part of nearly all enterprises, and that architectural decision currently is being made indirectly at many organizations.
Many companies have begun to realize the benefits of deploying social computing technologies. The exact technologies range from wikis, blogs and forums to communities, profiles and activity streams. Microblogging, short messages between users and groups, has shown high levels of adoption and value from its combination of simplicity and usefulness for both real-time and asynchronous communication. Microblogging seems to be achieving its greatest value in the context of broader activity streams that serve as a kind of nervous system for the company.
The battle for the corporate activity stream / microblogging solution, however, is merely skirmish in a much larger battle. While companies enjoy immediate value in these solutions, the strategic value lies in overall "event store" which consists of the activity streams along with the related analysis, notifications, storage, distribution, reporting, etc. The closest parallel to this is the data warehouse which turns information from the transactional systems into a tool that lets companies better understand their business and their market.
But how do these activity stream events like, "Brian Kellner added document DraftReleaseNotes.docx to the Product Management Community" compare to quantitative data like product sales? The simplest way to visualize the value of these human-generated events comes from looking at a larger scale consumer systems. Research from HP Labs across 24 different movies showed that Twitter traffic and sentiment was highly predictive of box office returns. http://www.cbc.ca/technology/story/2010/04/09/twitter-box-office.html As another simple example, NewsGator analyzes mentions of publicly-traded companies in social and mainstream media and compares the rates against historical numbers to generate alerts as illustrated in the graph below.
Inside the enterprise, we have found that fewer samples are needed to achieve good results (primarily because the inputs are so "clean" and highly attributable). Social Sites has contained an automated expertise scoring algorithm since last fall which calculates the strength of connection between people and terms based on the data in the activity stream (see example graph below).
So if there's so much value in Event Stores, why doesn't everyone go out and buy one today? The answer is that all Event Stores are currently tied to some other platform, and very few of the current offerings go beyond the direct functionality of a microblogging channel or a list of activities. Consequently, companies are often evaluating these solutions for the near-term features versus the longer term architectural impact.
Before we dive into who might be wheeling a big wooden horse into your architecture, let's take a quick look at what an event store really needs to handle. The image below shows an action and a reaction.
In the top line, you can see that a person takes an action. For microblogging, the action is typically just text (possibly with links or attachments) and the type of action is often "status update" or "microblog". Even from this simple example, you can see that attaching the event store to a common profile store is extremely powerful. If you can't correlate all the people taking actions with a common profile store, it's quite difficult to do things like expertise scoring. The optional object element matters greatly because calling attention to specific resources generates a ton of value. A huge amount of valuable corporate information is within documents. The context element is crucial for three reasons: it allows for transmitting events beyond direct person-to-person connections, it points to valuable places or groups of people, and it gives a reference to the privacy or security of an event.
Reactions generate a huge portion of the value. Even simple "like" actions can power filtering and notification functions. The ability to chain multiple comment reactions onto an item creates a simple chain that is easily read and great for asking and answering questions.
So now that we have an idea about the value of an Event Store, the kind of data it holds, and it's relation to other parts of the enterprise architecture, we can look at which vendors are playing in this space.
- Line of business systems: Social CRM is quite a hot term right now, and the CRM vendors provide a good example of this category. CRM systems contain a good amount of data about customers, and sales, marketing and support people may all be using the CRM system within your company.
- Pure microblogging solutions: These solutions have gotten good traction, and they tend to focus on ease of use and simple interactions. While these systems rarely have access directly to events, they might eventually become a broader event structure.
- Platforms: I would put SharePoint in this category (especially with the addition of Social Sites). These systems are meant to be multi-purpose, have built-in profile stores, and tend to hold a great deal of the valuable content of the enterprise.
So now you've been alerted to the fact that picking some of these solutions may put you on a road toward picking them as your Event Store (or buying into some level of data migration or ongoing synchronization). The questions below should be helpful to consider as you go down the path of planning your architecture and picking solutions over the next few years. As you consider these questions, bear in mind that, in the next few years, it's quite likely that you'll be emitting events to and consuming events from customers, partners, former employees, and several other external sources.
- What portion of the employees use / have a license for the system?
- What portion of the events that you want to capture natively occur in this system?
- Does it have the flexibility to take in, store and utilize all the events from all the contexts and systems you use?
- How closely does it tie to a common profile store?
- Do you feel comfortable with ALL of your company events residing in this system?
The battle for your Event Store is unlike many IT decisions. At the current level of maturity in the market, it's rare that you'll be making this choice explicitly today. But just be aware that the shiny new software package or service you pick today may have a whole bunch of other commitments and repercussions inside that are just waiting to spill out. And if you find in a couple years that your company is struggling with finding internal experts or being able to work effectively with partners and suppliers, you may not need to look much further than your Event Store Trojan Horses to understand why.