The JNI compiler is a command line tool that can generate:
C++ proxies for accessing Java classes and interfaces, which are more productive and less error prone than direct JNI calls.
C++ classes for implementing Java native methods, which are more efficient than IDL-based component calls from Java to C++ or vice versa.
You may want to use the JNI compiler:
For developing C++ clients that talk to EJB components or JMS using the new EJB/JMS client runtime features (for example, data compression), which are not available in our CORBA C++ client runtime.
When you need to call legacy C/C++ code from your components, and you would prefer to write EJBs with a few native methods than to write CORBA C++ components.
The JNI compiler works independently of CORBA IDL.