In the human world people move around, interact, and move on. The interaction protocols: on the surface language, commonalities, and purpose, aren't well understood but the interactions work. You and I could meet tomorrow, exchange some information, and move on with both of us marginally enriched by the experience. Eventually computing applications should be able to do as well, but not yet.
XML, as practiced by Microsoft and most of the people afflicted by its marketing needs and tools, isn't really XML as defined under the ANSI GCA 101-1983 SGML (Structured General Markup Language) specification and is pretty clearly failing to establish itself as the uniform common boundary between processing objects. JAVA, which started out as a virtualization of the hardware in TV set top boxes and became the business critical technology it is now mainly in response to Microsoft's PC coding habits, has over achieved its design. To say that using XML in communications is inefficient is to call Mount Everest a molehill, put it together with Java, itself about as efficient as a federal level government bureaucracy, and what you get is inefficient beyond the ability of metaphor to express.
Of course, in a world where lots of people use a sixty million line furball running on a 3.5Ghz P4 with 512MB of RAM to jot down notes, that's not exceptional - but it is objectionable.
In thinking, rather wistfully, that what I really need for a project I'm worrying about is RFID imprinted paper that selectively self reports some part of its contents when queried, it occured to me first that this is exactly what people do, and secondly that such a technology exists. It's called JXTA (an abbreviation for juxtaposition) and has the potential to do exactly what I need done.
Sun's JINI creates self reporting ("RFID equiped") network objects, JXTA establishes the protocols under which these interact. Cool, get my users on Sun Rays (since these now support remote access over shared networks), have them create the documents defining their business process as JXTA ready "business packets" and send them on their merry way to report only what they're supposed to at various different points in the process.
Nice vision, but it's a long way off - and I don't get to use the latest version of cocoon. On the other hand, it may be the long term right answer...