As most of you know, I`ve beena big proponent of the contract-first approach to Web services development. A few months ago, I hit a wall, feeling frustrated by what seemed to be a total lack of support from the vendors. So I posted
this survey to see if I was the only one feeling this way - the resultsproved to me that I`m not alone on this one. I followed it up with
this plea.
In that post, I noted that I`d be in Redmond the following week if anyone wanted to meet and discuss the issues. Bill Gibson (Whitehorse) and
Simon Guest (Mr. Interop) took me up on the offer. We had a great discussion and it was clear to me that these guys "get it". Bill told me that the feedback from
that little survey resurrected some internal discussions about what could be done in Whidbey.
I walked away feeling much better about things.
Recent conversations indicatethe tide is turning, and contract-first momentum is building.
Here`s some of the evidence:
A lot of MS folks are thinking about it, and what it means to their products and technologies. More thought has gone into Whidbey - and a lot of thought is going into Orcas - and how it jives with Indigo.
Last week at our .
NET Campsight event, we spent quite a bit of time on contract-first design approaches with the current toolset and we looked at the future Whitehorse (and even Orcas) plans. We gave students a chance to design Web service contracts using the current Whitehorse ACD (which only gets you part-way there). This gave them a small taste of what
it could be like.
After that, we had Bill Gibson come by and present some of his ideas around where he`d like to take the tools in Orcas. Everyone was salivating. We asked the students how many of them would design Web services this way if such a tool existed. All 50 hands went up simultaneously.
Side note: Bill, it would be awesome if you could post some of your ideas (and perhaps the entire slide-deck) for public consumption. It`s very encouraging.
The reality is: contract-first resonates so clearly with developers dealing with real-world integration scenarios. And once you see how pleasant the development experience could be with proper tool-support, it leaves you feeling a bit depressed with the current mess. But hope is not lost, there are a variety of contract-first techniques that can be employed today with the existing tools, which aren`t too painful. I`m working on a few MSDN articles to walk through some of these techniques in detail.
Christian Weyer also has some interesting tool ideas that he`s been
tantalizing people with on his
blogrecently. He already ships a
simple tool that integrates with VS.NET and fills some of the big holes, and it seems he wants to take the obvious next steps. There are other offerings like
OmniOperathat provide simple wizards and designers to get your XSD and WSDL up and running quickly. These types of tools are very usable today (and compelling) even though they don`t come out of Redmond.
The notion of contract first/schema first development also received a lot of airplay during the panel discussion. While it is widely recognized that this was the best way of achieving Web Services interoperability, there was recognition of the lack of tools and guidance from vendors.
This is a good sign. The more vendors that see this as an opportunity, the better for us.
All in all, I`m feeling better about the future, but those tools can`t come soon enough…