« How to write a job spec | Main | Maven2: first impressions good »

JNDI+Objects - same old

I'm porting an application to a JORAM provider, off JBossMQ (soon it'll be the turn of ActiveMQ, but at the moment it's JORAM 4.2.0).

That should be easy, right? JNDI+JMS will provides all the neccessary abstractions one might need, plus this particular application has taken great care to use a Minimal Interoperable Subset (MIS) of JMS which will work across the major providers.

JORAM does not seem to come by default with a JNDI name of a QueueConnectionFactory (and I havne't figured out how to set this up as a configuration yet). Now, I can add one through the admin UI and go back and tell the application's config file what it is. That works and will end up as some kind of bootstrap script, which sucks out JNDI names from the apps config file and creates them in JORAM. Otherwise things start looking suboptimal from a deploy/ops viewpoint.

I had to grep the JORAM source to discover that its provider URLs begin with 'scn://'. The app in question wants you to have the provider URL. You would think armed with that knowledge I could then search the PDF document, find some notes and bookmark them. Nope; no reference to scn:// anywhere.

And JMS, well that old dear is starting to look its age - messaging models based on whatever the vendors had at the time, but with no obvious interop semantics in sight, Topics, Queues, P2P, PubSub, durable, not-durable, an inheritence model for message types that ensures downcasts, distributed transactions, MDBs slightly different. All looking more like noise than features.

I was playing with NetKernel before getting stuck into this JNDI nonsense. Now that was fun. Maybe I should port the whole thing into that instead. I'm still evaluating but so far it's impressive - NetKernel is a seriously enlightened stack. I wonder when the folks at 1060 will provide a repository and start building community around it.

URIs+Protocols whip JNDI+Objects, any day.

May 2, 2005 08:50 PM


Pete Rodgers
(May 3, 2005 12:39 PM #)

Hey Bill,

Thanks for the kind words on NK.

FYI we've got a JMS module for NetKernel. It abstracts the archaniery of the JMS/JNDI API behind NK URI addressable services.

On the server-side we have a JMS transport which you can subscribe to Topic/Queue etc and which fires the messages into the NK URI space - this is a message-driven-services pattern.

I understand your other point about community - all the source is shipped with the NK dist and we're very keen to increase community participation (please join our Forum ;-) - http://1060.org/forum/ ). We will definitely make the CVS public - we've been slowly building momentum and awareness and all of our resource has had to go into that - admin time is the rate limiting factor! FYI we have associated community projects developing - one project "Pharm2Phork" is very cool (see http://www.pharm2phork.org), NK is the platform for a distributed P2P system which will track transactions in the human-food-chain (massive scale!). They're creating JXTA, and ASN.1 modules for NK which we'll ship with the distie when they're ready.



Post a comment

(you may use HTML tags for style)

Remember Me?

Trackback Pings

TrackBack URL for this entry: