Solutions for Language Integration
In a nutshell, Codemesh's products allow you to cost-effectively and reliably integrate code written in Java, C++, or .NET.
Codemesh's patented technology (US patent #6,901,588) allows your organization to enter previously inaccessible markets or leverage existing assets written in one language, all while integrating with or migrating to code written in another language.
Common Use Cases
The strongest use cases all involve generating C++ or .NET proxy types from compiled Java classes and then using the proxy types in your native applications to gain access to the underlying Java types.
Codemesh's foundational code generators allow you to quickly generate problem-specific solutions to just about any cross-language integration problem involving Java, C++, and .NET. This generic applicability can make it hard for potential customers to picture our products' concrete usefulness in their organization, therefore we used our tools internally to create some problem-specific solutions.
The following use cases are examples taken from our customers' real-world integration needs.
- Generate C++ and/or .NET bindings for your custom Java API
When your expertise lies in a particular problem domain and in developing software in Java, the last thing you want to do is figure out how to do the same thing in two additional languages and then maintain your code in three different versions. Use Codemesh's code generators to keep developing in Java and then generate integration libraries for C++ or .NET developers as part of your nightly build. Use this technique to gain access to new markets or to satisfy existing customers' integration requirements.
- Modernize your C++ application with components written in Java
When you have invested man-decades into an enterprise application that happens to be written in C/C++, you can sometimes feel locked into C++, or locked out of features provided by modern Java products. Simply generate C++ bindings for the desired Java APIs and your C++ developers can integrate the new features with very little trouble.
- Talk to an EJB server from C++ or .NET
If you have a Java client that can talk to the EJB server, it's trivial to generate proxy types for the service interfaces and then use them from the native application. No need to configure SOAP and additional security measures.
- Make your native application a full participant in JMS
You have an application that uses the Java Message Service for its interprocess communications and now you would like to integrate a C++ or .NET client or server into that solution. Our products grant you full access to the JMS API—including asynchronous listeners—from C++ or .NET without locking you into a vendor-specific implementation.
- Use JDBC to access your database from native application
You have a JDBC driver that works in Java, but you have a C++ application that needs to talk to the database. What do you do?
- Integrate a Swing GUI component into your .NET application
Before you ask why you wold want to do that, there are some really useful Swing-based GUIs that do not have a counterpart in .NET, for example NASA's WorldWind.