How JNBridgePro Works
JNBridgePro creates the interoperability bridge by generating a set of proxies that expose the classes' APIs and manage the communications between the .NET and Java classes. You can explore Java or .NET classes with the easy-to-use proxy generation plug-ins in Eclipse (Figure 1), Visual Studio (Figure 2), or the standalone GUI (Figure 3) and determine which classes should have their functionality exposed. JNBridgePro automatically generates the proxies, and will optionally find and expose all the necessary supporting classes.
Once the proxies are generated, and you've added them to your current project, you can access the underlying Java classes from .NET (or .NET classes from Java). When deployed, the .NET classes communicate with the Java classes via your previously generated proxy classes, or vice versa. The .NET code runs in a .NET CLR (Common Language Runtime) or Mono runtime on Windows or Linux, and the Java code runs in any conformant JVM (Java Virtual Machine).
JNBridgePro's communications architecture (Figure 4) gives you the choice of three communication channels: a fast in-process shared-memory channel, a TCP/Binary protocol or an HTTP/SOAP channel. With these channels you can easily construct distributed systems that can run on a wide variety of architectures, both on the ground and in the cloud.
Check out the JNBridgePro Technical Overview white paper for more.
Interested in cross-platform transactions? See the description of .NET-to-Java and Java-to-.NET Cross-platform Transactions with 2-Phase Commit.