IKVM at ULLINK
ULLINK is a Financial Software Provider For Connectivity and Trading solutions.
Very early in the development process we made the choice to build the client part of our software in C# and the server side part in Java. This choice was made to take the best of both Sun/Oracle and Microsoft technologies. At this time the key point was the interop between Java and C#, as financial software provider we need a robust, scalable and fast communication layer between client and server. IKVM is a part of this communication layer to expose POJO to .NET without traditional heavy and slow marshaling solutions.
IKVM is also used to share common libraries between Java and .NET, almost all our common libraries are developed in Java and then we use IKVM to generate .NET DLLs: "One code base, two worlds targeted".
We've used IKVM since 2008 and I can say without any doubt that IKVM is a ready-to-use solution for a company like ours that needs a reliable and scalable solution. With few clients in 2008, we now target more than thirty clients across the world! Thanks to IKVM. -- Laurent Barbisan, Software Architect at ULLINK.
IKVM on Tchatche.com
Yet another successful story using IKVM in a heavy-loaded production environment!
Index Multimedia is the editor of Tchatche.com website, a chat and social networking service handling not less than 7.5 million visits and 500 million page views each month.
Tchatche.com front-end is a .NET website, running on IIS, while the underlying chat engine is a stand-alone Java application.
Until recently, our web front-end was communicating with the chat engine through a Java client library, compiled with Microsoft's Visual J# Compiler.
Keeping our Java code compatible with this obsolete compiler was a real pain, and using J# was also preventing us from moving our C# code to .NET 4 Framework.
Reading all the good feedback about IKVM, we decided to take the leap!
Our web front-end is now talking to the Java engine through DLLs generated from our client jar files with ikvmc tool.
This allowed us to move our servers to .NET 4, and we now successfully manage 30,000 simultaneous connected users on our chat system.
We did not notice any negative impact on CPU or memory usage when we switched to IKVM. -- Frederic Borry, Project Manager at Index Multimedia.
IKVM at Modulus Capital
IKVM has been an invaluable tool for us. We've used IKVM since 2007 to integrate essential Java libraries with our native .NET codebase. Jeroen is one of the most talented and responsive developers I've ever come across. It is mind boggling that he has managed to produce a production quality, royalty free, open source product like IKVM. -- Brien Oberstein, Founder, Modulus Capital
IKVM at Deltix Lab, Inc.
At my company we are still amazed to see large part of our Java system successfully running on .NET platform thanks to IKVM.
We plan to use IKVM heavily in our technology stack. Our company develops a product for financial data integration and analytics. IKVM will be used to interface our Java-based server with C# based front end. IKVM allows to reuse Java code in .NET modules. For instance, the same ActiveMQ messaging code written on Java now also brings data to our C# application. -- Andy Malakov, System Architect, SCEA
IKVM at eTrading and Analytics Group at HSBC
eTrading and Analytics Group at HSBC provides real-time pricing and algorithmic strategies for a variety of financial markets.
We are very happy with IKVM. It enables us to develop our core libraries in Java and compile for use in .NET. The IKVM team is very responsive and knowledgeable about the issues we were facing.
Some challenges we faced were:
- working with the classpath
- downcasting generics in java to using a base object in .NET
- integrating 3rd party C++ libraries which use JNI
IKVM provides a number of flexible options for us to define the classpath.
Generics would help us enforce the contract between the library and the .NET developer. In practice, we write thin .NET UI applications so this is manageable.
Integrating with in-house quantitative analytic libraries that are exposed through JNI worked effortlessly. However, we hit a roadblock trying to use Reuters sass3j.dll. We suspect there may be some differences in the event models.
All in all, this is an excellent tool that offers us the flexibility to focus on developing domain specific solutions without worrying about porting issues. IKVM solves that. -- Shamus Neville
IKVM for JSTM
JSTM is an open source Java library for distributed object replication. IKVM allowed us to replicate objects between java and dotnet applications very easily. The whole Java library is compiled to a dll, and communication between the Java and .NET processes is done over TCP or HTTP using the same Java code.
This project makes heavy use of the the Java IO and collections classes, and we did not have to modify the Java version to get the same features and similar performance on the .NET framework. There seem to be bugs left in the new Java 5 collections and for the formatting of dates, but the IO stack is robust. IKVM is way beyond our previous solution based on J#, and it allows lots of cool scenarios. -- Cyprien NOEL, http://jstm.sourceforge.net/
IKVM at Chordiant Software
Chordiant software and solutions help major brand enterprises around the world deliver the best possible customer experience.
Our product suite consists of J2EE applications as well as Windows desktop systems. As an IKVM customer, Chordiant was able to consolidate our dedicated C++ engine with our Java code base. This effectively enabled us to cut development time on one specific product in half.
Having used IKVM for over a year, we have found IKVM to work reliably and offer production quality operation. The one time where we did run into some specific problem, the open source nature of IKVM allowed us to quickly track down the bug and verify the cause of the problem. We had a fix for the problem the very same day.
In short, at Chordiant we like IKVM a lot. -- Otto Perdeck, development manager Chordiant Software
