O.K. --- this one might seem like a stretch, but I'm going for it. Within 12 months, Microsoft will acquire BEA Systems.
1. MS isn't concerned about competing against IBM at the SMB level. IBM has never been able to compete in organizations under 1,000 employees and that isn't going to change soon. However, BEA does compete in this space - and they are a pain in the ass to MS.
2. MS doesn't care about languages or vm's. It's a moot point in the web service world. In MS-land, they want you to buy their service framework (personalization services, commerce services, content mgmt services, industry services (HL7, CPFR, etc) from MS. They really don't care what silly language the service was written in. Who cares about the language?
3. Well, the MS customers care about the language. Enterprises just trained thousand of employees in J2EE. MS is ok with this. Program your home-made extensions in Java, perl or whatever else. Expose them as web services and make them work with the new MS Service Framework.
Does it sound like the service oriented model is an "embrace & extend" play on the platform? It should. It is.
At the end of the day, MS is a money making machine. They don't let silly things like languages or platforms get in their way. They will find a way to do what their competition won't do. MS would be able to say, we have the best Java platform and the best .Net platform - - and, we've weaved them together with web services -- -- so, why would you buy from IBM??? It's about the customer, remember?