Moving objects...

Peter Smet peter.smet at flinders.edu.au
Sun Jul 25 13:55:26 UTC 1999



>Peter Smet wrote:
>
>> I have been reading a book on mobile objects...


The book is called 'Programming Mobile Objects with Java' by Jeff Nelson,
Wiley, ISBN 0-471-25406-1. I like it because it is not padded out with too
much speculation or raw code (like Orfali's CORBA and Java, which spends far
too much time implementing simple benchmarking programs). I have only read
about half of it, but it has good descriptions of RMI, DCOM, CORBA etc.

There are probably lots of applications that could benefit from mobile code,
and I would like the book to talk about such applications and why these are
best implemented with mobile code much more (Things like testing across
remote images... :-). Certainly, having a mobile object bring it's own UI
across the net should at the very least simplify thin clients compared to
installing a UI interface onto 100,000 client machines....

Mobile objects seem to me the next logical step to moving the state of
objects. (The funny thing is that computer viruses have been doing a very
similar thing all along). My impression from the book is that having a VM as
a place to receive objects and 'breathe life' into them is a HUGE advantage,
and languages without a VM are going to have a much harder time adapting to
code moving across the net.

The achilles heel of all this stuff seems to lie with the serialization. For
example, I can send a serialized object or class across the net with BOSS,
but  it will collapse in Squeak, Dolphin, and even more so in Java. There
are JVM's spread all across the net, but we cannot talk to the objects in
them, since the serialized objects are not compatible with Smalltalk. Does
ANSI say anything about serialization across Smalltalks? Could serialization
be improved by MetaObject Protocol extensions? I am thinking that all
serialized objects could contain some serialized meta-information that could
be instantiated into a MetaObject (across all languages). The MetaObject
would then aid in reconstructing the state and behaviour of the 'dead'
serialized object (sorry, just rambling).

>Peter,
>
>Thanks for this post. I have been Smalltalking for a number of years now,
I've
>used BOSS a bit, and I've done a decent amount of multi processing in ST,
but
>the notion of mixing the two had never occured to me until today. Since, I
have
>VW here at work up and running, I ran an experiment there, which was
precisely
>as you asked.

Travis, thanks for checking this out! (Had to make a start on my tax return
this weekend, so no coding). While searching the web I noticed that IBM are
working on 'aglets' (agents/applets) which is the most disgusting name. They
might as well call it 'Roaches', since cockroaches have invaded more niches
than almost any creature... Anyway, they are setting some guidelines and
protocols, and doing it all in Java by the looks of it. All of it would work
just as well in Smalltalk.

>How totally cool. I'll give this a whirl with Squeak tonite (if somebody
else
>hasn't already by then). I imagine it ought to work. The ramifications of
what
>one could do with this are pretty cool. I could use sockets to stream
active
>processes out across the net to other machines. To those who do agents and
stuff
>like that, maybe this is old hat, but it was an "aha" for me... just had to
>share.


I think Alan Kay or someone else once mentioned the term 'network ecology',
which I really like. Like you, I  think the ramifications of this stuff are
incredible. Objects will become more and more autonomous, interacting with
other remote objects on the net in ways their authors may never have
imagined...

</speculative ramble>

Peter





More information about the Squeak-dev mailing list