February 20, 2004

Web services alphabet soup

Is the glut of Web services protocols a morass or a precursor to unprecedented harmony?

Here's one popular definition of insanity: "Do the same thing, expecting a different result." Now consider the following partial list of proposed standards for Web services: WS-Addressing, WS-AtomicTransaction, WS-Attachments, WS-Context, WS-Coordination, WS-Eventing, WS-Federation, WS-Reliability, WS-ReliableMessaging, WS-Routing, WS-SecureConversation, WS-Security, WS-SecurityPolicy, WS-Transaction, and WS-Trust.

That's just the WS series; there's also XML 1.0, XML Schema, SOAP, WSDL, UDDI, XML-DSig, XML-Encryption, XKMS, SAML, XACML, ebXML, BPEL4WS, WSRP, and a partridge in a pear tree. Is this nuts? Some people think so.

The watchwords of XML Web services were the watchwords of the Web: simplicity and universality. But as the specs multiply like weeds, it's fair to ask if we're now just reinventing CORBA and DCOM, doing the same old thing and crazily hoping for a different result.

I recently put the question to John Shewchuk. He's an architect on the Indigo team at Microsoft, working on Longhorn's next-generation Web-services-oriented communication subsystem, and a co-author of a bunch of the WS specs. According to Shewchuk, we're not just reliving the past.

There is something qualitatively different about the WS menagerie: modularity. "We took a building block approach," Shewchuk says. "WS-Security is a small 10-page spec. You could knock out an implementation over the weekend in Perl or Python." That's because WS-Security doesn't try to do everything; it's just a framework for securing messages. Likewise, WS-Addressing paves the way for asynchronous, transport-neutral communication. And WS-Trust lays the groundwork for a range of security protocols.

What makes this modular approach possible, Shewchuk says, is XML itself. "Before XML, what always ended up destroying our protocol stacks was fixed-offset dependencies." At the time, you couldn't modify or extend packets without breakage. But XML packets are flexible, accordion-like structures. Individually they can grow; collectively they can be rearranged. This "composable architecture," Shewchuk argues, is something new in the realm of communication protocols.

Good answer. But we're still left with a zoo of protocols that, for most developers, create severe cognitive overload. It's one thing to say that a secure transacted session can be composed out of these modular parts, but quite another to actually achieve that effect. Shewchuk agrees. The solution, he suggests, is tooling that enables a declarative style of programming.

This idea dates back to MTS (Microsoft Transaction Server). Before COM+ and J2EE, MTS pioneered the notion that you need not write lines of code to invoke services such as transactions or object pooling. Instead, a programmer could invoke these services with simple attribute declarations. Or an administrator could achieve the same effect by setting attributes in a management console.

When Indigo ships -- and by the way, it's expected to land ahead of Longhorn itself and to show up on today's versions of Windows as well as tomorrow's -- the goal is to offer tools that use this approach to tame the kudzu-like proliferation of standards. "In Indigo, it boils down to attributes," Shewchuk says. "You tell the run time you want confidentiality, longevity, and reliability, and it uses the composable architecture to translate that into a configuration on an execution pipeline."

You've got to love the vision. Is it a recipe for WS-WorldPeace? That will depend on Microsoft's commitment to base standards, which so far looks more solid in Indigo than in Avalan or WinFS. It will also depend on everybody else figuring out what Microsoft has always known: packaging technology, in ways that make sense to average developers, matters a lot.

Close

On Twitter now

Architecture

Powered by Twitter

On Twitter now

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive Architecture Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2009 Infoworld, Inc.