Let's say we need to convert XML to PDF in our .NET application. There is a time-tested Java solution — Apache FOP. It's possible to re-write everything on C# (but it's a lot of work), use cross-compilation or use Java library right from Java. It's possible to run Java service and communicate with it from the .NET app, but it's also possible to run the same Java service right inside the .NET process. The former is not always suitable: infrastructure, monitorings etc. can be .NET-customized. Let's run JVM inside the .NET process while getting acquainted with Marshal, pitfalls and other specifics of such integration.
Leads a small development team in the biggest IT company in Ekaterinburg: SKB Kontur. Manages Java community inside of the company. Frequent speaker at internal conferences and meet-ups. Although Gregory has quit the .NET some time ago, he still keeps track of the platform evoltuion. He believes Java and .NET should solve problems together instead of competing with each other.