Sunday, March 26, 2006

HTTP/POX XML Based EDA / Pub Sub ??

I googled around a bit.

Found mod_pubsub, but it didn't look terribly active (WIKI down). Anyone worked with that?

Also there is JEP-0060: Publish-Subscribe. I just glanced at it - looked like it manages the subscriptions via XML (non-SOAP) messages. I guess that would work too, but assume that is basically the WS-* sans the SOAP / cruft.

I need to catch up with what is already out there.

It would be great if there was a decent / simple spec. for this and there were either web server plugins, app servers, etc. for many platforms. For all I know, I have been drinking the JMS Kool-Aid & muttering things about WS-* (what I considered the somewhat available alternative) for too long and there is a viable solution to HTTP/POX XML Based EDA Pub Sub today.

Anybody have any experience using HTTP / POX XML (be it via HTTP Headers or something like JEP-0060) for EDA / Pub Sub?

27-MAR-06 Update, found this: The Goal A Jabber manifesto of sorts

Started a thread over at Jive - figure they might have some thoughts. Jive Thread

04-APR-06 Update, found this on the Yahoo SOA Mailing list: Reach Reliable Messaging Transport Protocol (RRMTP/1.0)

6 comments:

Anonymous said...

If you want POX over HTTP, it's just a servlet. WebMD has shown that servlets can be performant enough, even for rendering HTML. But for your purposes it should be more than enough architecture and framework to handle that. The servlet API has a very generic interface for headers and such; it should be easy to use custom headers. By building your code off the servlet interface, it's portable to every web server that has a servlet container, which should be just about all of them thanks to Tomcat, et al.

I'll be inspecting your work for completion. Monday will be fine.

fuzzy said...

Yeah that would certainly work for a Java impl. I'd be interested in something that was platform independent though.

Basically, if you had either a set of POX messages (like JEP-0060: Publish-Subscribe) that handled managing subscriptions or you just did all that with HTTP Headers (imagine you'd need the POX messages), you could build something that would work with any impl. I would expect to see a Java impl, .NET impl, web server plugin impls, etc.

I have to read up more on what is out there already and see if it is already being used for this type of integration.

Basically, I want a event driven architecture / pub/sub with guaranteed delivery/durable subscriptions that is RESTful (HI-REST, L0-REST, whatever works - just should be simple). Different service impls should be able to register N subscriptions and should be able to send responses to N destinations. The specification shouldn't care about the body. The body of the message shouldn't have anything in it related to the subscription. All of that should be in HTTP Headers (ala HTTP Extensions or something).

Mark Baker said...

mod-pubsub is worth a look. It's under private development right now, by Renkoo, but they'll go public with it soon I hope.

But you might just want to consider playing with holding HTTP GET connections open, and returning stuff through the pipe as it arrives to the server. That's pretty easy to setup yourself, just a servlet with a GET and POST, where what's POSTed in gets sent out on the GET response.

Erik Onnen said...
This comment has been removed by a blog administrator.
Erik Onnen said...
This comment has been removed by a blog administrator.
Erik Onnen said...

Just saw this on TSS, haven't had a chance to play with it though.

Net Kernel


I also looked at ActiveSOAP a couple weeks ago, but like many projects on Codehaus, I felt it was under documented. In particular, ActiveSOAP has been dormant for several months although it is bundled with ActiveMQ so it should still be on the critical path for a more high-profile project.