[e-lang] [RFP] cross-language object serialization (E <---> Squeak-E)

Tyler Close tyler at waterken.com
Sat Jan 18 21:06:48 UTC 2003


On Saturday 18 January 2003 16:30, Robert Withers wrote:
> [I am cross-posting to both lists]
>
> Last night, I successfully established a negotiated connection between
> an E Vat and a Squeak-E Vat.

Congratulations! I believe interoperation will be the key to
deploying capabilities.

> I don't have a link to WOMP, unfortunately.

WOMP is the complete object messaging protocol. What you're
interested in is just the object serialization used in WOMP,
dubbed WOS. The WOS is a separate specification at:

http://waterken.com/dev/Web/Object/

> While I like WOMP, and I am sure that many squeakers on the XML side of
> things would too, for my purposes I would like a binary format.  It is
> only for machine consumption, so readability isn't a criteria.

WOMP's object serialization is defined at an "infoset" layer.
There is an XML representation of this infoset as well as a fast
compact binary serialization. See the doc-code format at:

http://waterken.com/dev/Doc/doc-code/

Having both a human readable and a machine friendly representation
of your serialization let's you have your cake and eat it too.
MarkM has previously stated that this sort of duality is a
requirement for him.

> Here are some serialization criteria that I have in mind, some of which
> are implementation requirements, while others are feature requirements.
>   This is just a stab in the dark, so if you have any ideas that would
> help make this more solid, let us hear it.
>
> 1. it should be a binary representation for performance and scalability
> reasons

This is the main design criteria for the doc-code format.

> 2. it does not have to be human readable

You get this for free by having a well-defined translation to XML.

> 3. it should be easy to define new encodings

New object types are added at the infoset layer. An infinite
number of new types can be defined.

> 4. it should be easy to register mappings for new types

The typing mechanism uses a URI to identify a type. By using file
URIs you can leverage the existing DNS for collision free type
registration.

> 5. it should be a standard, if possible

The XML representation of the serialization is in standard XML
syntax.

The WOS lists some other design goals that you should find
important. I believe the support of type upgrade in WOS is
important and novel.

Tyler



More information about the Squeak-dev mailing list