Necessito desenvolver uma aplicação J2SE e disponibilizar em alguns computadores para vendedores. Funcionará mais ou menos assim: o vendedor terá um notebook o qual executará a aplicação que irá lhe fornecer dados sobre as vendas dos clientes.
Confesso que será minha primeira experiência (em java) com este tipo de aplicação. Minha dúvida é relacionada ao tipo de conexão e troca de dados entre client e server.
Devo criar um webservice ou simplesmente direcionar a conexão para o IP do servidor como costumo fazer localmente?
Se eu fizer isso aí acima posso redirecionar o IP e porta da internet para um IP e porta interno. Assim, creio eu, conseguiria realizar a conexão normalmente.
Poderiam me ajudar com dicas e me enviar experiências com este tipo de aplicação?
Ola, Eu utilizo este tipo de aplicacao, o que desenvolvi foi o seguinte, criei um webService com spring praticamente SOA, coloquei rodando no jBoss, conexao com o banco via JNDI, tenho varias aplicacoes solicitando servicos para o webService, Dekstop, Web, Mobile. Com desktop utilizo JWS (Java Web Start) assim qualquer cliente pode instalar o software sem eu precisar enviar cd, etc… e outra vantagem tbm quando vc atualizar o sistema vc atualiza o servidor, na proxima vez q o cliente abrir o sistema ja sera atualizado automaticamente, com webServices se vc encontrar um bug ira arrumar apenas a camada de negocio que qualquer outra plataforma que utiliza os servicos ja estara corrigida.
F
fanama
Ola VDB!
Muito obrigado pelas dicas, não conhecia o Web Start e pesquisando sobre ele achei muito interessante, vou adotá-lo neste projeto.
Com relação ao Webservice, estarei elaborando uma aplicação de consulta, o vendedor irá logar no sistema e importar os dados de um servidor externo para um banco local onde a aplicação fará as consultas. Será de Java para Java, nada de palms, pocket ou outra aplicação que não seja esta.
Sendo assim, pergunto: Ainda será necessário desenvolver o Webservice? Ou somente a string de conexão com o banco será suficiente?
Mais uma vez agradeço!
Abraço
Marco Aurélio
Rafael_Nunes
Se o vendedor tiver acesso a internet ou mesmo uma VPN com a empresa, eu sugiro dar uma olhada em Web Service REST.
sergiotaborda
Não libere o acesso ao banco. Isso é uma violação de segurança. Qualquer idiota pode ferrar o banco ( por maldade ou inconpetencia)
fornece um serviço web, mas não use SOAP. Use REST, ou crie o seu proprio protocolo. SOAP trabalha com conversão objecto->xml-> objeto e isso é pesado quando vc quer passar muitas informações. Com REST vc passa um XML e pronto. O seu aplicativo desktop intrepreta esse XML e grava num banco local. (como é xml se pode usar XLST para converter diretamene para SQL e executar tudo de uma vez só, sem passar pelos objetos java). Para submeter informações vc faz o mesmo. Cria o XML no desktop e envia ao servidor. O servidor pode ser um simpels tomcat. Isso vai depender mais da demanda.
F
fanama
Olá Sérgio e Rafael;
Muito obrigado pela colaboração.
Passei algumas horas tentando encontrar algo sobre REST mas não consegui. Li que é uma tecnologia recente (2000) mas nenhum tutorial que pudesse me dar uma luz.
Tenho certa experiência em outras linguagens mas não em Java, poderiam me indicar algum livro ou algum trecho de código para que eu possa estudar um pouco sobre o assunto?
Obrigado pela força!
Marco Aurélio
sergiotaborda
bom, então esqueça por enquanto os padrões.
Foque em entender a API de Servlets, o funcionamento de um Web container ( como o tomcat) a criação e processamento de XML.
Para o desktop tem que entender o Swing, e para o banco o JDBC.
Comece por entender estas coisas, porque fazer um programa como que quer, sem sequer conhecer java não é simples.
F
fanama
Olá Sergio;
Mais uma vez agradeço o retorno!
Acho que me expressei mal.
O que quiz dizer é que tenho um conhecimento maior em outra linguagem a que o Java.
Já desenvolvi aplicações desktop com o Swing e JSF utilizando o Tomcat. Básicas mas saíram e estão em produção… rs
Minha dificuldade foi em encontrar algo que me pudesse dar o “norte” para o REST. Mas, seguindo seu conselho, vou por enquanto estudando um pouco mais de webservice.
Até vi algo em AXIS mas não consegui retornar objetos ou vetores, somente números.
Se tiver algum material que possa me ajudar serei grato!