IKVM.NET_第三篇_成功项目

 

下面主要介绍了IKVM.NET在一些项目中的成功应用,你可以跳过不看。

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 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

IKVM at eInstruction

At eInstruction, we provide classroom response systems that include custom hardware for gathering responses from students. Our main application was originally written in J++, including some pure Java libraries. This past year we needed to port to .NET. We made some attempts with J#, but ran into some limitations that IKVM does not suffer from. IKVM has been a key part of the success of our port, and we continue to use it to cross-compile our Java hardware API to .NET. IKVM is stable, performs great and Jeroen's support for the few esoteric cases we've run into has been fantastic. -- Chris Morris, eInstruction.

IKVM at WL | Delft Hydraulics

WL | Delft Hydraulics is an independent research institute and specialist consultancy based in the Netherlands. One of our tasks is to make world leading software in watermodelling. I work on the integration of different models. Some models may concern water movement, other models may provide information on water quality. All these models have to work together and exchange information. My main concern is the data communication between these models.

At this moment we're working on making our software OpenMI compliant. OpenMI is a European standard for inter model communication. The standard defines how, when and what information is exchanged between models.

In this part of our software different programming languages are used. The calculations in the models are done with FORTRAN 90. The communication between models is layered. The interprocess communication is implemented in Java. The OpenMI implementation, which takes care of the communication on model level is written in C#.

To make the connection between these communication layers we are using IKVM. A colleague informed me about the IKVM software. I read the documentation on the website, downloaded and started combining it with our software. It was an instant success. It solved a lot of our multi-language problems. We haven't stopped using it.

I have run into two problems. After updating our Java version to version 5.0, it didn't compile. It was easily fixed with assistance of the IKVM main developers. The second problem is trickier. In one of our test cases the Java code fails in the first call. This can be fixed by declaring a Java object in the main routine of the program. It can have something to do with threading in combination with initialization of static variables in the Java code. We have not figured out the problem yet. A drawback of IKVM is in this case that you can not debug the Java code to track down the problem.

IKVM saves us a lot of time setting up the connection between Java and C#. It can be a drawback when you have to debug the underlying Java code. It's amazing how this software bridges the gap between the Java and C# world. -- David Levelt, Software Engineer WL | Delft Hydraulics

posted @ 2011-08-25 22:01  船长&CAP  阅读(622)  评论(0编辑  收藏  举报
免费流量统计软件