[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
you
> 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:
http://www.jabber.org/ietf/draft-ietf-xmpp-core-21.html
The main site for jabber anything is http://jabber.org
The best known Jabber book is
Programming Jabber - Extending XML Messaging
By DJ Adams.
http://www.oreilly.com/catalog/jabber/
O'Reilly have a good online sample chapter which may be the most readable
example I can point you to
http://www.oreilly.com/catalog/jabber/chapter/ch05.html
And I just bought a copy of a truly excellent new book
Jabber Developer's Handbook
by William Wright, Dana Moore
http://www.amazon.com/exec/obidos/tg/detail/-/0672325365/102-4900500-1183360?v=glance
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:
Maoww 1.06b
http://www.rebolfrance.net/projets/concours/maoww.zip
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.
http://www.jabber.org/protocol/
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
thanks
- Jason