I know this probably doesn't need saying, but...
Whatever you do, make a careful decision, as this decision will impact your project's long-term usability. RMI is Java-specific, while other techniques like Web Services are generic and standardised. Can you be 100% sure that you'll never want to talk to a non-Java app? And that your security guys will never demand a firewall?
As pointed out, there are always trade-offs. Web Services are (is?) notoriously slow as data formats (endian issues) have to be normalised, and HTTP/SOAP is a fairly verbose format (is this correct? I think so
If I were you, I'd try to abstract the interface away from the particular technology, and make it so that changing from (say) RMI to Web Services is as simple as changing a factory method. I'm thinking something like the Bridge / Abstract Factory
patterns.
Of course, given how different RMI and WS are, this will probably add significant work to the project. It's all about the trade-offs, hey?
Cheers,
--Tim