RE: Late binding

I cannot give you a clear and precise definition of early and late binding
in web services, but since the answers to your queries seem to be
discussions of GET, let me tell you what my imprecise understanding is:

If I am writing a piece of code that intends to call a web service, one
alternative is to bring the WSDL into the development environment which
examines it and presents me with programming objects (I told you this would
be imprecise) that expose the methods of the web service.  I can, if I wish,
then write code that invoke those methods and arrange so that invokations of
that code go directly to the web service and invoke those methods without
looking at the WSDL again.  In a controlled environment where I can depend
on the web service being stable this approach can have attractive
performance characteristics because it avoids constant messing with WSDL
files.  This is early binding (and is mostly the way I think we would use
web services in business applications, which do tend at this point to be
rather controlled environments).

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.  This is more robust to discovering and using web
services that might change unpredictably or have variable characteristics,
but in practice there is a considerable performance hit from messing around
with the WSDL every time you access the web service.  And since the
interface is unknown at design time the IDE cannot give you as much
assistance in using the web services.

These comments obviously reflect our preference for early binding -- I'm
sure that there are ways of describing how early and late binding work that
would emphasize the strengths of late binding.  Both techniques obviously
have their strengths and circumstances where use is appropriate.

-----Original Message-----
From: Sam [mailto:bytecode@Phreaker.net] 
Sent: Tuesday, June 25, 2002 7:14 PM
To: w3arch
Subject: Re: Late binding



I m looking for a clear and precise definition of early
and late binding in the context of web services.

Can anyone help me with that

Thanks
/sam



Mark Baker wrote:
> 
> Hi Roger,
> 
> On Tue, Jun 25, 2002 at 12:46:46PM -0700, Cutler, Roger (RogerCutler) 
> wrote:
> > I'm not sure why you think that early binding is such a bad thing.  
> > In many instances late binding is a bad thing for various practical 
> > reasons.  I myself tend to avoid late binding if I possibly can.  
> > This is not just me -- it is an accepted architectural principle in 
> > our company's development community, and I believe that there are 
> > other companies with similar views.
> >
> > Actually, I don't think that a discussion of whether early or late 
> > binding is a "good" or "bad" thing is likely to be very productive.  
> > I think that both are necessary and both must be supported.  I would 
> > be very, very resistant to a suggestion that early binding should 
> > somehow be forbidden or made impossible.  If you feel that 
> > supporting late binding is critical I won't argue with you -- as 
> > long as you leave my early binding alone.
> 
> For sure.
> 
> But just so you know my position, late binding is absolutely required 
> for Internet scale services, primarily because the coordination costs 
> of early binding are prohibitive between parties that don't already 
> know one another (and have a trusted relationship in which they can 
> exchange information about their services).
> 
> You can observe this with any SOAP 1.1 based service.  If I come 
> across some WSDL, where I had no previous knowledge of that service, 
> then I can't use the service.
> 
> Contrast this with the Web; if I come across a HTTP URI, I know that I 
> can interact with the resource using HTTP's methods.
> 
> 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 12:57:29 UTC