2011-10-20 21 views
1

がCOMを介しての機能を公開するJavaアプリケーションを開発したいと思っています。これは、従来のVBアプリケーションと通信する必要があるためです。COM /ネイティブDLLを使用してJavaを公開する方法

が利用できるライブラリがいくつかあります。 COMコンポーネント。それらのうちのいくつかを同時に行う COMを公開していますか?

私はまた、C#で書かれたプロキシを作成し、protobufを使ってJava-Appと通信することも考えました。

アイデア?

答えて

1

protobufでもスタンドアロンのアプリケーションまたはサーバープロセスの場合は、Javaコードと通信する方法が必要になります。 HTTPエンドポイントを公開するために必要なJavaの記述について考えましたか?あなたはそのようにAPIを公開して、VBがプロキシを経由するのではなくJavaに直接アクセスできるようにすることができます。これは私がやったことです。

Javaが単なるライブラリの場合は、Managed C++をお勧めします。 JNIコールをJavaにすることができます。 C++でCOMオブジェクトを作成し、JNIを使​​用してJavaにマップして実際の作業を行うことができます。これは私がしていない...しかしあなたはアイデアを求めた!

+0

「直接」HTTPを介して直接的にはどういう意味ですか? –

1

あなたはいつもC/C++を使用してJNI経由でそれを行うことができます。そこからJVMを実行するだけです。

さらに別のオプション - 純粋なC to create a .dllを使用してVBから直接呼び出すことができます。ここでは、JNI経由でGCJを使用してJavaコードからネイティブライブラリを構築することができます。

また、javaアプリケーションをWebServiceなどとして公開することもできます。

2

Windowsプラットフォーム上のJavaには、an ActiveX packagerがバンドルされています。このパッケージャを使用すると、JavaBeansをCOMオブジェクトとしてパブリッシュできます。うわべは、ビジュアルJavaBeans(すなわち、ウィジェットとして公開されたUIコンポーネント)用のパッケージャですが、私はそれが非ビジュアルコンポーネントをどれくらいうまく扱っているかはわかりません。

+0

ありがとう!私はそれをチェックアウトする..! –

関連する問題