Sou desenvolvedor Web, e iniciante em java.
Criei um applet que pega o endereço MAC do cliente, para controlar o acesso na rede Wi-fi da minha empresa.
Em J2SE funcionou, foi até fácil de fazer… mas me pediram pra extender isso a aplicativos móveis também: celulares, iphone, smartphone, enfim, qualquer coisa que conecte à Web.
A questão é: o que utilizo para criar applets para JME? Tentei CDC/CLDC, mas parece não suportar applets… Vi na net alguma coisa sobre javacard, mas NADA sobre como instalar…
[quote=jcbalmeida]Sou desenvolvedor Web, e iniciante em java.
Criei um applet que pega o endereço MAC do cliente, para controlar o acesso na rede Wi-fi da minha empresa.
Em J2SE funcionou, foi até fácil de fazer… mas me pediram pra extender isso a aplicativos móveis também: celulares, iphone, smartphone, enfim, qualquer coisa que conecte à Web.
A questão é: o que utilizo para criar applets para JME? Tentei CDC/CLDC, mas parece não suportar applets…
[/quote]
Você não utiliza nada. Não tem como rodar Applet em celular. Esquece.
Fazemos o controle de acesso à nossa rede Wi-fi pelo Mac Address, e para que o usuário pudesse cadastrar ele mesmo seu MAC, criamos um Web Site.
O problema surgiu na hora de Detectar o endereço Mac, isso deveria ser feito do lado do cliente, e para isso, pensamos imediatamente no java, mesmo não sendo nossa especialidade :lol:
Criei um applet que me recebia um endereço ip como parâmetro e retornava o Mac correspondente, daí o usuário não precisava se preocupar com esses detalhes técnicos.
Resultado: A diretoria gostou tanto que decidiu extender o acesso a aplicativos móveis também, e “gostariam muito” que a detecção fosse também automática.
Resumindo:
Preciso encontrar uma forma de detectar o endereço Mac de um aplicativo móvel, preferencialmente através de uma página Web.
Se ajudar, segue o código do Applet que fiz para J2SE.
Hum… por algum motivo acho que você não vai conseguir obter tal endereço MAC para tais dispositivos se for via 3G, por exemplo. Um celular, entretanto, tem outro código único - o IMEI - que aparentemente pode ser obtido via Flash. Entretanto, isso parece um pouco desajeitado. Veja a thread abaixo:
Outra forma, que também é fácil, é ver se o User-Agent na página vem com o IMEI ou não.
Isso pode ser visto apontando-se o browser para uma página bem simples que você possa escrever e mostre TODOS os headers da requisição HTTP, inclusive o User-Agent.
[quote=thingol]Outra forma, que também é fácil, é ver se o User-Agent na página vem com o IMEI ou não.
Isso pode ser visto apontando-se o browser para uma página bem simples que você possa escrever e mostre TODOS os headers da requisição HTTP, inclusive o User-Agent.
O IMEI depende do modelo do celular e se a aplicação está a$$inada digitalmente.
O Header depende da operadora. Se der sorte, pode ser que ela coloque isto.
Pelo que entendi, o IMEI é o identificador do aparelho. Isso bastaria para uma aplicação voltada exclusivamente para mobile… Mas no caso de uma rede wifi, mesmo aparelhos móveis precisam de um endereço mac.
Como minha aplicação trabalha sobre o Squid (Proxy), seria melhor fazer o controle dos mobile também pelo Mac; Mas o IMEI é uma ótima idéia, embora provavelmente tenhamos que criar uma outra estrutura ou aplicação.
Só uma pequena correção: Java card é para em uso em Smart Cards (chips de cartão, por exemplo); fora de questão no nosso caso
Estou pesquisando sobre midlets também. Se não conseguir fazer funcionar via Web, posso criar um midlet pra isso. Se alguém tiver alguma referência sobre midlets agradeço muito.
Cara, na época não resolvi, apareceu um projeto mais urgente (minha salvação :D) e nós paramos o wi-fi… pena q tava quase pronto. Agora não estou mais na empresa e já tem um tempinho que não mexo mais com java.
De qualquer forma, creio que dê pra reutilizar o mesmo código, apenas adaptando algumas classes que provavelmente não tem no JME.
Queria poder ajudar mais, mas utilizei java apenas nesse projeto, a madrasta chamada destino acabou me levando pra .Net (apareceram mais oportunidades no começo e qdo vi o curriculum já tava formado).