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

Re: Dynamic invocation vs. late/dynamic binding

From: Walden Mathews <waldenm@optonline.net>
Date: Tue, 07 Jan 2003 16:03:07 -0500
To: James M Snell <jasnell@us.ibm.com>, 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: <003d01c2b690$2d8c23e0$1702a8c0@WorkGroup>

James, I think you're missing the point.  Suppose you encounter some beast
after dark.  It moos, so you strongly suspect it's a cow, but you can't see
its
coloring at all.  It's still a cow.  And now I feel as if I've milked this
example.
Thank you,

Walden

----- Original Message -----
From: "James M Snell" <jasnell@us.ibm.com>
To: "Mark Baker" <distobj@acm.org>
Cc: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>; <www-ws-arch@w3.org>;
<www-ws-arch-request@w3.org>
Sent: Tuesday, January 07, 2003 3:48 PM
Subject: Re: Dynamic invocation vs. late/dynamic binding


>
> > 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 16:04:22 GMT

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