« Architectural Shelf Life | Main | Free Energy »

Sunday, August 31, 2008


TrackBack URL for this entry:

Listed below are links to weblogs that reference Extending the Architectural Life:



Poor Protocols! Better protocols based on text? It seems you meant something else, like better chance of having next generation technology to have the same protocol or very simple mapping from your protocol.
If you have meant exactly what you said, can you eloborate on how is it possible?

Dan Pritchett

No, I meant that protocols between components should be based on text. There are definitely interesting projects based either directly or loosely on ASN.1 but my experience is that most projects that eschew text protocols for efficiency wind up with something like Java serialization that makes migrating to different implementations very difficult. Even ASN.1 based protocols have significantly narrower language support than XML or JSON.


Semantical differences between protocols has caused more problem in my experience then encoding. By the way, there are AQMP and XMPP protocol. The first is binary, second textual. Both has approximately the same number of language bindings. Also I've never seend binary protocol that it is difficult to build parser in any contemporary language, have you?

Dan Pritchett

Apparently binary parsers are more difficult than we might think or we'd see more of them. Curious how Java serializable is pretty much only supported by Java despite being an open specification.

I still stand by my point that unless you are sure text generation/parsing is the primary performance driver in your component, stick to text at the boundaries.


I guess, Java serialization is not a protocol in conventional sense? RMI is not very well desinged protocol for wider audience. On the other hand, CORBA has many bindings and it is mostly binary. I would still say, text is not a saviour, just an illusion.

The comments to this entry are closed.