我想開發一個Java應用程序它通過COM的功能,因爲傳統的VB應用程序需要與它通信。如何通過COM /本機DLL公開Java?
有幾個庫可以消耗 COM組件;但是在做一些支持的同時暴露 COM?
我也想過創建一個用C#編寫的代理,然後通過protobuf與Java-App進行通信。
任何想法?
我想開發一個Java應用程序它通過COM的功能,因爲傳統的VB應用程序需要與它通信。如何通過COM /本機DLL公開Java?
有幾個庫可以消耗 COM組件;但是在做一些支持的同時暴露 COM?
我也想過創建一個用C#編寫的代理,然後通過protobuf與Java-App進行通信。
任何想法?
如果這是一個獨立的應用程序或服務器進程,即使使用protobuf您將需要一種與Java代碼進行通信的方式。您是否想過編寫公開HTTP端點所需的Java?您可以以這種方式公開一個API,並讓VB直接訪問Java,而不是通過代理。我已經完成了。
如果Java只是一個庫,我會建議尋找託管C++。您可以將JNI調用到Java中。您可以使用C++創建COM對象,然後使用JNI將其映射到Java中以便實際工作。這我沒有做過...但你問了想法!
你總是可以通過JNI和C/C++來做到這一點。只需從中運行JVM。
還有一種選擇 - 你可以使用純粹的C to create a .dll並直接從VB中調用它。在這裏你可以通過JNI來完成它,或者使用GCJ從Java代碼構建本地庫。
或者您可以將java應用程序公開爲WebService或類似的應用程序。
Windows平臺上的Java捆綁了an ActiveX packager。使用這個包裝器,您可以將JavaBeans作爲COM對象進行發佈。唉,包裝程序是用於Visual JavaBeans(即作爲小部件公開的UI組件),我不確定它如何處理非可視化組件。
謝謝!我會看看那個..! –
你是什麼意思「直接」......通過HTTP不會是直接的,會嗎? –