Over the past few years, many organizations have invested heavily in service oriented
architecture (SOA) as an approach for creating a more agile, responsive and re-usable
IT infrastructure that can respond effectively and efficiently to business requirements.
But as organizations continue to focus on SOA and building services that can
be re-used and shared across different business processes, there's one issue
that's often overlooked; the reliability of the underlying data.
At one level, SOA is all about connectivity and building composite applications
out of discrete services that can be leveraged across different business processes
and managed both separately and together. But SOA is also about communication-about
enabling those services to convey and leverage corporate information effectively
across those different business areas. And effective communication requires
consistent, reliable and accurate underlying data.
Unfortunately, most organizations have been fighting a losing battle when it
comes to being able to create and maintain consistent and reliable data across
ever-more distributed business and IT systems. And while SOA-type data services
can make data more accessible and even make access to that data more consistent,
there's no guarantee that the underlying data itself is reliable or consistent.
The opposite of reliable is unpredictable - Even if your data is "mostly
reliable" the 3 records in a thousand that break the rules will screw everything
else up and waste huge amounts of time - "mostly OK" is not the same
as "guaranteed reliable" and the difference can cost you a lot. (you
"mostly" don't crash your car, but you still buy insurance for the
chance that you might - can you afford to 'crash' your systems with faulty data?)
In effect, I believe that unless organizations pursing an SOA strategy give
some solid thought to their underlying data, they're setting themselves up for
a wide range of potential problems down the line. Think of the analogy of a
company building a larger, fancier and more complete supermarket, with all types
of easy entrances and checkout lanes, but with the fruits and vegetables displays
all mixed up and mismatched. Or with canned goods stuffed into the freezers
and milk sitting on the shelves next to the dog food. Building a better and
more efficient supermarket requires not only attention to the overall structure,
design, architecture and use of the store itself, but also close attention to
the underlying goods and products that make up the basis for the store.