You can view the object system as above or below HTTP. At the lower level, we
have a DII server interface. Objects have handles (http: URLs), and the
interface is responsible for marshalling requests and replies. Unfortunately,
there is no built-in typing, much less metainformation for marshalling, so we
have a barn-door situation here. But HTTP *can* invoke any new method with
some arbitrary argument data upon the "resource" behind some url. And, we can
reverse-engineer appropriate typing and marshalling formats (viz. the weak
precedent of HTML and FORMs)
Sure, but what about callbacks? Ignoring the symmetricity of object
systems makes this analogy and argument not very insightful to
me. Current server-push and client-pull implementations are somewhat
pathetic in this regard, even though both could be usurped to provide
support for such a callback mechanism. One could argue that objects
within browsers and the browser/viewer itself is irrelevant and all we
have is HTTP servers and objects behind them, but I don't see anyone
pushing that viewpoint anymore (see Sun's loss of the recent Fedex
deal and read between the lines :).