[R]egardless of the architecture, you need to understand how the data is structured and who owns it.
BAAM! That's my biggest beef with all this SOA stuff: the functions/procedures/RPC/Web Services part is easy, it's getting all those different systems to understand each other. You can hook up all the distributed services layers you want, but if you're not speaking the same language (or spending lots of time translating), you're shit out of luck.
It's kind of like the "translation crisis" I've heard snippets about at the EU. You have this huge "architecture" of a government -- the rules, regulations == the protocols of SOA. But, everyone speaks a different language -- different was of structuring the data. Without a way to translate all of that effectively, the architecture is, for the most part, a moot point.
(I can buy in that the SOA's foundation in XML makes translation and speaking the same "language"/data easier. But, I think that's the core value in any distributed system: not the ability to simply connect and get things from different systems, but the ability to talk to and understand the data from those systems.)