Interoperability is becoming a quality of greater importance for software or IT products in today’s market. Interoperability is the ability of systems or products to exchange services so as to operate effectively together. There are many scenarios that could require an application written in specific language to call a module or component developed in another language. Irrespective of the scenario, you need to solve the problem of interoperability.
In this blog I would like to introduce you developers to few tools that exist in the market which would help you achieve your goal, which is solving the interoperability issue. Interoperability can be achieved in two ways:
- Web Services
You might have heard a lot about web service and terms like remote procedure call (RPC), Simple Object Access Protocol (SOAP), Web Service Definition Language (WSDL) etc. I am not going to go over that here today but rather the second one which is bridging.
JNBridge is a Java and .NET interoperability tool that allows you to access your entire object-oriented API from the other side, in the same process or across a network. JNBridge creates Interoperability Bridge by generating a set of proxies that expose the classes API. When deployed the .NET classes communicate with the Java classes via the generated proxy classes or vice-versa. The .NET code runs on a .NET CLR and Java code runs on any conformant JVM. JNBridge offers a quick solution to Java/.NET divide and good integration with Visual Studio environment.
Adobe Air/Java Interoperability
Merapi, a messaging bridge, is a Adobe Air and Java interoperability tool that enables Adobe Air applications to communicate with other Java applications that the user has installed on their computer by passing objects between the applications. Developers can write Java application for their Air applications using a light weight and straightforward API. Java programs treat Merapi as a bridge to run AIR applications and vice-versa.
Another interesting tool that provides a developer with a toolkit of commands to extend system capabilities of your AIR application is Shu. By wrapping your AIR application, Shu player solves some of the problems faced by AIR applications such as opening files in native applications, executing other applications. As of now they support only Windows and MAC systems.
ComfyJ is Java-COM interoperability tool which allows developers to integrate their Java applications with COM/OLE/ActiveX libraries. ComfyJ is a communication bridge between Java and COM, based on JNIWrapper technology, enabling bidirectional communication between the Java platform and COM technologies. It allows the Java objects to be implemented as COM objects. ComfyJ allows registering of created Java COM servers that can then be used by other COM applications.