One thing we’ve learned the hard way when developing large scale applications, was to use incomparable existing functionalities in Java world! Things like Message Queues, Task Scheduling, Load Balancing and fail over, etc, and yes, that means connecting your .NET application to a Java application server on the backend. I’ve been working on a PoC for this on the last couple of weeks, so there’ll be yet another enterprise comparison between what new EJB 3.0 and .NET can offer you. Stay tuned.