Aplicação N-Camadas com Swing, como?

Ola GUJ eu sou novo aqui e meio novo em Java estou enfrentando alguns problemas em desenvolver uma plicação N-Camadas em Java com Swing. Minha empresa precisa de um sistema NCamadas mais ou menos Assim:

Swing(JVM 1) -> Camada de Negocios(JVM 2) -> Camada de acesso a base(JVM 2), ou seja teriam várias JVM´s para os clientes (uma em cada máquina) e uma só para camada negocio e camada de banco (que não tem problema ser na mesma máquina)

Eu sei que da pra fazer isso com RMI, Socket :? mas eu queria algum Framework mais pronto. Pensei em usar Spring andei lendo vários tópicos sobre ele e achei muito bom. Vocês aconselham algum outro.

Pensei em alguns problemas que eu nem imagino como resolver nessa estrutura se alguem puder me ajudar:

  1. Como eu faço para instanciar objetos (por exemplo os objetos de negócio) na camada de cliente se esses objetos vem de outra JVM, eu andei estudando o Ioc do Spring mas isso funciona entre JVM´s diferentes? E tem como eu instanciar na JVM de negócio um objeto para cada JVM no cliente, porque se dois clientes acessarem a mesma tela e clicarem no mesmo botão ao mesmo tempo isso pode dar problemas , por exemplo de Transação com o Banco de Dados?

2)Como cuidar do Ciclo de Vida dos objetos de negócio afinal quando a aplicação cliente for encerrada a camada de negócio não vai saber disso?

3)Se na camada View eu tiver uma JTable pra ser salva no banco eu preciso criar um List de VO para passar pro DAO salvar não é isso? mas como eu instancio os VO´s na camada view? Essa camada não deveria conhecer apenas as Interfaces para o VO?

Acho que é isso se alguem puder me ajudar, eu fico muito agradecido, pois estou enfrentando problemas para desenvolver um projeto para esse sistema…

Eu também vim no forum procurar algo que acho ser parecido com isso.

Só preciso saber se é possível chamar uma função de uma classe Java em um servidor Tomcat a partir de uma aplicação desktop ( Swing ).

Já deu uma olhada em EJB3 (SessionBeans) ?
É EJB3 nao deixa de ser um framework pois ele facilita
o uso de RMI.

  1. O Spring acredito que ajude mais no uso de EJB2
    que temos que escrever vaaarios XMLs e coisas do
    tipo que foram substituidas por anotações no codigo no EJB3.

  2. Estude EJB.

  3. Na camada view o botao “Salvar” passa a responsabilidade para o Controller que popula as propriedades do Model , passa para a RegraDeNegocio que passa para o DAO.

Espero que ajude…
Até… :wink:
[]s

*Se eu estiver errado por favor me corrijam
com links e argumentos convincentes. :wink: