Yes, it's horribly messy. I want to examine first distributed applications that use XML as their connectors, and then move on to distributed XML data. You will all know that an XML application called SOAP is causing a lot of excitement and comment at the moment. This particular use of SOAP as RPC is anathema to long-standing and experienced developers of Internet protocols and distributed systems. However, SOAP allows the desktop to escape on to the Internet.
Applications have a Web-wide communication channel, without much overhead on their part.
This is both good, and bad. Good, as we will see more and more integration with the Web and XML from programs, and some interesting new ways of programming using the Internet. Bad, because there are associated confusions and risks with using SOAP as an RPC mechanism. You lose your interoperability as soon as you let your SOAP messages mirror your internal data structures. It may suck, but it's doing something revolutionary.