C# コードと Java コードを相互運用するためのヒントを教えてください。相互運用を単純なものとして定義しましょう。C# で定義されたクラスのインスタンス化とメソッド呼び出しを (Java コードから) 許可し、場合によってはその逆も許可します。
これはネイティブでも可能ですか? (つまり、いくつかのプロキシ/スケルトン インターフェイス メカニズムなし)
最後に、どのプロキシ メカニズムを使用できますか? (つまり、両方の言語領域でサポートされています)
これを成功させるためにIKVMを使用しました。
.NET側で何をする必要があるかわかりませんが(私は.NETの人ではありません)、Javaはネイティブライブラリと相互運用するためのJNIフレームワークを提供します。
ウィキペディアから始めて、リンクをたどってください...
私は、JVMとCLR間のオープンソースのプロセス間ブリッジであるjni4netの作成者です。これは、JNIとPInvokeの上に構築されています。C /C++コードは必要ありません。お役に立てば幸いです。
CodeProject hereに関する非常に有望な記事を見つけました。
記事紹介より抜粋:
提案されたソリューションは、2 つのフレームワークが同じプロセスで共存し、互いにシームレスに通信する方法を示します。
この記事では、Java プラットフォームと .NET Framework の間の高性能な相互運用性ソリューションについて説明します。推奨されるソリューションは、Java 仮想マシンまたは .NET Framework ランタイムを置き換えるものではありません。代わりに、JVM または .NET がそれぞれ反対のランタイム環境内でホストされ、ベンダー固有の VM の最適化が維持されるようにします。
クイックグーグル検索は「Java+.NET統合シナリオ」でこのページを見つけます
.NET-Java 相互運用をネイティブに実行できるサードパーティ製品がいくつかあります。J-Integraは私が最もよく知っている会社です (私は J-Integra で働いていませんし、彼らに経済的な関心もありません)。
プロキシなどに問題がなければ、SOAP/Web サービスや CORBA などのオプションがいくつかあります。