Johan den Haan, the head of research and development at Mendix and author of the blog The Enterprise Architect, recently pointed out that there's precious little written about SOA and data:
When reading these stories I mostly ask myself: Where is the data?
An astute question -- and a timely one, since DM Review just published an article by a database engineer addressing just this issue.
The writer -- Derek Wilson -- is a database engineer for Repubic Mortgage Insurance Company, based in North Carolina. Wilson writes that many customer data integration (CDI) projects are just too darn huge. They try to merge data together from all the source systems and see this as something that must be completed before the system is ready to do real work, like building a production process or application that actually uses the data.
He sees two problems with this:
Couple the two and you've got a massive project that no one wants to fund.
Instead, he suggests a "build-and-ready" approach, which instead takes on data integration on as an-needed basis. You look at your end goal for the data, map to the source systems for that data, and build the web service to encapsulate the business logic needed to process the data.
You can either build your services as part of a specific, business-initiated customer data integration project, and include the cost of creating the service into the project, or you can build them as stand-alone IT projects, but develop them whenever you have to modify an application anyway.
What's brilliant about this approach, at least from an executive viewpoint, is that solves the problems Wilson mentioned, plus two more problems:
If you're looking for something more detailed, you should also read den Haan's full post, "Data Sharing in a Service-Oriented Environment." He's an enterprise architect, writing for other EAs, so his discussion -- and the resources he references -- are great reads for technologists struggling with the nitty gritty of data and SOA.