When I was at Devscovery, I was chatting with Jeff Richter over dinner about the work I have been doing with WSE. He asked me why I was working with a dead-end technology - presenting on WSE and not Indigo. I don't think it was a critical question, but that he was curious what my interest was. When I was giving my WS Security talk a few days later at the MAD Code Camp, I thought about the opposite side of the question - why should we learn WSE2 and WSE3 today?
First, you should be aware of a few things about the roadmap and some problems.
WSE2.0 integrates with VS2003 through an add-in, but not with Whidbey. You can use the API, but you won't get the nice tools that will automatically modify your config files or policy files, so you will have to hand code a lot of that stuff. WSE 3.0 will integrate with Whidbey. This is creating problems right now as people want to start doing some serious coding in Whidbey but there are no WSE 3.0 bits to work with yet. I'm hoping to see some Beta bits at TechEd. It gives the team a great excuse to make another shirt, right?
Continuing with the issues, there are breaking changes from WSE2.0 to WSE3.0, which means some re-writing if you want to move your code directly to WSE3.0. Which you will want to because WSE2.0 will not be able to talk to Indigo. WSE3.0 will be interoperable with Indigo but there is no upgrade path there.
So, back to Jeff's question. With all of these issues, why am still so focused on teaching WSE and not just diving into Indigo?
WSE2.0 is available today and I am using it today to secure my web services. I expect a small learning curve from WSE 2.0 to WSE 3.0 and look forward to easily and quickly securing my web services when I move to .NET 2.0 production apps. I also plan to convert my existing WSE2.0 implementations to WSE 3.0. That will be a good learning tool.
Is any of this a waste? Absolutely not. And there are still people who need to use this stuff now and so I still want to help them, so they don't have to be waiting for Indigo and not have a deployable solution. Or continue to cobble solutions together as I was doing before I learned to use WSE. All the learning now is going to pay off big time when we start getting serious with Indigo because we have already gone through some big learning curves.
This is what I explained to the attendees of my WS Security session at Code Camp and I strongly believe it. Indigo is not vaporware by any means, but I have to solve problems in production apps today as well as prepare for the future.