2016-06-05 15 views

ответ

0

Это не невозможно, но почти наверняка не стоит беспокоиться о создании моста в чистом .NET. Если вы не можете изменить клиента на более совместимую технологию (некоторые многоязычные RPC или REST), подумайте о том, как включить серверную часть Java RMI в приложение моста.

Например, вы можете разместить JVM в «родном» процессе, который вы разрабатываете на C/C++, или вы можете загрузить DLL собственного кода в процесс JVM. В любом случае вы используете JNI для связи с Java на C/C++. И вы можете разработать C/C++ в C++/CLI, чтобы перейти на .NET. (Это приводит к интересному сценарию как JVM, так и CLR, работающего в том же процессе, который я никогда не использовал лично).

В качестве альтернативы вы можете разделить серверные Java и .NET на отдельные процессы, и попросите их обмениваться информацией, используя многоязычный RPC или REST (обратите внимание, что это не требует изменения клиента). Если интерфейс, который вы соединяете, является большим, вы можете предпочесть этот подход для записи нативной стороны большого интерфейса JNI, который я считаю утомительным и подверженным ошибкам.