All Quiet on the Longhorn Front?

So I've been in Redmond for a week now - and what a week! Seen lots of cool Longhorn technology already, as well as some ace demos - there's plenty of good new stuff exclusive to Longhorn for developers in addition to already announced pillars such as Avalon and Indigo. Incidentally, the fact that both of those technologies are now going to be available for Windows XP and Windows Server 2003 actually increases their impact. For ISVs, it means the ability to take advantage of Avalon and Indigo without requiring that all their customers machines are first upgraded to Longhorn. For enterprise customers, it means that the next-generation communications stack will be available to be deployed across their existing servers without the lengthy and cautious server upgrades that companies dread.   

It might seem that things have gone quiet on the Longhorn front since the announcement about down-level support. Actually, this is a great time to continue thinking about how the next generation of technologies will affect existing architectures. In particular, the Web Services Enhancements toolkit should be given greater prominence than ever as part of a Service Orientated Architecture.

What I hadn't fully grasped until yesterday was that the current release of WSE 2.0 SP1 is fully supported for adoption in a production environment, and will receive mainstream support until at least 2008 as per our support lifecycle policy. So you can take full advantage of this today to get advanced web services technologies such as WS-Security fully embedded in your distributed applications. When the next version of WSE ships, it will be wire-level compatible with Indigo and there even will be a cookbook for upgrading WSE code to Indigo for those customers that want to do that.

Of course, all this builds on ASMX, so if keeping up to speed with the fast moving world of the WS-* specs is more than you or your company can bear, simply using the standard ASP.NET web service support to expose service boundaries in your application is a great step on its own that will improve interoperability and extensibility of your code base whilst future proofing your application architecture. More on these subjects in future entries.