Yes. It is possible.
The key is, what sort of services does the C# application provide that the Java system requires?
In other words, what do you mean by subsystem?
One of the current, popular methods for doing this is via web services. We use that extensively, and it works well for integrating diverse systems.
Woody Z
http://www.learntoprogramnow.com