Middleware …
Tuesday May 17th 2005, 8:58 pm
Filed under: csiro,java
Posted by: Andrew Lampert

I’ve reaquainted myself with Java’s RMI features today, after realising that I’m going to have to run my SciFly application across 3 JVMs. Initially, I thought about using the XMLBlaster middleware that I have used in the past. XMLBlaster is an XML based publish/subscribe middleware that, in conjunction with Castor, allows objects to be serialised into XML and passed across a network. The nice thing about XMLBlaster is that it also has bindings for Python, Perl and other languages, which made it possible for me to use it as the glue between a realtime Java map-based GUI and a Python based simulator.

Anyway, getting back on track, I decided to refresh my experience with Java’s native RMI, which I must confess I haven’t even touched for at least 2 years. Anyway, after dusting off the cobwebs, I was impressed that the whole thing “just worked”! Start up the rmiregistry, and run your code: no stuffing around with configuration files etc. Admittedly, its functionality is limited, but if all you’d like to pass around are primitives and serializable objects like Strings, it’s the simplest and easiest choice. And, of course, it’s natively available with J2SE, so no need for extra JAR files.

The other thing I was impressed about was how neatly the rmic compiler is integrated into IntelliJ: 1 little check-box, and all my RMI stub compilation is silently taken care of. That’s much better than the other IDEs I have used in the past! A colleague tried the same with Eclipse, but apparently it needs an extra plugin to do RMI stub compilation. Bah humbug. Another (small) reason to prefer IntelliJ over Eclipse. And while I’m on an IntelliJ rave, let me again say that the CVS integration is second to none. I’ve never seen or used a nicer tool for resolving CVS conflicts and managing a CVS workspace. It makes working with a second-rate version control system absolutely bareable :-)


No Comments so far
Leave a comment



Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)