Integrando Applet c/ o Browser

Estou acessando um hardware no cliente através de um Applet Java, e até agora tudo bem, salvo que, preciso de alguma forma ligar estes dados a um túnel SSL entre o browser e o servidor WEB, e por isto um socket entre o applet e o servidor web parece não ser uma boa idéia.

Alguém tem alguma sugestão de como contornar este problema ?

Esta próxima pergunta é especulativa: Seria viável gambiarras para estabelecer comunicação entre JavaScript com o Applet, seja através de arquivos ou outra forma de trocar informações entre eles no cliente ?

Agradeço qualquer sugestão.

Olá,

Web é hypertexto, ou seja, texto puro prá lá e pra cá… Se você tem que fazer alguma coisa com os dados que pegou do dispositivo via applet, sugiro um servlet.

Não precisa de gambiarra para comunicação entre applet e javascript. Utilize o LiveConnect.

t+

mvsouza, não conheço o HttpClient profundamente, mas acredito que não resolva.

O problema não é abrir uma conexão SSL, mas interceptar ou se envolver numa conexão já estabelecida entre o Browser e o Servidor. Ainda não olhei direito o JSObject, o GUJ estava fora do ar, mas como ele resolveria o meu problema de integrar JScript com o Applet no cliente ?

bobmoe, não entendi sua sugestão sobre o Servlet ? Como um servlet irá me ajudar no cliente ?

Vou dar uma olhada neste LiveConnect.

Já viu commons httpclient? Tem uma seção sobre uso com SSL.

Não é bem uma gambiarra, mas existe: Dentro de JAVA_HOME\jre\lib tem um plugin.jar. Coloca ele no classpath do seu applet e você vai ver que existirá agora uma classe chamada JSObject (no eclipse CTRL + SHIFT + T e escreve JSObject). Ele é uma referência para um javascript no browser. Dá uma googlada que tem exemplo de código.

[]'s

Marco

Cara, mas como mandar os dados pro Servlet que vai estar num servidor com SSL? Não tem que estabelecer conexão de qualquer jeito? Acho que o commons httpClient é uma solução pra comunicar. Me diz se eu falando besteira.

Está lá na distribuição 5 do Java. Já vem por padrão. Está em JAVA_HOME\jre\lib\plugin.jar. Esta é a lib do LiveConnect para java -> javascript.

[quote=lucianomx]mvsouza, não conheço o HttpClient profundamente, mas acredito que não resolva.
[/quote]

Resolver, resolve. Não sei se seria a melhor maneira. Até onde sei, o applet é uma aplicação cliente, apesar de executar em um browser. Creio que você só consegue estabelecer conexão com o servidor, abrindo uma diretamente do applet. Como lidar com sockets e URLConnection para estabelecer conexões http não faz mais sentido, recomendo o uso do commons httpclient, que vai abstrair um monte de coisa do protocolo http e https.

Pois é… Aí o buraco é mais embaixo. Na teoria é impossível interceptar uma conexão SSL, senão ela deixa de ser segura…

Só esclarecendo. JSObject e LiveConnect são a mesma coisa. JSObject é uma classe que faz parte desta API. Para começar, veja em: http://en.wikipedia.org/wiki/LiveConnect Dá pra fazer os dois caminhos (Java<->Javascript).

Também não entendi direito o que ele quis dizer.

Faça isso! :wink: