Olá… antes de iniciar gostaria de dizer que pesquisei bem no forum e no google antes de postar, mas mesmo assim nao encontrei respostas.
Estou estudando e fazendo uma aplicacao desta forma:
CLIENTE DESKTOP --> SERVIDOR TOMCAT --> HIBERNATE --> FIREBIRD
Sendo que meu os clientes são vários (umas 8 maquinas), e mais adiante terá tambem web.
Uso no cliente o Genesis, faço pelo URLConnection para mandar para o servidor, recebo pelo Servlet e gravo com o DAO pelo hibernate.
Tudo ok e funfando…
Mas estou com dúvidas sobre a arquitetura e a forma como estou realizando. Na verdade “sinto” que tem algo errado, apesar de funcionar. Ou pelo menos incoerente. Para efetuar um cadastro de um cliente, por exemplo, faço da seguinte maneira:
A tela Swing faz o binding dos dados para um bean (POJO). Este bean é encapsulado em um List, junto com uma String indicando a operacao com ele: “gravar”, “alterar” e “excluir”. Entao na List terá sempre uma String operacao e um Object bean. Jogo entao a List para o stream do URLConnection.
No servidor, o servlet recebe esta List e separa a String operacao com o Object bean passado. Conforme a operação, ele “grava”, “altera” ou “exclui” do Firebird pelo DAO com Hibernate. Criei classes “genéricas” (mas nao com generics do java 5) com o DAO recebendo Objects.
Como disse isso funciona. Mas a passagem dessa List do cliente para o Tomcat é trivial?? Existe algo mais simples ou correto para isso?? Falo isso para tecnologias atuais utilizadas e detrimento de outras “antigas”, como EJB3.0, que ao meu ver aparenta ser mais complicado do que estou fazendo. Lembrando que o cliente é Swing. O que acham melhor para esta solução? Qual implementacao seria o ideal para passagem cliente/servidor?? Enviar objetos e/ou listas pela rede é legal?? Porque se eu enviasse os dados ao invés do objeto Cliente pronto, é pior não?
Gostaria de um cliente “magro” e tudo no servidor, mas de forma simples e atual, sem 150325487 milhoes de linhas configurações e usando Java, de forma leve. Dessa forma como faço, me aparenta mais transparência, mas está correto? Sinto “perigoso” essa forma, mas nao sei onde está o erro!!
jopss


