In the comments, a couple of folks have responded to my criticisms of Indigo by suggesting alternative technologies for building distributed applications. I'm not looking for alternatives to Indigo. I'm working towards a better Indigo. I'm convinced that the underlying Indigo infrastructure can and should support the programming model that I envision. I want to help Microsoft avoid missing the opportunity to provide an entire generation of programmers with the tools to quickly and easily build scalable, reliable, and manageable distributed applications.
I think the Indigo team is operating under a set of assumptions that are invalid. They appear to believe the following things to be true, but I believe these things are false:
- Asynchronous messaging is inherently more difficult than RPC.
- Building business applications is just like building shrink-wrap software.
- Service orientation is achieved on the wire, not in the programming model.
- Ease of code migration is more important than wire compatibility.
- Mapping between a service's external messaging interface and its internal representations is a mechanical detail that's best handled by the plumbing.
I want to explore each of these notions in future posts as I develop my proposed alternative programming model for Indigo.
Posted
Aug 26 2005, 08:34 AM
by
john-cavnar-johnson