Using JNI is only good for calling processes on the same machine. If you need to communicate to processes written in different languages (C/C++/Cobol/etc.) from Java programs and vice versa in distributed fashion,
you should be using CORBA or possibly XML-RPC or even
SOAP. So far, CORBA is probably the most robust approach to deal with this problem.