Thursday, December 09, 2004
« Heartland Developers Conference 2004 | Main | Blogs have no rules? »

Last night a group of top developers from the Minneapolis area had dinner with David Chappell. Great company, great food and great conversation; what more could you want?

 

The conversation ranged wide, from whether parents should perpetuate the myth of the Tooth Fairy and Santa all the way down to how Whidbey’s System.Transactions compares to the transactional functionality in BizTalk Server.

 

At one point during the conversation David mentioned that there’s not only an impedance mismatch between objects and relational data, but also between users and objects and between services and objects. While the user-object mismatch is somewhat understood, we’re just now starting to learn the nature of the service-object mismatch.

 

(The OO-relational impedance mismatch is well-known and is discussed in many OO books, perhaps most succinctly in David Taylor’s book)

 

I think that his observation is accurate, and it is actually the topic of an article I submitted to TheServerSide.net a few days ago, so look for that to stir some controversy in the next few weeks :-)

 

I also heard that some people have read my blog entries on remoting (this one in particular I think) and somehow came to the conclusion that I was indicating that Indigo would be binary compatible with remoting. To be clear, as far as I know Indigo won’t be binary compatible with remoting. Heck, remoting isn’t binary compatible with remoting. Try accessing a .NET 1.1 server from a 1.0 client and see what happens!

 

What I said is that if you are careful about how you use remoting today you’ll have a relatively easy upgrade path to Indigo. Which is no different than using asmx or ES today. They’ll all have an upgrade path to Indigo, but that doesn’t imply that Indigo will natively interoperate with remoting or ES (DCOM).

 

(Presumably Indigo will interop with asmx because that’s just SOAP, but even then you’ll want to change your code to take advantage of the new Indigo features, so it is still an upgrade process)

 

What does “be careful how you use remoting” mean? This:

 

  1. Use the Http channel
  2. Host in IIS
  3. Use the BinaryFormatter
  4. Do not create or use custom sinks, formatters or channels

 

If you follow these rules you should have a relatively direct upgrade path to Indigo. Will you have to change your code? Of course. That’s what an upgrade path IS. It means you can, with relative ease, update your code to work with the new technology.

 

Thursday, December 09, 2004 4:18:39 PM (Central Standard Time, UTC-06:00)
How about custom call headers using CallContext.SetHeaders() prior to issuing remote calls? Would you consider it safe to assume this would survive a transition from Remoting to Indigo?
Thursday, December 09, 2004 4:53:35 PM (Central Standard Time, UTC-06:00)
I think it is safe to assume that there'll be a provision for out-of-band data transfers, yes.

The reason I think this is a safe bet is because the concept exists in remoting, asmx and WSE today, and so it is a good bet the idea will carry forward.

As with everything here, there will be code changes required to move to Indigo - but the important thing is that the concept carry forward so there is an upgrade path.
Friday, December 10, 2004 11:17:08 AM (Central Standard Time, UTC-06:00)
I was the person talking with David Chappell about remoting and Indigo this past Wednesday evening. I went back and re-read your original post. I understand what you meant now - I read too fast the first time. Thanks!
Mike Jones
Comments are closed.