Aplicação Desktop e WEB

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.

Amigo usa Swing, Mysql ou Postgree, e FrameWork JSF,

eu utilizo muito NetBeans e o pack Visual Web Pack

Mais para vc chegar a desenvolver mesmo vai precisar de muito tempo de leitura e dedicacao

ou melhor entrar em curso especializado, eu conheço um muito bom em torno de 1500,00

ate +
marciofermino2003@hotmail.com
skype marciofermino

cara, seguinte, passei pelo mesmo problema.

Solução “minha”,
-Servidor JBoss, utilizando-se de servlet somente para serviço, aceitando requisicoes XML com codificadores especificos. Isso posibilita que outras aplicações conectem-se ao servidor, as respostas são em XML.

-A aplicação Desktop ficou em JNLP (browser), tendo acesso a periféricos (ECF, SCANNER, Etc)

http://common.l2fprod.com/jnlp/demo.jnlp
http://java.sun.com/developer/technicalArticles/Programming/jnlp/

-Não utilizo “WebPage” devido a falta de Enter/F1,F2, etc… tudo JNLP (via browser).

-O servidor JBoss suporta multi-banco, pool nativo de conexão e EJB,

OBS0/Dica: Fiz um projeto robusto e nao tive como escapar dos EJB´s…
OBS1/Dica: Não utilizei SOAP devido aos .wsdl, tive muitos problemas qdo a sua manutenção. Alem do tráfego da rede utilizando wsdl ficou bem maior do que em XML, o qual eu comando, sem headers, etc.

espero ter ajudado.

Sandro Lemanski da Silva - sandrolinux@yahoo.com

Mais uma idéia para vc:

Um JBoss rodando toda a sua camada de negócio em EJB3, e uma camada visual WEB no mesmo server
quantoa sua frente de caixa vc pode fazer com que a mesma se conecte ao JBoss para invocar o metodos de negócio dessa forma.

Já criei aplicações dessa forma e funcionam bem, depois que vc acertou todo a configuração

Bom esssa é mais uma idéia:

Tem mais uma coisa como o pessoal já comentou vc pode utilizar WS para comunicação entre seu server de aplic e a Frente de Caixa, mas cuidado pq, assim vc tem que ter um controle bem definivo do que o WS vai fazer e como.

Lembrando que WS não é transacional e isso limita um pouco as coisas.

Na aplicação que eu citei acima, nós usamos WS para rotinas rápidas de um terminal de consulta e lançamento de premios.

Certo pessoal, obrigado pelas respostas.

Mais ou menos era o que eu já esperava, ou seja EJB, mas como disse acima, não entendo nada disso.
Eu gostaria de algum material que mostre o desenvolvimento de alguma coisa simples usando esta logica.

Seria ideal, uma tela básica swing, acessando um método de uma classe publicada no server de aplicações.

Agradeço a quem puder clarear um pouco as coisas.

Obrigado.

Alguém recomenda alguma coisa á respeito ?

Bom pessoal é meu primeiro contato com o site e já tenho uma duvida.
Preciso desenvolver um controle de estoque para uma empresa que leia codigos de barras,
gostaria de saber qual a melhor linguagem para fazer este tipo de software.
E qual a melhor ferramenta para trabalhar com java?
Se alguem da comunidade tiver como ajudar seria bem vinda a ajuda.

Galera Valeu

Acho que vc deveria abrir um tópica para sua dúvida pois como vc deve ter percebido o assunto que estamos tratando aqui é bem diferente do que vc está procurando.

Olá Marcio,

Estou cursando Ciências da Computação, e pretendo fazer meu TCC em cima disso.
Utilizando banco de dados distribuido, no caso… em todos os Clientes (Desktop) e no Servidor (Web) (que seria um portal onde eu reuniria os dados dos clientes) atravéz de um Middleware.
Já andei pesquisando algumas formas de desenvolvimento.
Gostaria de saber se você achou alguma solução interessante.
Se tiver interesse podemos trocar idéias.
meu msn é: thomas@cetelbras.com.br