Hay muchas opciones como: RMI, WebServices, Rest, Spring HttpInvoker, Burlap/Hessian, JMS y la lista sigue y sigue.
El SpringFramework te deja utilizar varios de estos y tan solo cambiando una configuration puedes usar uno u otro.
Cuando bajes el Spring Framework uno de los ejemplos que tiene se llama JPetStore donde puedes ver en accion un ejemplo distribuido.
A mi personalmente me gusta utilizar Burlap or Hessian que son muy ligeros, siempre y cuando sea Java a Java.
Aqui el Chapter 17 -Remoting and WebService with Spring
http://static.springsource.org/sprin.../remoting.html
Salu2