Pessoal, tenho um plano de desenvolver uma aplicação com dois módulos, um desktop e um web, mas ainda não encontrei nenhuma definição de como fazer a comunicação destes dois.
Este projeto é apenas para aprendizado, mas nem por isso eu gostaria de deixar de fazer da melhor forma possível.
Penso em desenvolver por exemplo um sistema para gestão de supermercados, onde toda a parte administrativa rodaria num sistema WEB e apenas a frente de caixa em Desktop, pelo fato da agilidade necessária e comunicação com periféricos.
Porém, eu gostaria de fazer a parte Desktop do meu sistema não se conectar diretamente ao banco de dados, mas sim ter que requisitar ao servidor (pode ser ao servidor web) as classes necessárias para as regras de negócio e persistência.
Minha dúvida é qual seria a solução ideal para isso.
Já pesquisei muito no fórum, e já encontrei alternativas como EJB e WebServices.
Sinceramente, EJB não sei exatamente do que se trata.
WebServices, já desenvolvi alguns, mas fico em dúvida se para este caso seria realmente a melhor solução. (Principalmente, como aplicar algum tipo de segurança aos WebServices ? Pois fica fácil qqer app se conectar ao meu WS e conseguir os dados através dos métodos disponíveis no WS)
Não vi até hoje em Java como fazer comunicação Remota (estilo app cliente/servidor), sem que seja RMI, pois imagino que meu sistema viraria um monstro. (Existe algum framework, metodologia p/ isso ?)
Uma forma fácil seria fazer tudo ser aplicação cliente e ir buscar os resultados diretamente no banco, mas isso é a coisa mais tosca que já imaginei, principalmente pelo fato de perder a centralização das regras de negócio.)
Enfim, há tempo venho pesquisando, mas tudo continua muito obscuro neste sentido. Pior de tudo é não encontrar artigos a respeito.
Agradeço a quem puder me ajudar.
Obrigado.