W3C home > Mailing lists > Public > www-ws-arch@w3.org > June 2002

RE: Late binding

From: Martin Chapman <martin.chapman@oracle.com>
Date: Wed, 26 Jun 2002 12:41:29 -0700
To: "'w3arch'" <www-ws-arch@w3.org>
Message-ID: <002601c21d49$77cbac90$155fb98b@us.oracle.com>

Couple of points. In other contexts this is the static vs dynamic typing
debate. Both have merits and have their place.

Now to comment on Mark's last point. I think I hear you saying is what
the web does is define get and post methods on all "objects". If in this
context,if  http://www.cherontexaco.com/foo/bar offers baz, goo and
gurgle these are somehoe encoded in the get or post. At the web level it
doesn't care. But when bar recieves the get/post it has to decode the
contents and "route" the request to the implementation of baz, goo, or
gurgle. If one of these doesn't exist the request fails. All that is
happening here is that we have pushed the brittleness up one level. You
*cannot* avoid the problem   that there may be a request for a server
function/feature/method that does not exist.


Martin.

-----Original Message-----
From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org] On
Behalf Of Mark Baker
Sent: Wednesday, June 26, 2002 11:08 AM
To: Cutler, Roger (RogerCutler)
Cc: w3arch
Subject: Re: Late binding



That's a fine summary, Roger.  I agree with both "definitions", in the
context of Web services.  But I'd just like to point out where the Web's
version of late binding differs.

On Wed, Jun 26, 2002 at 08:31:18AM -0700, Cutler, Roger (RogerCutler)
wrote:
> The late binding scenario would be to write code which discovers at 
> runtime, by examining the WSDL of the web service, what the interface 
> is and then uses that interface.

That's exactly right.  The problem with this approach in a distributed
setting, is that it requires a priori knowledge of the interface.  So if
I came across some WSDL that said that
http://www.cherontexaco.com/foo/bar implemented the "baz", "goo", and
"gurgle" methods, I don't know what those mean, if it's safe for me to
invoke them, what might happen when I do, etc..

What the Web does, that goes beyond OLE, is that it defines methods that
actually allow you to use the service.  COM/OLE just allowed you to pass
object references around, instantiate new objects, etc.., but not use
it, in the sense of being able to take advantage of the service(s) that
it offers.

 [1] http://www.mvps.org/word/FAQs/InterDev/EarlyvsLateBinding.htm

MB
-- 
Mark Baker, CTO, Idokorro Mobile (formerly Planetfred)
Ottawa, Ontario, CANADA.               distobj@acm.org
http://www.markbaker.ca        http://www.idokorro.com
Received on Wednesday, 26 June 2002 15:42:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:01 GMT