Craig McMurthy has published an essay providing guidance on preparing for Indigo. As Craig mentions, he takes a different approach than two other guidance articles published by Juval Löwy and Richard Turner. Craig says:
"The approach that will be adopted in this document is somewhat different. It begins not with isolated technical requirements, but with the larger context of a software development enterprise, and then goes on to identify some common application architectures, and to provide suggestions on how to implement those with technologies that are available now."
Craig's approach is interesting. He draws an analogy with a revolutionary new type of vehicle, that unifies the best of public transport, cars and private jets. This new transport will appear next year. It seems obvious to not invest in buying a vehicle that exists today, because that investment will be waisted. With that analogy it seems obvious to wait for Indigo and to not invest in today's technologies: Enterprise Services, Web Services and .NET Remoting. Craig says:
"Asking which technology for communication among software entities one should adopt today anticipating the forthcoming release of Indigo next year, is about as absurd. One should naturally begin using the prototypes of Indigo right now, and certainly forego any investment in existing technologies for the time being."
But what if you don't have any transport today and need to go somewhere tomorrow? You can't always wait for next year's promise. Even if you think Indigo Beta 1 RC is solid enough to use, you are not allowed to use it for production systems. It doesn't come with a "Go-Live" License.
I think the situation is not as bad as Craig portrays it to be. You can have your cake and eat it too. Microsoft is making sure Indigo will not completely alienate people using today's technologies. Would it be bad to invest in learning how to drive in next year's transport by driving a transport that has a similar interface? Next year you just swap the engine and chassis for a much more powerful one and you're done. The cockpit you are used to might remain quite similar. Yes, next year's transport provides a brand new and more powerful cockpit, but you are not forced to use it.
Read Juval Löwy's Preparing for Indigo-Choosing the Right Technology Today to decide if you should drive a train, a plane or a car if you haven't decided already. Of course test driving the beta of Indigo is highly recommended. But due to the uncertainty of the release date for Indigo you shouldn't stop thinking about today's technologies. I have been lobbying with Richard Turner to finally get the Proseware sample application created by Clemens Vasters et al released. It showcases a combination of Web Services (with WSE 2.0) and Enterprise Services for a Service Oriented system with a Contract First approach. Even though it was supposed to be released more than a year ago, I think it is still relevant guidance.
What do you think? Should we only focus on Indigo or are today's technologies just as relevant?