Под веб-клиентом вы подразумеваете веб-браузер? Если так, глядя на такие вещи, как DWR или JAX-RS, мои рекомендации. RMI или JMS действительно работают только тогда, когда обе стороны являются Java-кодом.
При использовании любой технологии удаленного взаимодействия самой большой проблемой является их использование в качестве навязчивой технологии для ваших бизнес-объектов. например использование интерфейса RMI / исключений везде или использование JMS API внутри вашего бизнес-кода.
Я рекомендую использовать POJO повсюду в Java, а затем использовать технологию, подобную Spring Remoting , для наложения на ваше промежуточное ПО, будь то RMI или JMS или что-то еще, - но полностью отделить код промежуточного ПО от вашей бизнес-логики так что вы можете в любой момент переключаться между технологиями (и упростить код бизнес-логики и сосредоточиться на своей бизнес-проблеме).
Например, см. реализацию Camel Spring Remoting , которая затем позволяет использовать любой из этих транспортов и протоколов , таких как RMI, JMS или даже простой HTTP, электронную почту, файлы или XMPP - затем переключайтесь между ними тривиально, используя простое изменение строки URI.