2012-07-09 32 views
2

我正在開發Java EE Web應用程序,它應該與傳統Visual C++應用程序(.dll文件)集成以應用某些業務邏輯(使用.dll函數)。Java EE與Legacy C++應用程序集成

任何人都可以指出如何實施這種方法。我已經做了一些谷歌搜索,並且閱讀了JCA和JNI,但JNI不能保證在應用程序服務器上正常運行。

我有種沒有明確的方向。任何人都可以幫我嗎?

回答

1

考慮將.dll封裝在將.dll方法公開爲服務的C++應用程序中。

它不必是一個SOAP web服務,但可能是ZeroMQ上協議緩衝區的輕量級設備。我會認爲這種方法更具可測試性和可維護性,因爲您不會介紹JNI的複雜性,而最終編寫的C++只是一個小小的服務包裝。

+0

我必須同意100%! – 2012-07-09 13:09:51

0

你可以使用JNI來滿足你的需求。它並不是你想象的那麼複雜。使用JBOSS Application Server你可以編寫一個Java應用程序,在其中加載你的C++ dll並通過JNI連接它。使用JNI來使用已經寫得很久的本地實現來避免重新實現。