Hi Andrew, Faster is a tricky term.
You can say that runner A is faster than runner B, when you have them both run the same distance. In 100m A might be faster than B, but B might have more stamina and manage to get first in a longer distance say 300m. In your question I can see runner RMI and runner JMS, but due to their nature one is sync and the other is async, they never gonna run the exact same distance. Even if you put aside the fact that one is sync and the other is async there are so many factors that you have to take into consideration. i) Do you care how fast you will be able to send the requests? ii) Do you care how fast the target service will receive the invocations? iii) Do you expect a response? In the end of the day both approaches serialize/deserialize objects. but Jms is more flexible, is easier to setup, scales better and is more robust. -- *Ioannis Canellos* * FuseSource <http://fusesource.com> ** Blog: http://iocanel.blogspot.com ** Apache Karaf <http://karaf.apache.org/> Committer & PMC Apache Camel <http://camel.apache.org/> Committer Apache ServiceMix <http://servicemix.apache.org/> Committer Apache Gora <http://incubator.apache.org/gora/> Committer Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer *