Your Mileage May Vary

I am pleased by the quality of comments and responses to my most recent admittedly rather, uh, blunt post. Sam Marcuccio (and others) wonder why I'm so harsh on Indigo (oops, WCF). I'll point Sam and others to this post from Bruce Williams. As you can see from my comments back then, I've now actually mellowed out a bit about Indigo. I continue to believe that the underlying technology in WCF is a brilliant piece of work that's crippled by the fact that the only really accessible interface to it is the same old distributed object model that we've come to know and hate. If the WCF team really understood messaging and weren't trapped in the old distributed object world, it could be a revolutionary technology. As it is, Sam Gentile is correct in asserting that they're largely just reinventing DCE RPC.
 
Udi Dahan's post is right on point. My desire to follow the layout of Rich's article obscured my main point about messaging. Udi is exactly right that key to building a successful service is implementing an asynchronous messaging mechanism. If you are sufficiently clever, you can do that with just about any protocol, but for the typical developer or architect, by far the easiest is System.Messaging. If you've ever done any MSMQ programming, you'll see right away how to map Udi's proposed messaging design to the System.Messaging API. If you've never done any MSMQ programming, take a look at this post from the Solutions Monkey (I love that name for a blog).
 
Whether or not you've done any MSMQ programming, you definitely need to go read David Ing's latest. And I'm not just saying that because he left a nice comment here.
 

Posted Aug 07 2005, 09:34 PM by john-cavnar-johnson

Comments

Sam Marcuccio wrote re: Your Mileage May Vary
on 08-08-2005 8:03 PM
OK, I starting to see your point, John. But I don't think I have my brain completely wrapped around it. (and I don't think you do either).

After reading your thread with Bruce, I think he was having the same problem as I. If the attributed interface model doesn't work for you, what does? My first assumption was that you were after an interface to the message (in my head, the WDSL). But after seeing your example, I'm still wondering why the attributed interface model doesn't work.

Your example:

message Address
{
string Company;
string RecipientName;
string AddressLine1;

... the rest of the message members ...

}

How far away is this from a DataContract? (Essentially, a macro could do the conversion)

Don't get me wrong, I'm completely on board with a syntax for the message, I just don't see this as being such a huge deviation from the perfect world scenario.
Steve Swartz wrote re: Your Mileage May Vary
on 08-12-2005 10:00 AM
John, I'm confused about a different set of your facts.

Indigo supports asynchronous messaging. You seem to believe it doesn't.

Indigo supports translating public contracts to application contracts. You seem to believe it doesn't.

Indigo supports XML programming as well as programming against CLR types. You seem to believe it doesn't.

What part of what you want doesn't Indigo do?

Add a Comment

(required)  
(optional)
(required)  
Remember Me?