Camada de persistência única para várias aplicações

Pessoal, eu tenho uma aplicação WEB e outra local que acessam o mesmo banco de dados.

Acontece que em ambas aplicações, utilizo a mesma lib de persistencia (que é feita com hibernate). O problema é que preciso utilizar o cache do hibernate (um dos motivos pelo qual optei) por conta das inúmeras consultas. Mas em contra partida, essa aplicação local, atualiza esses dados de hora em hora, e as vezes dá problemas para o hibernate replicar essas alterações (mesmo limpando o cache).

Como a lib de persistência é a mesma, me surgiu a idéia de isolar uma aplicação apenas para comunicação com a base de dados e as outras (WEB e local) se comunicariam por WEB-SERVICE, RMI ou qualquer outro meio.

A pergunta é: O que é mais recomendado utilizar neste caso? Alguém pode dar uma opinião de acordo com alguma experiência?

Estou pensando utilizar WEB-SERVICE, mas talvez tenha algo melhor que não conheço.

Desde já, obrigado.

Isso depende da sua arquitetura e do seu ambiente.

Aplicações Java-Java, numa mesma rede corporativa podem usar RMI.

Se pretende expôr como serviço, até para outras apps, Web Services.

E por aí vai. Analise os pontos.

Olá

A resposta do Daniel foi perfeita. Se está tudo dentro da rele local, aqui é um caso típico para uso de RMI. Aliás, EJBs usam RMI.

Só complemento para lembrar que você ainda pode pensar no XStream para padronizar as mensagens como XML.

[]s
Luca