Acessando Java a partir de outras linguagens

Olá

Júlio o nosso diálogo é só se é possível ou não um programa chamar o Java via uma DLL. É isto que digo ser possível. Basta o Java iniciar a comunicação (no início do dia), chamar a DLL e em uma thread separada, ficar esperando a resposta. O tal programa chama a DLL que responde ao Java passando na resposta justamente os parâmetros que o Java precisa. O Java então processa e chama de novo a DLL, passando como parãmetros, as respostas.

Possível é. É bom? Não. Mas em alguns casos de escutar eventos de hardware é a solução.

Normalmente quando a gente precisa chamar ooutras linguagens e não sujar as mãos com DLLs (que geralmente são coisas porcas), o mais fácil é escrever em um determinado diretório que o Java fica monitorando. Já usei isto entre VB e Java em aplicação de captura de cartão de crédito e funciona perfeitamente.

Outro meio é usar sockets que também já usei entre linguagens diferente e também funciona.

Mas estas duas mas o JNI só funcionam na mesma máquina (JNI) ou na mesma rede local. Para ter uma solução que funcione em qualquer lugar, o caminho passa por troca de mensagens usando Web services, xml-rpc, o tal java-bridge ou assemelhados.

[]s
Luca

[quote=Luca]Olá

Júlio o nosso diálogo é só se é possível ou não um programa chamar o Java via uma DLL. É isto que digo ser possível. Basta o Java iniciar a comunicação (no início do dia), chamar a DLL e em uma thread separada, ficar esperando a resposta. O tal programa chama a DLL que responde ao Java passando na resposta justamente os parâmetros que o Java precisa. O Java então processa e chama de novo a DLL, passando como parãmetros, as respostas.

Possível é. É bom? Não. Mas em alguns casos de escutar eventos de hardware é a solução.

Normalmente quando a gente precisa chamar ooutras linguagens e não sujar as mãos com DLLs (que geralmente são coisas porcas), o mais fácil é escrever em um determinado diretório que o Java fica monitorando. Já usei isto entre VB e Java em aplicação de captura de cartão de crédito e funciona perfeitamente.

Outro meio é usar sockets que também já usei entre linguagens diferente e também funciona.[/quote]

Entendi… ok. É possível com um mapeamento.