Nothing like a nice pissing contest: Rich Turner and John Cavnar-Johnson go back and forth about how to do distributed programming the right way. The starting point was Rich’s whitepaper on Developing Distributed Services Today, to which John posted a somewhat less than favorable comment. Rich responded (a little childishly, IMO, even in the edited version); John followed up again.
The central issue is whether or not an RPC-style programming model is a good choice for building modern distributed systems (I agree with John that it’s not.) Not being an Indigo/WCF programmer, I was a little puzzled by this paragraph, though:
At the heart of the internal model of Indigo is a very powerful concept of a message. Unfortunately, this conceptual model is never exposed to developers and architects directly. You can only manipulate it indirectly, either through low-level XML processing or by applying a set of opaque attributes to a .NET type.
From this old post of Don Box, I understood that the
ProcessMessage API was exactly what John is looking for — an API that gives you direct access to the message, without any method dispatch or O/X mapping going on. Can any reader knowledgeable in .NET maybe enlighten me? (Do I actually have .NET-aware readers? :-) )