This post originated from an RSS feed registered with .NET Buzz
by Sam Gentile.
Original Post: What Indigo Is (and isn't)
Feed Title: Sam Gentile's Blog
Feed URL: http://samgentile.com/blog/Rss.aspx
Feed Description: .NET and Software Development from an experienced perspective - .NET/CLR, Rotor, Interop, MC+/C++, COM+, ES, Mac OS X, Extreme Programming and More!
I am real bummed this week at the fact that I am not out with all of my Indigo pals at the 2nd Indigo SDR because of being grounded at the last minute by my surgeon from airline travel for a month, but my boss Phil is. I want to take a few minutes to address what I think Indigo is, mostly framed by two already well put-together posts.
It's easy, given the immense amount of secrecy that has surrounded Indigo for years, to have mistaken notions: of yet another locked-in distributed object stack ala DCOM, CORBA, RMI. But the Indigo world is not about that. If I have to express it in one word, it would be Interop. Immense amount of effort is being spent in the Indigo effort to make sure that the messages that are sent and consumed are completely based on open, standard WS-* specs and, XML and SOAP. To this regard, I agree with the arguments put forward by Benjammin Mitchell in this entry responding to a Stu Charlton post. As he points out, there is a huge difference between the programming model and the messages it consumes/produces. The programming model is still evolving but yes, it's a Windows technology to “serialize” and Interop a CLR object model over standard WS-* messages. And there is where it's important to make that distinction. It doesn't matter one bit to the outside what the programming model as long as Indigo produces and consumes WS-* standard messages that all other clients/toolkits do. Thats what Interop is all about. Benjammin also addresses the point about a new programming model. Like he does, I view it is a simplification, clarification, rationalization of all the existing distributed stacks/models like ASMX, COM+/ES, Remoting, WSE, and MSMQ into one simplified way to do distributed computing, not 5. I obviously can't comment on the programming model yet but suffice it to say it's way more simple and rational than what we have today. This is, in fact, what the CLR already did for Windows programming. Sure, technology changes. But what a benefit! Dozens of incompatible programming models ranging from VB6 to Delphi to MFC to ATL, all being rationalized into one pure managed BCL model. Thus the immense gains in productivity. The same thing is going to happen with Indigo and Distributed Computing. It's going to make a lot more sense, it will be easier to do what you want to do between two computers over a wire, because as Don said on that Building 42 tour, Indigo is really as simple as two computers talking to one another over a wire.
Speaking of Don, someone who perhaps knows a thing or two about Indigo-), summarizes Indigo in 5 minutes and plays all these same important themes: focus on Messaging, focus away from the COM/DCOM/COBRA/RMI “stovepipe solutions” and “lowering the bar of entry” to just XML is the way to get agreement, buy-in, and ultimately Interop. Indigo will subsume and replace a number of technologies you use today with one managed, rational object model with simplified semantics that can Interop with all other standard XML based platforms. The fact that the object model is better, IMHO, than other vendors is just gravy. They are free to invent something else as easy to use.