W3C home > Mailing lists > Public > www-ws-arch@w3.org > January 2003

Re: Dynamic invocation vs. late/dynamic binding

From: James M Snell <jasnell@us.ibm.com>
Date: Tue, 7 Jan 2003 12:48:35 -0800
To: Mark Baker <distobj@acm.org>
Cc: Sanjiva Weerawarana <sanjiva@watson.ibm.com>, www-ws-arch@w3.org, www-ws-arch-request@w3.org
Message-ID: <OFC2B196B5.43E84ADD-ON88256CA7.0071A608-88256CA7.0072506B@us.ibm.com>

> Of course you can!  All you need in order to create an abstraction
> is commonality.  Can't you "meaningfully" treat brown cows and black
> cows as cows?

Not unless you *first* know: a) what "brown" is, b) what "black" is and c) 
what a "cow" is.  But I don't thing that's the point. It's easy to collect 
information about an object at runtime (e.g. what color the cow is, 
whether you're using a square vs. a circle, etc)... it's a completely 
different matter to assign *meaning* to that information.  E.g. what does 
it *mean* to get a brown cow vs. a black cow? 

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

www-ws-arch-request@w3.org wrote on 01/07/2003 12:30:16 PM:

> On Wed, Jan 08, 2003 at 01:21:22AM +0600, Sanjiva Weerawarana wrote:
> > > Late/dynamic binding means being able to manipulate squares and 
circles
> > > with the Shape interface.  Dynamic invocation means being able to
> > > construct, for example, a "displaySquare" message without 
compile-time
> > > knowledge of the full Square interface.
> >
> > That's fine - WSIF can handle that using something called JROM we
> > created (see alphaWorks again) to represent arbitrary schema typed
> > values.
> >
> > Clearly, in the absence of magic the information about the interface
> > (namely the data type defs) is needed at runtime at least (possibly
> > using xsi:type), so once that's available you're on easy street.

> That seems to be something very different than what I'm talking about.
> Sorry, I don't see how it relates.

> > > The former enables a client written to access Shape objects, to 
later
> > > access triangles, ovals, hexagons, you name it.  The latter doesn't.
> >
> > I guess we're back to the REST vs. WS debate; your program cannot
> > manipulate those shapes in a meaningful way without an understanding
> > of what an oval is vs. a square.

> Of course you can!  All you need in order to create an abstraction
> is commonality.  Can't you "meaningfully" treat brown cows and black
> cows as cows?

> Where's the disconnect here?  Surely you've used polymorphism before?
> (which, in case you were wondering, the Shape example isn't trying to
> demonstrate .. exactly)

> MB
> --
> Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca
> Web architecture consulting, technical reports, evaluation & analysis
Received on Tuesday, 7 January 2003 15:49:58 GMT

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