SOA Mandates Data Management
By Evan Levy
I've always said that the focus on SOA is too much on the "A" for "architecture." The whole idea of SOA is to define application functions and services that need to be accessible to other systems. Prior to SOA, it was always hairy to move data from one system to another.
But everyone thinks that SOA is an integration framework. In fact it's a means of remotely accessing other systems and their related information without having to know the details. For instance, I don't need to know how my cell phone number was assigned; I just need to remember that number so I can share it with my friends.
As I've said before, SOA is the evolutionary result of all the middleware companies trying to convince us to buy their hardware-independent products. SOA's ability to business flexibility today is just as remote as the code objects of decade ago promising to make business more nimble. SOA isn't a business term. It's a technical term for technical people to focus on re-use, standard parts, and standardized processes.
Companies turning to SOA are looking for the holy grail. Consider the emergence of the term "SOA governance" to address the conundrum of SOA development planning. The core issue is how to simplify developers' work in building applications without having to understand the technical details and obstacles in between. Just because I have advanced features and functions doesn't mean I don't still have to focus on software development fundamentals. Design reviews, code re-use, and development standards still matter.
The real challenge with implementing any kind of web service, or defining services that can be re-used, is in ensuring that the data they are dependent on is well-defined. Unfortunately there is no such thing as a business process that is data-independent. Until you've standardized your data, which means implementing data management and maintaining data in a sustainable way, you can't have re-usable services. Period.
Operational BI From the Trenches
By Evan Levy
Operational BI is getting a lot of attention. The idea is a reasonable one – using recent data to make timely decisions. However as with any other current buzzword, the world seems to be piling on and the meaning of operational BI seems to be is evolving (or eroding).
BI has been around a while now. The idea is to leverage technology to allow a business person to utilize detailed data to answer timely business questions. The most well known BI tools come from established vendors: IBM, Microsoft, Business Objects, Microstrategy. Most tools use relational databases and rely on the SQL language to navigate and manipulate the data. Most data warehouses that provide data to BI tools have been built to support query flexibility, performance, and maintain a large volume of history data. The trade-off is often that there are delays in getting data loaded. Most high-value data warehouses rely on regular monthly, weekly, or daily updates. They were never built to support “operational” functionality.
The fuzzy part is what we mean by "operational." Rather than engaging in a semantic debate, I thought I'd share what we see at clients as the three common requirements where for truly operational BI:
- Load the data fast – usually right after it's created.
- Run a query fast. For instance, look up the customer’s billing history while he's waiting on the phone.
- Identify a specific business circumstance when it happens. For instance, tell the customer when she's exhausted her cell phone minutes.
As you can imagine, any one of these individual capabilities is likely to require specialized development work . When you combine these functions, it becomes pretty clear that traditional data warehouses or business intelligence tools can struggle to support Operational BI. When a legitimate need for Operational BI arises, most IT departments simply build a separate reporting data mart or a reporting platform. Why? Because the timeliness of loading and query processing makes it impractical to add on to an existing platform—unless of course they happen to have a large-scale data warehouse with unused processing capacity just laying around.
The truth is, you may not need to limit your operational BI solution to relational database, or even to a BI tool! (I made this point on a recent broadcast of DM Radio and it invited a lot of post-show dialog.) The fact is that that relational databases and SQL aren't the best (or even the most efficient) technologies to support operational BI. Indeed, there are other technologies that can support some of the Operational BI activities in a simpler and more efficient manner. We'll talk about those in another blog posting, after you've had a chance to consider this one.