.NET is competition to
J2EE but it probably won't destroy J2EE. The main reason why I say that is that in chosing .net, you are locking yourself into certain platform choices. First, your developers have to have Visual Studio.net, second, your application servers must be from microsoft, third your OS must be from microsoft.
With Java, you have a variety of
IDE, Application Server, and Operating System options. One could design an IDE/App Server/OS software package for Java that is 5-10 times the cost of of a .net package, or one could design an IDE/App Server/OS software package for Java that is virtually free. With the microsoft products, your only choice is microsoft level of support and microft level of reliability. Again, java gives you a much greater range of support and reliability options. These are just some of the reasons why Java may be chosen over microsoft in many (but not all) cases.
Jon