Se web fosse tranquilo vc não teria estas dúvidas todas heim!?!?!
Deixa eu tentar ajudar…
Considerando 3 máquinas vc poderia fazer o seguinte:
OPÇÃO 1
a) Na máquina 1 vc coloca o banco de dados (vc escolhe qual)
b) Na máquina 2 vc coloca o modelo (regras, serviços, classes de domínio etc…) sob o domínio de um web server (Tomcat, jetty, etc…) ou um servidor de aplicação (JBoss, Geronimo, etc…).
.Neste ponto vc terá que tomar algumas decisões; se utilizar apenas web server vc terá um grupo de opções se for um servidor de aplicação vc terá um outro grupo de opções vamos dizer assim.
c) Na máquina 3 vc coloca o cliente swing.
OPÇÃO 2
a) Na máquina 1 vc coloca o banco de dados (vc escolhe de novo qual)
b) Na máquina 2 vc coloca o modelo sob o domínio de um SERVIDOR DE APLICAÇÃO ou algo como o Spring
c) Na máquina 3 vc coloca um web server (Tomcat, Jetty, etc…) onde ficará suas páginas podendo até ter o cliente swing aqui também com deploy “automático”)
…
Você pode implementar o que fica na máquina 2 (na indicação acima) com socket ou rmi também, mas dependendo da complexidade de sua aplicação vc poderá encontra várias dificuldades.
O seus módulos entram em contato um com o outro através dos IPs e Portas que vc informa para os objetos que estão em contado com a rede.
P.S Estas opções estão isenta de maiores detalhes objetivando a simplicidade, enriquecimento e criação de novas idéias no tópico.
flws