Gostaria de saber se eh possivel em java criar aplicacoes web que utilizam hardware.
Recentemente eu renovei minha carteira de motoristae a doutora que fez o exame medico estava usando um sistema web com identificacao por meio da digital que era um dispositivo usb.
Nao faco ideia de que linguagem era pois a url nao da pra acessar de casa, parece que rodava local ou numa vpn.
Quera uma luz de como mexer com o hardware partindo de uma aplicacao web.
A outra eh sobre a comunicacao de duas aplicacoes desktop em uma mesma maquina. A ideia eh criar um servico que realize as operacoes de uma outra aplicacao. Eh possivel? Pensei em sistemas distribuidos / socks, eh viavel? Existe algo mais simples pra se comunicar?
Por fim, todos as duvidas sao para ambiente windows em um primeiro momento. Rodando em windows ai pensamos como fazer no linux!
Já tenho o JNI para o driver que vou utilizar o hardware, mas não sei chamar o hardware do cliente dentro de uma aplicação web.
I
iuoyo
tem como fazer isso usando a extensão do navegador? no meu firefox tá com java 7 e a extensão é npDeployJava1.dll.
Alguem se habilita?
M
matheuslmota
Rapaz, fazer o que você quer em Java e ainda mais Web é algo extremamente trabalhoso por dois motivos:
Não existe nenhum suporte oficial por parte do Java para comunicação com dispositivos via porta serial (a USB não deixa de ser uma porta serial), porta paralela etc. O que existem são bibliotecas de terceiros que não são atualizadas com frequência e quase não possuem suporte.
Para conseguir acessar qualquer recurso do computador, como no caso a porta USB, em uma aplicação Java Web, é necessário efetuar a assinatura digital de todos os jar’s usado pela sua aplicação, um processo que não funciona sempre (caso do Windows Vista com Internet Explorer, se não me engano).
O que eu sugiro à você, como você já tem a JNI para acesso ao dispositivo, é tentar desenvolver uma aplicação usando Java Web Start, que tende a dar menos problemas do que fazer com Applets, por exemplo.
I
iuoyo
matheuslmota:
Rapaz, fazer o que você quer em Java e ainda mais Web é algo extremamente trabalhoso por dois motivos:
Não existe nenhum suporte oficial por parte do Java para comunicação com dispositivos via porta serial (a USB não deixa de ser uma porta serial), porta paralela etc. O que existem são bibliotecas de terceiros que não são atualizadas com frequência e quase não possuem suporte.
Para conseguir acessar qualquer recurso do computador, como no caso a porta USB, em uma aplicação Java Web, é necessário efetuar a assinatura digital de todos os jar’s usado pela sua aplicação, um processo que não funciona sempre (caso do Windows Vista com Internet Explorer, se não me engano).
O que eu sugiro à você, como você já tem a JNI para acesso ao dispositivo, é tentar desenvolver uma aplicação usando Java Web Start, que tende a dar menos problemas do que fazer com Applets, por exemplo.
Boa tarde matheuslmota, estou numa empresa que estamos querendo desenvolver um sistema comercial voltado para SaaS, caso não seja possível, um servidor local tipo intranet rodando apache ou qualquer outro container, podendo ser java ou de outra linguagem. Acredito que podem fazer essa comunicação eu poderia tanto criar um sistema para SaaS como uma intranet que vai funcionar.
A intenção de mexer com o hardware é poder fazer essa aplicação web se comunicar com uma placa discadora para realizar discagem automática a comando do operador via web. Eu tenho o driver dela do windows e a interface JNI do proprio fabricante (Ditronic) que disponibilizou e já me comunicou entre conversas realizas com ele que existem clientes que fazem isso já em java, por isso estou dando preferencia em java. Utilizo ela com a interface em java porém é uma aplicação desktop.
Grato!
M
matheuslmota
iuoyo:
Boa tarde matheuslmota, estou numa empresa que estamos querendo desenvolver um sistema comercial voltado para SaaS, caso não seja possível, um servidor local tipo intranet rodando apache ou qualquer outro container, podendo ser java ou de outra linguagem. Acredito que podem fazer essa comunicação eu poderia tanto criar um sistema para SaaS como uma intranet que vai funcionar.
A intenção de mexer com o hardware é poder fazer essa aplicação web se comunicar com uma placa discadora para realizar discagem automática a comando do operador via web. Eu tenho o driver dela do windows e a interface JNI do proprio fabricante (Ditronic) que disponibilizou e já me comunicou entre conversas realizas com ele que existem clientes que fazem isso já em java, por isso estou dando preferencia em java. Utilizo ela com a interface em java porém é uma aplicação desktop.
Grato!
Você poderia usar um web service para se comunicar com o hardware e fazer a sua aplicação se comunicar com esse web service.
J
jmmenezes
Possiveis soluções:
1-Applet (mas vai ter de assinar os jars e tem o problema da comunicação que já foi falado)
2-Flash (tem de ver se consegue se comunicar com o dispositivo) e ai você se comunica com o servidor através de WebService
3-Java Web Start (é como se rodasse uma aplicação desktop a partir do browser)
4-ActiveX (não recomendo pois vai ficar dependente do IE e não vai rodar no linux)… sem dizer os inumeros problemas de segurança de se habilitar activex.
5-Fazer o seu plugin… (neste caso precisará criar um plugin para o Firefox, outro pro chrome e assim por diante, de diversos SOs diferentes… dependendo do que precisa fazer essa pode ser a unica solução).
Não vejo problema fazer isso em uma applet…
J
jmmenezes
iuoyo:
boa noite galera,
A outra eh sobre a comunicacao de duas aplicacoes desktop em uma mesma maquina. A ideia eh criar um servico que realize as operacoes de uma outra aplicacao. Eh possivel? Pensei em sistemas distribuidos / socks, eh viavel? Existe algo mais simples pra se comunicar?
Por fim, todos as duvidas sao para ambiente windows em um primeiro momento. Rodando em windows ai pensamos como fazer no linux!
Grato a todos desde jah!
Em relação a comunicação você pode fazer até mesmo por arquivo texto, shared memory(JNI), mas recomendo mesmo fazer por TCP/IP pois desta forma se precisar um dia as 2 apps não rodarem mais na mesma máquina, você integra mais facilmente.
Fica a seu critério usar sockets puro e definir seu protocolo, ou usar algo pronto (por exemplo, as 2 apps são também servidores web e se falam via webservices, desta forma fica mais facil integrar com outras coisas).
I
iuoyo
Obrigado galera!
Já tenho um caminho a seguir, vou dar olhada nos applets e nas extensões do firefox.
Por último, e desculpe a falta de conhecimento, o que é assinar os jars? Como eu faço isso?
Agradeço a atenção de todos!
M
matheuslmota
iuoyo:
Obrigado galera!
Já tenho um caminho a seguir, vou dar olhada nos applets e nas extensões do firefox.
Por último, e desculpe a falta de conhecimento, o que é assinar os jars? Como eu faço isso?
Bom, não faça isso com Applet se não quiser ter muitas dores de cabeça. Use Java Web Start ou Web services, o deploy e a manutenção sem bem menos trabalhosos e problemáticos.
I
iuoyo
Valeu vou dar uma olhada!
Referente a WebServices, não sei se da pra implantar em nível de SaaS, teria que ter um servidor na maquina para que seja enviado as requisições.
Eu conheço o conceito de web services, mas na prática não sei se seria viável, por isso estou optando pelo applet, que por sinal tem que se comunicar com a minha aplicação e meus beans em java para passar principalmente o nº do telefone.
M
matheuslmota
iuoyo:
Valeu vou dar uma olhada!
Referente a WebServices, não sei se da pra implantar em nível de SaaS, teria que ter um servidor na maquina para que seja enviado as requisições.
Eu conheço o conceito de web services, mas na prática não sei se seria viável, por isso estou optando pelo applet, que por sinal tem que se comunicar com a minha aplicação e meus beans em java para passar principalmente o nº do telefone.
O problema dos Applets é que eles rodam dentro de uma Sandbox no navegador e estão sendo cada vez mais limitados. Mesmo assinando o Applet você ainda poderá ter problemas na hora de executar sua aplicação.
I
iuoyo
Agora entendi porque o todos repugnam os applets. Vou tentar custa nada.
Vou temtar aqui na empresa fazer uns teste com applets e web services!
Valeu galera!
I
iuoyo
Boa Tarde Galera, pesquisando sobre os applets
queria saber aplicações web que são applets, alguem conhece? O pai google não me satisfez com os resultados.
Com a questão de limitação do applets é uma coisa que me preocupa no futuro,
pesquisando em soluções distribuiídas, com o sistema em SaaS será que consigo desenvolve um sistema distribuído que consiga ser acessado por 500 empresas cada uma com em torno de 30 a 50 máquinas acessando? Meu medo ta no desempenho etc.