Microsoft made a big announcement today about having a new policy of promoting interoperability with its major products, citing modern needs, etc. If you ask me, the need for interoperability today is not much greater than it was a few years ago and this policy shift is way overdue. Along with the announcement which made for an amusing assortment of corporate-speak, Microsoft made the operative move of immediately publishing dozens of network protocol specifications on the MSDN Library. Their index can be found here. Apparently, documentation for things other than protocols (i.e., APIs) is forthcoming.
Having spent a few minutes going over some of these specifications, I have several observations to make:
- Many of these specifications have been updated multiple times during the past year or so. Unlike Microsoft’s forgotten Internet Draft for the DCOM protocol from the late 1990s, finally we see up-to-date specifications for a change. I hope with the wide availability at a high-profile location like the MSDN Library, these contemporary specs will keep getting the love they need and could be relied upon to reflect the current Microsoft implementations.
- Nearly every network service included with Microsoft Windows appears to be documented.
- The detailed specifications are a gold mine to anyone seeking an under-the-hood glimpse of the internals of Microsoft’s network services. I was particularly thrilled, as can be expected, to encounter up to date descriptions of the extensions Microsoft made to the DCE RPC protocol, the DCOM network protocol and even how COM+ (MSDTC) implements network transactions over the prior.
- The specifications are coherent in the sense that each makes appropriate references to related protocols. e.g., the COM+ specification references the DCOM specification, which references the RPC extensions specification. Even third-party references are made, e.g. to the “Open” Group’s DCE RPC 1.1 specification. (Open in quotes since, ironically, while I could readily download a protocol specification PDF from Microsoft’s MSDN with no intrusion, the so-called “Open” Group required compulsory registration for the free download, which seems to have nothing in for me except the prospect of future spam…)
- I did not tolerate enough of the corporate speak in the press release to understand the legal status of the document release, but I hope it such that will allow popular open source diagnostic tools such as Wireshark to provide detailed, complete and accurate diagnostic information about these protocols.
- The specifications tend to read more “official” than “practical.” In other words, they are more like an ISO standard than an IETF RFC. There’s hardly introductory text describing the protocols in context but rather really long glossaries you have to skim over to “get to the good stuff.” While raw technical descriptions are important, one has to question Microsoft’s true commitment to the promotion of interoperability given this state of affairs. Perhaps with their now altered target audience, we shall see improvements in this department in the not so distant future?
- Some network protocols (Exchange, SQL Server) are not yet available, but are scheduled to be released sooner rather than later. In particular, I consider the publishing of the Exchange protocols as crucial to the promotion of interoperability in the groupware realm.
So what’s your favorite Microsoft network protocol? :-)