Concordo, não é para mim por exemplo. Principalmente em 2008. Mas como já disse antes, eu usaria RMI em casos isolados em que o acesso fosse confinado em uma rede local sem um administrador de rede proibindo protocolos estranhos como o exemplo que citei de configuração de um servidor via JMX (dificilmente mais de um acesso concorrente)
Não sou tão otimista para acreditar que um servidor RMI possa fazer parte de um sistema com um requisito igual ao o seu. E se participasse de um sistema om um requisito assim, faria tudo para não criar e enviar estes milhares de instâncias. Apenas criaria mensagens. Sua aplicação parece escolher o caminho mais confortável para o programador. Quando se necessita de throughput, é preciso ser menos benevolente com o programador e pensar um pouquinho nos recursos de máquina que não são infinitos.
Minhas aplicações são mais voltadas para rede interna com acesso MUITO concorrente. Meu mercado não utiliza muito acesso fora da empresa. Mesmo em filiais links, VPNs e afins são utilizados para comunicação. Pode até existir um e-comerce, mas aí são outros 500 (e outras aplicações).
Luca, estas milhares de instâncias não são algo comum. Foi um exemplo pois acho necessário fazer testes extremos justamente para criar soluções para problemas antes que eles ocorram na produção. É claro que o tráfego de informações tem que ser minimizado. Pode ser que minha aplicação segure 200 usuários ou 1.000 ao mesmo tempo. Preciso ter noção do que estou mexendo até mesmo para solicitar servidores extras.
Realmente, procuro um caminho mais confortável para o programador mas não por isto em si. Acredito que as interfaces ajudam e muito a evitar erros.
A minha aplicação ainda não existe no rmi, estou fazendo testes. Estou criando algumas funcionalidades e confesso que gostei mais do rmi que o httpservice, apesar da performance ser bem próxima (o rmi consegue ser um pouco mais rápido). Pode ser que isto mude no decorrer dos testes. É apenas uma primeira impressão. No entanto, meu foco não é desenvolvimento para Internet em si. Sendo assim, vejo o HttpService apenas como um detalhe, já que se eu precisar das funcionalidade para outra coisa, toda a regra já estará pronta, dentro de um .jar.