This post originated from an RSS feed registered with .NET Buzz
by Dave Bettin.
Original Post: Indigo? I don't know no stinkin' Indigo.
Feed Title: Dave Bettin on Services
Feed URL: http://www.davebettin.com/me/rss.aspx
Feed Description: Bettin' on .Net Service Development
Last month I gave a presentation on Indigo at the Omaha.Net user group. Damn, It's already been a month?
The presentation was titled "Indigo: Why? What? How? and When?". There were about 60 people attending the user group and it was very disheartening when I asked the "How many people are aware of service orientation?" question and only a handful of people rose their hand. I also asked questions regarding the usage of technologies such as ASMX and WSE and the response was quite weak too. Only about a dozen or so people acknowledged that they heard of Indigo prior to the announcement of my talk's topic. Now, I know we live in the midwest and we just recently started using cars as our main transportation. But, come on with all the hype surrounding service orientation you would imagine more developers would have at least heard of it. Well, I guess that isn't the case.
After realizing I was deep in donkey dung, I tried to focus on discussing Microsoft's motivation behind the creation of Indigo (The Why?) and communicate approriate prescriptive guidance to prepare for Indigo today (The How?). The following is brief overview of what I discussed.
Indigo is being created to solve some of these problems or maybe make us more aware that these problems exist and are very real.
Service Orientation
There are so many different definitions for SO. I really wanted to convey a definition that the majority of people in the Microsoft camp agree with.
So here it is:
Must follow four tenets.. Indigo will be our guide...
Unified Programming Model
There are too many Microsoft distributed computing stacks. The need was obvious to create "The One Distributed Programming Model To Rule Them All"... I am sorry that oozed out of the big hole in my head... This unified stack engenders a clean declarative, layered, and extensible model. Another nice effect of an unified model is that of reversibility. Now, whimsical fellow like myself can slap around a couple of attributes and change my service from an RPC pattern to a duplex message pattern without much hassle.
Remember, Unification == Simplicity.
The What?
I didn't spend a lot of time discussing Indigo's programming model for two reasons. First, I have never compiled code against the latest milestone (M5) and secondly, I don't think drilling down into the model would help anybody understand the core philosophy of Indigo. I will save the hack-n-slash for a later talk.
The How?
This part of the presentation was an overview of two great resources on this topic, Richard Turner's blog and Joe Long's presentation at the PDC.
However, one piece of guidance I don't see mentioned that often, in the context of preparing for Indigo, is that of creating WS-I compliant services. So, I tried to articulate the importance of using ASMX to create WS-I BP 1.0 compliant services today. The only time I have seen interoperability between heterogeneous systems work without much effort is when both ends adhered to the WS-I basic profile 1.0.
If you want to know more about implementing BP 1.0 services in .Net 1.0 || .Net 1.1 take a look at this p&p book.
The When?
I wish I knew the answer to this question. The various articles/videos I have read/watched mentioned that the Indigo team should be reaching code complete by the end of the summer. Maybe we will see Windows 2003/XP preview bits later this year. View this entry (make sure to read the comments) for additional information.
Overall, I thought my talk was acceptable. However, I was disappointed in that a number of people were not aware of Microsoft's future distributed computing platform. From the small sampling, it is obvious that we need more people to spread the Indigo message. Some people are spreading the gospel, but we need more love. So, if you are at all interesting in distributed computing on the Microsoft platform; start here, grok it, and then evangelize.