WS-* and the Hype Cycle

There's a persistent theme talked up by WS-*ophobes that it's all just a fad, rapidly sliding down toward the "Trough of Dilillusionment" in the Gartner Hype Cycle. I've come to the opposite conclusion after six weeks back in the web services world.  The WS technologies are taking hold, deep down in the infrastructure, doing the mundane but mission critical work for which they were designed. 

Let's consider one example, WS-Management, which I had barely heard of when I started in CSD Interoperability. It's stated purpose is:

To promote interoperability between management applications and managed resources, this specification identifies a core set of Web service specifications and usage requirements that expose a common set of operations central to all systems management. This comprises the abilities to
• Get, put (update), create, and delete individual resource instances, such as settings and dynamic values,
• Enumerate the contents of containers and collections, such as large tables and logs,
• Subscribe to events emitted by managed resources, and
• Execute specific management methods with strongly typed input and output parameters.

At first glance this appears to duplicate widely deployed bits of the web.  For example, it depends on the oft-criticized WS-Transfer spec, and some are advocating using Atom and the Atom Publishing Protocol rather than WS-* for describing collections and subscribing to notifications of their contents.  On closer examination, WS-Management is widely used today in situations where the web-scale alternatives really don't fit, such as deep within operating systems or in the firmware of chips.    For example:

For IT Professionals, Windows Server and Microsoft Operations Manager will enable the management of heterogeneous software and hardware systems using WS-Management. For consumers, Windows Vista will support the discovery of and interaction with Web services-enabled devices, such as printers, digital cameras, and home control systems.

Those devices may or may not be "on the Web"; increasingly support is built into the firmware of the devices. For that matter, the heterogenous software systems being managed may include HTTP servers.  Furthermore, this is not a Windows-specific technology, it is actively developed and supported across platforms by HP, Intel, and others

Another example where WS standards and technologies are quietly taking root is in the area of identity management.   Both the major identity management stacks (WS-Trust / WS-Federation and Liberty) depend on Web services technologies, and there is no credible "pure Web" alternative. The "identity metasystem" supported by  Windows Cardspace and several other vendors and open source projects that to some extent bridges these stacks is getting real adoption, inching WS-* up toward the "plateau of productivity."

Perhaps we are seeing a repetition of the pattern that made XML ubiquitous.  It was originally conceived as "SGML for the Web", but that vision has never materialized -- non-wellformed HTM, Javascript,  and proprietary formats such as PDF and Flash predominate on the Web itself. XML has become pervasive as a convenient format for less glamorous tasks, such as configuration files, summaries of site contents (RSS and Atom), and lists of lists (OPML).  Likewise, at the peak of the hype cycle the web services technologies were promoted as part of a grand vision.  The post-Vista world may not look exactly like the 2001-vintage Longhorn vision, but WS technologies are doing the unglamorous work for which they were actually designed. 

In short, from what I have learned recently, the trajectory of WS-* isn't pointing toward oblivion, it looks headed toward the same sort of pragmatic ubiquity that XML has achieved.  That's not to say all is rosy; there is lots of confusion and dissension, again just like there was in the early days of the Web and XML.   Likewise, "ubiquity" doesn't mean that the WS technologies are the best or the only option across the board,  but that it they are increasingly available as a very viable option when developers need protocol-neutrality, security, identity, management capability, etc.