Re: Usefulness of WSDL
"RL 'Bob' Morgan" <rlmorgan@washington.edu> Fri, 09 November 2007 21:33 UTC
Return-path: <discuss-bounces@apps.ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
by megatron.ietf.org with esmtp (Exim 4.43)
id 1IqbU7-000550-7F; Fri, 09 Nov 2007 16:33:51 -0500
Received: from discuss by megatron.ietf.org with local (Exim 4.43)
id 1IqbU5-0004yJ-3c for discuss-confirm+ok@megatron.ietf.org;
Fri, 09 Nov 2007 16:33:49 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
by megatron.ietf.org with esmtp (Exim 4.43) id 1IqbU4-0004yA-QI
for discuss@apps.ietf.org; Fri, 09 Nov 2007 16:33:48 -0500
Received: from mxout1.cac.washington.edu ([140.142.32.134])
by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IqbU1-0008T5-7j
for discuss@apps.ietf.org; Fri, 09 Nov 2007 16:33:48 -0500
Received: from smtp.washington.edu (smtp.washington.edu [140.142.32.141] (may
be forged))
by mxout1.cac.washington.edu (8.13.7+UW06.06/8.13.7+UW07.09) with ESMTP
id lA9LXid5003454
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
Fri, 9 Nov 2007 13:33:44 -0800
X-Auth-Received: from D-140-142-21-197.dhcp4.washington.edu
(D-140-142-21-197.dhcp4.washington.edu [140.142.21.197])
(authenticated authid=rlmorgan)
by smtp.washington.edu (8.13.7+UW06.06/8.13.7+UW07.09) with ESMTP id
lA9LXhBh017896
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
Fri, 9 Nov 2007 13:33:43 -0800
Date: Fri, 9 Nov 2007 13:33:22 -0800 (PST)
From: "RL 'Bob' Morgan" <rlmorgan@washington.edu>
X-X-Sender: rlmorgan@perf.cac.washington.edu
To: Lisa Dusseault <ldusseault@commerce.net>
Subject: Re: Usefulness of WSDL
In-Reply-To: <B5F1E31A-AD2B-42DB-A12E-8C26843A870C@commerce.net>
Message-ID: <Pine.LNX.4.64.0711091244250.21288@perf.cac.washington.edu>
References: <B5F1E31A-AD2B-42DB-A12E-8C26843A870C@commerce.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-PMX-Version: 5.3.3.310218, Antispam-Engine: 2.5.2.313940,
Antispam-Data: 2007.11.9.130500
X-Uwash-Spam: Gauge=IIIIIII, Probability=7%, Report='__CT 0, __CT_TEXT_PLAIN 0,
__HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0,
__SANE_MSGID 0'
X-Spam-Score: -1.0 (-)
X-Scan-Signature: 5a9a1bd6c2d06a21d748b7d0070ddcb8
Cc: Apps Discuss <discuss@apps.ietf.org>
X-BeenThere: discuss@apps.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: general discussion of application-layer protocols
<discuss.apps.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/discuss>,
<mailto:discuss-request@apps.ietf.org?subject=unsubscribe>
List-Post: <mailto:discuss@apps.ietf.org>
List-Help: <mailto:discuss-request@apps.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/discuss>,
<mailto:discuss-request@apps.ietf.org?subject=subscribe>
Errors-To: discuss-bounces@apps.ietf.org
> I see WSDL proposed for some spec in the IETF every so often but > nobody's ever explained to me what it solves. The motivations for Interface Definition Languages (IDLs), of which WSDL is an example, and of Remote Procedure Call (RPC) systems, of which IDLs are a component (and of which WS-* is an example), are straightforward. Among other places they are described in RFCs 1057 and 1831, which document Sun's ONC RPC (1831 is standards-track even). The seminal paper, as mentioned in 1831, is Birrell, A. D. & Nelson, B. J., "Implementing Remote Procedure Calls", XEROX CSL-83-7, October 1983. for which a cursory search doesn't reveal an online instance. (Some might flame at calling WS-* "RPC", so OK, substitute "RPC-like distributed computing system" instead.) The idea is that protocols are hard to write, and software implementing protocols is hard to write. So an RPC system creates a meta-protocol; a concrete protocol to do real operations is created by writing an interface definition in an IDL. The IDL serves as generator for both a protocol spec and an API spec; the IDL is fed into a language-specific stub generator which produces libraries for use in that language for that interface (ie, that protocol). The programmer just uses those libraries like she would any other libraries when implementing a system. Voila, the pain of writing protocol implementations, and protocols, vanishes. This argument has been so compelling that dozens (maybe hundreds) of RPC systems have been invented, and many widely deployed, over the years. Each promises to solve the problems that have led to the previous ones not meeting the hype of their promoters. And of course the gap between hype and adoption has led to some of them being among the highest-profile computing failures (see "DCE"), at least in popular opinion. I think the story has remained largely the same for the last 25 years or so. Using an RPC system is undeniably better than the usual system integration alternative of making up a new protocol from scratch, which anyone doing system integration knows leads to appalling protocol interfaces on systems of all kinds. But RPC systems never seem to escape this niche of home-grown interfaces for a small purpose with a few consumers. Probably there are lots of reasons why this has been so. I'd guess among the most important is that IDL toolkits inevitably become language- and vendor-centric, so the theoretical cross-platform agility and interop doesn't happen in real life. So people with real scalable distributed systems work to do focus on real protocols and accept the burden of writing implementations of them more or less from scratch (often these days based on HTTP+REST). (Obviously there are many perspectives and counterexamples, it's a big Internet.) Given that Internet protocols specified in RFCs are presumably intended for those widely distributed and widely implemented cases, it seems like RPC/IDL technology, including WS-*/WSDL, is generally inappropriate. Obviously there have been exceptions, as RFCs 1831-3 and 3530 demonstrate. - RL "Bob"
- Usefulness of WSDL Lisa Dusseault
- Re: Usefulness of WSDL James M Snell
- Re: Usefulness of WSDL Mark Baker
- Re: Usefulness of WSDL RL 'Bob' Morgan
- Re: Usefulness of WSDL Tim Bray
- Re: Usefulness of WSDL Leif Johansson
- Re: Usefulness of WSDL Mark Nottingham
- Re: Usefulness of WSDL Mark Baker