Hypothetically, you have two products, one written in Java, the other in C#. You like the Java based backend (non-user visible portion), but would like to use the C# (WPF) frontend. What is the best way to go about interfacing them?
Note that the backend must be able to run on either a server or on the local machine and the frontend should be able to connect to either one.
My first thoughts were to use something like Ice, or maybe a webservice.
And Go!
Edit
Converting the code or running it in some variety of neutral VM (IKVM) is not an option.
Expose a web service on the java backend and have the C# front end talk to the java web service. Look into WCF (windows communication foundation) it might make talking to a java web service alot easier.