On Thu, 20 Nov 2003 14:08:51 +0900, Simon Kitching wrote:
> On Thu, 2003-11-20 at 16:42, Austin Ziegler wrote:
>> On Thu, 20 Nov 2003 08:53:21 +0900, Sean O'Dell wrote:
>>> Why only in SOAP or RPC mechanisms? What makes them different from
>>> someone who calls into a library?
>> SOAP, for example, is meant for use by a variety of different
>> languages and rather expects type mechanisms, mostly because it
>> was first designed for languages that require static typing. I
>> can either build the SOAP description manually or have
>> meta-information available.
> Plus the fact that when you're passing data rather than object
> references (which is the case with any remote invocation), you
> need to do one of the following: (a) expect exactly the same class
> at the other end, (b) serialize the class (executable code) and
> send it along with the data, (c) serialize the object's data in
> such a way that *equivalent* types can be instantiated at the
> other end.

You're right.

> Even when doing Ruby->Ruby remote invocations, I presume that
> type information is required. Any of the "distributed ruby" people
> here care to comment?

Drb uses Marshal#dump and Marshal#load. YAPC uses YAML which has
type markers.

>> I don't really want a "prescriptive" mechanism -- it makes the
>> interface too brittle. If I wanted something like that, I think
>> that I'd want something like the rudimentary DbC stuff that Dave
>> & Andy put together.
> Does anyone have a URL to "the rudimentary DbC stuff"?

http://www.pragmaticprogrammer.com/ruby/downloads/dbc.html

There are other discussions, too.

-austin
--
austin ziegler    * austin / halostatue.ca * Toronto, ON, Canada
software designer * pragmatic programmer * 2003.11.20
                                         * 01.49.54