Ok。クライアントがJavaではないことがわかったので、もう一度試してみます。プロセス外アクセスと、場合によってはリモート マシン アクセスが必要なため、JNI は厳密にインプロセスであるため (そして完全に手間がかかるため)、必要なものではないと思います。その他のオプションは次のとおりです。
Raw Sockets : Java でリスナー ソケットをセットアップし、接続を受け入れるだけです。接続を取得したら、要求を読み取り、応答を返します。ほとんどすべての言語でソケットを使用できるため、これは非常に普遍的なソリューションです。ただし、独自のマーシャリング スキーム、解析などを定義する必要があります。
XML-RPC : 最近は流行りではありませんが、シンプルで効果的です。Java ライブラリと、他のほとんどの言語のライブラリがあり
CORBA : 前述のとおり、CORBA はオプションですが、かなり複雑であり、専門家を見つけるのが難しくなっています。
Web サーバー: アプリに組み込み Web サーバーをセットアップし、要求を処理します。Jettyについて良いことを聞いたことがあります。Java で提供されているものを使用することもできます。私は後者を使用して、Java で記述されたシミュレーションから KML ファイルを Google Earth にサーバーすることに成功しました。他のほとんどの言語には、HTTP リクエストを作成するためのライブラリがあります。データ (XML、テキストなど) をエンコードする方法は自由です。
Web サービス: これはもっと複雑だと思いますが、JAX-WSを使用してオブジェクトを Web サービスとして公開できます。NetBeans には、Web サービスを構築するための優れたツールがありますが、これはやり過ぎかもしれません。