Among all of my activities outside of work, Scouting is probably most dear to me. I'm the Cubmaster for Cub Scout Pack 710 in Sherwood, and both Jacob and Matthew are Cubs. Julie, as anyone who is involved with the Pack would agree, is the one who really runs things. I'm mostly a figurehead. Julie is a den leader, the secretary, and does 90% of the legwork behind my job. Mostly I get to run the Pack meetings and implement the activities she plans.
This week at our Pack meeting we decided to do some play-acting with a twist. We live in Sherwood, and Robin Hood is a common theme in our fair town. We decided to tell the story of the first meeting of Robin Hood and Little John. In the photo below, that's me on the left, our good friend Vince Meichtry playing Robin Hood, and Julie narrating.
What made this skit particularly fun was the mad-lib element. Julie gathered a collection of nouns, verbs, etc. to fill into version 2 of the story, complete with props. The kids were rolling on the floor laughing.
Joe Long from Microsoft gave a nice talk on the technology roadmap for Indigo, with a nice dose of prescriptive guidance for those of us who need to do distributed application development today but want to be mindful of the future. The talk was framed around this question: how do we support incremental upgrades of clients and/or servers as we move to Indigo?
Joe suggested two approaches to this problem:
- We can teach the existing infrastructure new protocols. For example, if I have a component written that gets deployed and accessed via Enterprise Services (COM+), Microsoft can shim in some new bits under the hood to teach enterprise services how to talk via Indigo.
- We can teach the new infrastructure about the existing legacy protocols. For example, if I write a new Indigo service, it could fall back in some fashion to talk via DCOM.
Microsoft is opting for the first approach - move the underlying protocols forward and don't look back. This does place some constraints on what you do today and what might or might not work in the future. Joe covered several of the common cases, which I'll briefly discuss here.
COM+ Binary Interoperability
Interesting stuff here - the goal is to not force a recompile of clients or servers by utilizing a bridged service environment. There are a few requirements for this to work though:
- Servers must have a type library for metadata
- Components must be COM+ / Enterprise Services. Sorry, your ATL DCOM NT Service won't magically be accessible via Indigo.
- You must be explicit about interface types when used as parameters, i.e., don't pass around IUnknown references.
- Avoid explicit use of COSERVERINFO.
- Custom proxy/stub marshalling will not be supported.
MSMQ Binary Interoperability
I was a bit confused on this point, but it appears that Indigo will provide Indigo compatibility by automatically exposing MSMQ servers via web services.
ASMX Web Services
No real concerns about interoperability here, since this is SOAP/XML.
.NET Remoting and WSE
Out of luck - don't expect much help here.
Migrating Code to Indigo
I won't go into extensive detail here - you can check out the presentation yourself if you would like more details. The gist of changes revolves around instantiation of servers and proxies - everything else can pretty much remain the same if you are writing ASMX web services or Enterprise Services components today. .NET remoting is mostly orphaned, though porting won't be too difficult. The use of "new" to create client proxies will not be supported.
Where Should We Host Server Components?
I asked this question at the end of the talk. In the Longhorn world, as in today, there are two primary hosts for components - IIS / ASP.NET, and Enterprise Services. Joe's recommendation was to use ASMX web services by default and host in IIS. If you need Enterprise Services, go ahead and use it but opt for the library component model and still host in IIS if at all possible.
I was able to have dinner last night with two of my oldest (their not old, but you know what I mean) friends: Mike and Becky Sattin. Becky's new husband Bob also joined us. Mike and I first met back in the 1978 or 1979 timeframe, and immediately found we had a lot of common interests. At that point in our lives, we were most interested in playing new computer games on his Apple II computer (Wizardry, Olympic Decathlon, Castle Wolfenstein) and sports simulation board games by APBA. And we often spent some late nights at his house playing Dungeons and Dragons.
I moved away from Indianapolis in 1982 to Albuquerque, then Omaha. In 1985 I moved back to Indianapolis and finished high school where I had started (North Central HS). During the move transition from Omaha back to Indy, I lived with Mike and his parents. I'm forever grateful for the hospitality they showed me during that challenging time. Becky was away at college at Washington University, and she was one of the key influences that led me to attend there. While I was living away from Indy, Mike managed to become a very accomplished local musician - his living room was full of guitars, drums, keyboards, and other equipment for his band. You can listen to some his early music with the band Avanti right here at MP3.com.
Mike moved to Los Angeles around 1987 to follow his muse and take a shot at the music scene there. We've stayed in touch over the years, and when I lived in LA briefly in the early 90s I was able to see him play often, I think with the band Ptexas Pteradactyls. He has been involved in a number of bands since then - Superfly Connection and Captain Pants to name a few.
I flew into LA late last night from Portland for the Microsoft PDC conference. My outbound flight was delayed due to slowdowns in the LA area from the fires, and I didn't get into LAX until around 1:30am. The night-time descent through the valley and into LA was surreal - we could see the glow from the Simi Valley fires, and the smoke permeated the cabin so much that my eyes watered. I'm glad I'll be spending most of my time indoors here - the outside world is hazy and the smell of smoke and ash is pervasive.
I lived in LA for a short while back in the early 90s, and one distinct memory of the place is a sequence of one natural disaster after another. This is a hardluck state.