This memo defines the Extensible Protocol (XP). XP is a generic
application-level protocol meant to serve as the foundation for
specific protocols, in a manner analogous to the way in which the
Extensible Markup Language (XML) recommendation of the World Wide Web
Consortium serves as the foundation for specific markup languages. XP
is a bidirectional protocol on which XML documents are exchanged
between two endpoints.
Pretty slim and low-level, but I'm not sure this is the right place to
start. I consider request/response matching a pretty high-level construct
- important, but not something you want to specify at the base. I do
however like the idea of abstracting object identity via event
notifications ("Channel") - it solved a whole lot of problems for me
(global id namespace, language-independant id representation).