Many organizations' data-handling practices are downright "medieval." Can SOA-inspired practices help move enterprise data management into an age of enlightenment, or could it plunge things even deeper into the dark ages?
Simply exposing data through services may create more problems than it solves
Recently, ZDNet compatriot Dana Gardner posted an interesting discussion on managing enterprise data within an SOA contect with WSO2's Paul Fremantle, Brad Svee of Concur Technologies; and RedMonk's James Governor.
Paul made the point that many companies are still undertaking "medieval" approaches to data transfer, such as transferring data between departments on CDs. Or, organizations force employees to engage in redundant or even useless processes to handle the data. The old model -- relational database management system with lots of bells and whistles attached -- just doesn't cut it nowadays, when organizations need real-time, well-connected insights and interactions.
Decision makers "don't want to know what happened yesterday," he said. "They don't want to know what happened a week ago. They want to know exactly what happened right now. So it's very important that we move away from batch-oriented systems and file dumping and move to a real, live connected world, which is what people expect out of the Internet."
That kind of capability can't be built into single, monolithic systems. And many current procedures of handling data, such as putting it on CDs -- apparently still a common practice -- are fraught with risk that SOA methods can help mitigate. A service-oriented approach provides an enterprise view of where data was going and why. "It's really essential to move the ownership of that data to the people who really know it, create it, and own it, and that really plays to SOA," Paul explained. "This is the model of keeping the data where it belongs and yet making it available to the rest of the world."
However, there's more to creating data services that simply exposing interfaces as services. As James Governor put it, many companies have the misguided notion that, "Oh, we can we can just take the system as it is and make it available as a service." But much more process is required, or else companies end up creating new issues with too much data being exposed in the wrong places. "You want to do some thinking and modeling about your data, your data structures, and how it can be accessible, and so on, because of this notion of 'leaky abstractions,'" he explained. "You can push something in one place and something else is going to pop out in another by just taking a service as it is and making it online. You may not be doing the work required to use it more effectively."
Another risk is that while SOA alone can't assure that data is of the highest quality, or is consistent. This challenge was explored in a Webcast sponsored by Informatica and hosted by ebizQ.
In this Webcast which I moderated (posted in a summary here at the Informatica blogsite), Ash Parikh, principal product marketing manager for Informatica, noted that "SOA promises to deliver business agility by breaking down barriers between silos of applications, and by reusing business services," he said. "However, if the data stuck inside silos is bad, is stale, or is inaccurate, imagine the calamity. The silos may disappear, but then data from many different applications becomes co-mingled."
The issue isn't simply about enabling access to data across the enterprise, Ash said. The greatest challenge enterprises face is ensuring the quality of the data that becomes accessible as a result of SOA. "Enterprise data is complex, it's about volume, latency, and many formats. It requires that as part of SOA, data be treated as a strategic enterprise asset that addresses the various data integration challenges."
The way to accomplish this purposing of enterprise data assets within a SOA environment is through the delivery of "data services," Ash continued. "Data services is a highly flexible simple and cost-effective solution that provides the model and standards-based reusable abstraction layers that lower the complexity of delivering data from silos. Data services deliver a single consistent view of all enterprise data at the right time."
From a technical viewpoint, a data service is a modular and reusable well-defined business relevant-service that leverages established technology standards, he adds. A data service "enables access integration to right time data throughout the enterprise and across corporate firewalls. Data services create an abstraction layer to all analytical, operational information, and serves it up to other abstraction layers, which could be an [enterprise service bus]," he says.