プロバイダは、管理対象デバイスに関する情報の取得と設定を行います。ネイティブプロバイダは、特定の管理対象デバイスに特化して作成されたプログラムです。たとえば、Solaris システム上のデータにアクセスするプロバイダには、通常、システムを照会するために C 関数が含まれます。
ネイティブプロバイダは、一般に次のような理由で作成されます。
効率 – 速度が重視されるコードの一部を下位レベルのプログラミング言語 (アセンブラなど) で実装したあと、Java アプリケーションでそれらの機能を呼び出すと便利な場合がある
プラットフォーム固有の機能にアクセスする必要がある – 標準の Java クラスライブラリが、アプリケーションに必要なプラットフォームに固有の機能をサポートしていない場合がある
レガシーコード – レガシーコードを Java プロバイダと共に継続して使用したい場合がある
Java Native Interface は、JDK ソフトウェアの一部です。Java Native Interface を使ってプログラムを作成すれば、その Java プログラムコードはどのプラットフォームにも移植可能です。Java コードは、Java Native Interface により、Java 以外の言語 (C、C++、アセンブラなど) で作成されたアプリケーションやライブラリを使用できます。
Java プログラムの作成、および Java プログラムとネイティブメソッドの統合についての詳細は、Java Web サイト http://java.sun.com を参照してください。