In response to this:
I don’t quite get what you mean by the .Net “visio”. As a techie using J2EE at the time all I could see was that they needed something to meet that challenge. 95% of the ideas (e.g. common runtime, remoting etc. etc.) were already there in the J2EE stack. They couldn’t let the Java people steal their business and have enough R&D budget to steal their clothes, so they did.
I believe .Net is easier to develop with if you can afford the MS IDE, because you can put special annotations into the code that allow you to easily create web service end points (etc.). There are a number of OSS tools (e.g. XDoclet) that allowed you to do this, but you have to:
a) know they exist
b) know how to use them
The MS tools do all this for you, that’s where they win – usability and getting productive quickly. Of course, once you have got your head around the OSS development stack, I don’t think these early productivity gains persist. And it’s free! As are the IDE’s.
So, in my opinion, they didn’t have a “visio” they just had a need to protect their markets from innovators who understood the web properly. This is what they are doing again with their “live” software offering, and will do again when the next wave comes. They are a dinosaur lumbering after whatever the new prey is. They did come up with SOAP, but it’s such a boringly obvious thing to do with XML and web servers I’m not sure that proves anything.