|
Techniques and Approaches for Java/.NET Interoperability |
Alex gave an excellent presentation covering .NET and C++ interoperability with Java using technology from CodeMesh. While web services is the first solution for .NET/Java interoperability that comes to mind it isn't always the best solution or appropriate. Web services require a significant amount of overhead, web server, xml marshalling, etc. Thus, web services are ill-suited for granular methods. For instances where you are trying to use a java API from .NET/C++ you would most likely want to embed the Java VM and make native calls. In order to implement this, you of course must write an abstraction layer and deal with the vagaries of JNI. Alex's company, CodeMesh, has produced a package that will generate proxy classes and manage the Java VM thereby allowing one to easy use their existing Java APIs from other languages. So, if your users are Excel addicts and need to talk to a JMS server from VB, this solution is most likely your best route. Alex demonstrated his company's product by running his code generator on the JDBC API. He then wrote a C# application that used the JDBC API to talk to a pure Java database (HSQLDB). Code sample is below - don't forget to notice the data types being passed into the methods - C# Strings! Software package supports callbacks (event listeners etc.) and you can use Swing/AWT components in .NET GUI applications.
Alex will talk about different techniques and approaches for Java/.NET interoperability. Web services is always the first technique that comes to mind, but there are other integration approaches that can offer much better performance or security characteristics (in-process integration, custom remoting protocols). After introducing the different techniques, Alex will discuss:
Alex Krapf, President, Codemesh Inc., has over 15 years experience in software engineering, product development, and project management in the United States and Europe. He has worked on many client/server and integration projects in Java, C++, and .NET. Before founding Codemesh, a firm which specializes in integration across multiple programming languages, Alex worked in Development for IBM, Thomson Financial Services, Hitachi, Veeder-Root, and Document Directions Inc. Alex has been interested in Jini and JavaSpaces since they arrived on the scene in the mid 90s and has been a regular presenter at Jini Community Meetings.