RE: [R700b] Optional/mandatory bit (was: Comments on XML Protocol Reqs)

> How
> would the server find out that M and L are in fact substitutable?

This is doable if there is an object hierarchy.  If M is a class of
message handler that is derived from L, so that its functionality is a
superset of L's, the the message can be treated polymorphically depending
on context.

This is the approach we took with the WorldOS internal protocol and it has
worked out quite well.  It takes an OOP approach to object binding and
applies it to node binding.  The main impact is in using intermediaries,
since you can have a complex chain of proxies, each with different
capabilities.

A usecase is with different versions of a protocol.  Message M contains an
XP v2 envelope, and it is derived from message L, which contains an XP v1
envelope.

To make this work all you have to do is assure that
* extensions made in v2 don't break v1.
* v1 forwarders can pass on the message without losing the v2
characteristics.
* a node which receives a message can figure out enough about the
derivation tree to make a sensible decision.

- Lucas Gonze

Received on Wednesday, 10 January 2001 14:25:56 UTC