The “sexiest” keynote demos at Tech Ed 2005 were without doubt the two Indigo demos introduced by Ari Bixhorn, Microsoft’s director of web services strategy.
The first demo featured a DIY show running off a Media Centre PC. Overlaid across the top of the video was a button that allowed the viewer to click and order all the materials required to make the project being demonstrated on the show. Demo two showed an application running on a Windows PocketPC handheld that notified a parent when a child was starting to watch Jerry Springer, and enabled them to send a message and remotely change the channel to Spongebob Squarepants.
It’s ironic that these two Indigo demos stole the show because, as Bixhorn says, Indigo is not really an inherently “sexy” product. In fact, it’s not even a product. Indeed, Microsoft must have felt that even the name Indigo is too risque, since Indigo is to become the Windows Communication Foundation — which will probably be reduced to WCF in due course.
According to Bixhorn, WCFFKAI — “the Windows Communication Framework Formerly Known As Indigo” — is the first working implementation of a framework that embodies all the emerging web services standards commonly referred to as WS-* (such as WS-ReliableMessaging, for example).
WCF enables the construction of distributed applications using a service-oriented architecture (SOA) approach to application creation, and hides the complexity of those underlying standards for the programmer.
For example, when building a component that needs to use TCP as its transport layer, the programmer can select the appropriate TCP transport channel and the Indigo framework will do the heavy lifting of actually implementing that transport layer under the covers. Changing the component to use HTTP as its transport layer consists of selecting the HTTP transport channel instead and, hey presto, the underlying transport layer is converted to HTTP without a lot of complex re-architecting.
Another advantage of the Indigo framework is that it allows communication between Indigo components and components developed using other Microsoft distributed architecture technologies such as ASMX, MSMQ, WSE and .Net Remoting (although the latter won’t be supported “out of the box” when WCF ships). This capability allows programmers to build applications that combine already existing components built using these alternative remoting technologies, providing backwards compatibility with existing technology.
Bixhorn suggests that the WCF’s ability to simplify the programming of web services-enabled applications will lead to a huge increase in the number of web services available to be consumed by service-oriented applications. This, in turn, will lead to applications that can include components that we wouldn’t generally consider to be part of applications, such as web service-enabled edge devices like wireless digital cameras or — as in the case of Bixhorn’s demo applications — web-service enabled media centre PCs.
To make this possible, says Bixhorn, the framework needs to be widely available, and it needs to simplify the job of creating web services-enabled applications. WCF will be included in Windows Vista when it ships, and will be available as a download — possibly via Windows Update — for Windows XP.
For those interested in experimenting with WCF, a beta one version is available now, which will work with the beta two version of Visual Studio 2005.
Evans is a partner at Ideas Accelerator. Email him at firstname.lastname@example.org