Lists Home |
Date Index |
Amelia A Lewis wrote:
> design a simple protocol, such that a *very*
> simple server can be built ... Now the server only has to
> send an event whenever state changes on the server.
> The extra overhead goes away. ...
> it isn't a very hard problem, it's just that the
> people working on it all do client/server stuff
> instead of pub/sub stuff and don't know the state
> of the art .... :-)
Err... What you outline is exactly what we've done at
PubSub.com, where we believe we *are* aware of the state of the art
and where we *don't* do a lot of client/server stuff. We do
Publish/Subscribe and only that.
Depending on the data source, we either poll for updates or
have publishers publish to us directly. We then match and send
notifications (either summaries or full content) to subscribers using
either RSS, HTTP POST (REST), Email, SOAP, XMLRPC, etc. If you want to
play with our demonstration REST service, for which a "tiny" server
can be written to receive real-time notifications, look at
http://pubsub.com/REST/ . Currently, we publicly support only
monitoring weblogs and newsgroups with this protocol but you should
get flavor of what is possible. Basically, whenever a message needs to
be sent to you, we POST a chunk of XML to your server which is the XML
content of the message we received wrapped in an XML envelope which is
specific to our service. Your "server" (code is provided as an
example) would only be a few lines of perl or PHP or whatever.
We can support publish/subscribe with all the various delivery
options for just about *any* stream of XML defined objects. For
instance, if you wanted a "product recall" service like Len discussed
a few messages back, all it would take is defining an XML Schema (or
ASN.1) for a product recall. It would then take just a couple minutes
for us to get the service running with full boolean matching on any or
all of the fields in your notification format and delivery could be
via RSS, email, or whatever else you wanted... There would only be
"polling" overhead for those folk who used RSS as the delivery method.