[REBOL] Re: ML for Jabber ?
From: jason:cunliffe:verizon at: 11-Jan-2004 23:31
> What do Jabber messages look like in XML? :) Once I know that I can show
> how it works out in ML dialect.
hmm... I have a couple of books which describe them well, but to my surprise
can't find a concise searchable Jabber message dictionary online.. But
there is the formal IETF XMPP [Jabber] definition which is pretty thorough
and does have plenty of examples:
The main site for jabber anything is http://jabber.org
The best known Jabber book is
Programming Jabber - Extending XML Messaging
By DJ Adams.
O'Reilly have a good online sample chapter which may be the most readable
example I can point you to
And I just bought a copy of a truly excellent new book
Jabber Developer's Handbook
by William Wright, Dana Moore
Jabber is designed to pass developer complexity to the server, which is
based on a cool plug-in architecture. The advantage passes to the client
applications as these are very easy to write. Although it is based on a
client-sever architecture, Jabber does an excellent job of creating
peer-peer messaging and presence. Also there is support for many
permutations including server-server. So networks of Jabber server nodes are
expected, with prejudice to the end clients.
A Jabber session is actually just one long XML message. You might say its
design philosophy is "it ain't over till it's over". So Jabber sessions are
opened and closed by <stream><> tags. Within those are a series of well
defined xml chunks. Servers and clients filter and react to these chunks,
parsing or by-passing their nodes attributes and contents.
There is already a nice Rebol/View client for Jabber by Nicolas Fournier:
There are a list of Jabber Enhancement Proposals or JEP, modeled after the
Python PEP collaborative developer pattern. They make for some good reading
also and are fill of examples.
ML Dialect is a great fit for Jabber I suspect.
I don't know how hard it would be to build a good Jabber server in Rebol.
A first project would presumably be a server extension.
On the client side it is much easier and invisible tools in rebol could
jabber enable web sites. ML would no doubt be very useful there.
I guess what one really needs is the inverse of ML - easy to- use parsing
dialect for Jabber messages so they can be routed and/or events triggered.
I welcome any suggestions you have about this