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.