We’ve come across a problem where we have some data, lets say a stock price for example sake, and we want to provide a service that notifies clients when the price changes by a significant amount.
We need this service to be interoperable with as many clients as possible, across platform boundaries. Standards-based therefore seems a good way to go.
Asking clients to poll our service seems crazy, and a recipe for quickly overwhelming our server.
Is there a standards-based way to do pub-sub or some event based way of notifying clients of interesting events?
There is WS-Eventing, by it feels like there isn’t wide framework support for it.
For the benefit of others, I’d like to put out there the idea of using XMPP to achieve this. XMPP (formerly Jabber) is an IETF standard which works somewhat like email to achieve push based instant messaging using an extensible XML based protocol. It also offer TLS for channel encryption and SASL for authentication. XMPP is also the basis of Google Talk. It is possible to run an XMPP server using open source software such as Jabber, and at a pinch its probably possible to use Google’s Talk infrastructure to relay messages.
There are XMPP libraries to simplify client and server development.