Sunday, April 23, 2006

Am I missing something?

I just read this useful article on Dennis Howlett's blog. It's about using RSS as an integration platform.

I haven't had time to follow all the links yet but it sounds like the idea is to use an RSS feed to "push" events from one application to another.

e.g. in the typical "Customer Sync" EAI scenario, rather than writing an event to an event table or publishing an event to a bus or writing a message to a queue, the "new customer" appears in a particular RSS feed instead. All interested applications subscribe to this feed and, hey presto, we're done!

The idea has many merits - RSS (superficially at least) is a simple way to do pub/sub and neither publisher nor subscriber would need to invest in any expensive middleware.

The areas that confuse me - and perhaps would be answered by following the links - are things like:

* My RSS feeds routinely miss items (e.g. if it's been a while since I last polled). I hope that wasn't your future best customer you forgot to sync to the billing system!
* My RSS feeds routiney double-up items. Better hope you didn't debit that guy's account twice!
* Unless I'm missing something, RSS isn't really "push" pub/sub. Rather: it relies on frequent polling by clients. That must place severe loads on the publishing servers.

I can't help thinking that the solution to these problems (and others) would lead us to re-discovering asynchronous messaging, a middleware tier and all the stuff we already have.

However, I'm prepared to suspend any cynicism and investigate a little further....

No comments: