JNI - Java Native Interface - é o framework padrão da Sun para acesso a codigo em linguagem C (acho que qualquer linguagem de máquina também, não tenho certeza). Ele é meio complexo pois precisa que seu código nativo siga algumas regras de declaração de método que são um pouco chatinhas.
JNA - Java Native Access - é uma biblioteca que abstrai essas chamadas e os tipos de dados de uma linguagem para outra. Com ele no final das contas nem parece que você está chamando linguagem nativa, pois ele facilita muito a integração.