The Back Seat
Tim Ewald:
Of course Indigo also offers XML messaging, but it is hidden behind RPC-style invocations and object marshaling layers. When I talk to members of the Indigo team about this, they’re always quick to point out that the system is layered such that I could strip away the object layer and deal with XML messages if I want to (but who would want to?). Somehow, I always leave those discussions feeling like an angle-bracket loving freak. Yes, I can get to what I want if I’m willing to do a bunch of extra work. In short I’m using Indigo in a supported, but non-standard way. Welcome on board, your seat is at the back.
The situation Tim describes is remarkably similar to what the viewpoint expressed in this post suggests, namely that the XML-centric additional APIs in JAX-WS (née JAX-RPC 2.0) provide a solution to the problems described in the Alpine paper. They do, but you still pay for what you don’t need, especially since every JAX-WS implementation is required to implement the object-centric APIs as well.
(The side note in that post, which argues that XML is a bad choice as a programming language syntax, manages to miss the point by a remarkably wide margin.)
Could you elaborate a little bit on your last sentence, please?
O/X mapping not only creates a lot of subtle and not-so-subtle problems, it also fails to exploit the potential benefits of XML.
The point is that XML as a programming language is a dumb idea is absolutely valid. But it’s got nothing to do with the O/X discussion.