Java e Métodos Nativos

Olá pessoal blz.

no Projeto que estou participando temos uma DLL criada em C++, ela precisa ser acessada por uma classe Java.

Já andei pesquisando sobre JNI, JACOB e JNA.

Pelos exemplos que vi as DLL’s devem ser geradas para o Java, pelo comando javah. Ou seja devo modificar a DLL criada, isso é algo que não deve ser feito.

Outro fator que percebi seria a Portabilidade, o objetivo de fazer a classe Java acessar a DLL é para que a aplicação funcione no Firefox e provavelmente rode em outros SOs futuramente.

A dúvida princípal é se eu fazer a classe Java conseguir realmente a DLL, vou poder usar essa solução em outro SO (Unix, Linux, MacOS, …)???

é possivel usar algum dos métodos citados acime sem precisar alterar a DLL já feita??

Quando você usa uma DLL a portabilidade é exatamente zero. Nem o código em C é exatamente igual para cada SO; há sempre um monte de particularidades.

O que se faz é criar um instalador diferente para cada SO, de modo que você possa identificar o SO usado e copiar, nos diretórios corretos, o arquivo .DLL ou .SO de modo que sejam devidamente reconhecidos no browser (IE, Firefox, Safari etc.)

Isso eu já estava imaginando.
Agora o motivo de eu precisar fazer isso é que no Firefox essa DLL não funciona, motivo esse que não sei.
Mesmo que eu faça um applet Java com a classe acessando essa DLL, no Firefox passaria a funcionar??