yut wrote:If Microsoft stuff is so great, how come they can't even get their stuff to work? Their web applications are buggy, and whenever I go to their training sessions, I see their Senior VP demo-ing stuff that doesn't work. I mean, every time! I go to Java One, and their stuff works! Hotmail is crap ever since they migrated it. The Microsoft site has always had performance issues and loads of downtime.
I won't disagree with you that Microsoft's server-side ventures haven't been successful. I just disagreed with some of your criticisms of things which had nothing really to do with server-side enterprisey things like appservers, and more to do with the underlying OS.
yut wrote:App servers like weblogic and websphere have logging out of the box. .NET does not.
Not true. Have a look at the
System.Diagnostics namespace. It's provided out of the box.
yut wrote:A core dump is different than a stack trace. A core dump is the recorded state of working memory when the exception occured. A stack trace is the list of classes where the exception occured, which makes it a trillion times easier to trace back in the actual source code. The first line in the stack trace is 99% of the times where the problem is.
Uhh...a core dump contains stack trace information. When the system dumps its memory state, you get everything, not just the heap. The stack is just another part of working memory. Why else would
pstack take a core dump as an argument?
yut wrote:The point I was making with J2EE is not that it is an operating system, but that Microsoft does not do enterprise software well at all. Amazing how much they tried to rip off from J2EE, and how bad their stuff is in comparison.
I think the CLR is a much cleaner VM design than Sun's JVM. Garbage collection is not as retarded in .NET, for one thing. There are millions of client-side applications running just fine on it, but I agree they haven't been able to nail the server side.
However, I wouldn't start lauding praise onto J2EE, not with the crap I've had to deal with. Websphere and Weblogic are vastly overpriced resource hogs, more wasteful than anything I've ever seen, and I've had to deal with them falling over on many occasions.
yut wrote:As for J2EE portability, we have everything in .ear files and they plug right into the same brand of app server on Unix, and it all works fine. The configuration files are the same. The deployment descriptors are the same. QA has regression tested everything. You're looking way too low level here. Appservers provide a uniform platform for developing applications. A good appserver will run the same on Windows and Unix.
If all you're doing is vanilla J2EE stuff, sure, your .ear will deploy fine. But note that you said "the same brand of app server". One of the goals of J2EE was to have complete interchangeability of appservers for your applications, but this has just been thrown to the wayside as each vendor built more and more lock-in features, intentionally or not.
BTW, I don't work for M$, but I do work in the appserver area.