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:
- 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…