Como compartilhar classes de negócio entre app Web e Desktop?

Pessoal estou desenvolvendo uma app onde parte é web e parte swing (para ser acessado por java web start).

O controle de transação é feito pelo Spring e para persistência utilizo o Hibernate.

Existe algo que eu configure, chavei ou algo assim para falar para o Spring alterar o modo de conexão quando a requisição vier da app web ou da app Swing, pois gostaria de reaproveitar os Facades com as regras de negócio.

Uma solução seria disponibilizar o que é de comum utilização em WebServices, mas essa é uma solução aceitável quando o processo envolve inserção e deleção?

Não sei se viajei muito :smiley: , mas se alguem puder me der um norte eu agradeço.

Abraços

Alterar o modo de conexão? Olha, o ideal é fazer a aplicação do lado servidor não se importar quem é o cliente.

E assim, o que seriam esses Façades? Só existem regras de negócio, ou está misturado com questões de infraestrutura ou parte visual? Se tiver uma bagunça, claro que você não reaproveita entre os dois tipos de aplicação.

O que você deve usar para reaproveitar as classes de negócio é o bom e velho MVC. As suas classes de negócio é o M, e você teria duas views, uma que é a própria aplicação web e outra que é uma visualização puro XML ou puro JSON.

Olha aqui a gente tem uma aplicação q roda tanto para web qto para desktop, e nós usamos a mesma classe de conexão, e temos metodos que sao comuns tanto para web qto para desktop, o que fizemos foi, estruturar/arquitetar nosso projeto em modelo como DAO >> BO >> Proxy >> Interface >> Classe Controller, a partir da interface eu indico se quero usar os metodos para as minhas classes controller interagindo com a view(desktop) ou se vou usar na minha classe controller interagindo com as minhas paginas jsp.

Mas vc usa o Spring para injetar as dependências?