I think it is possible to divide the Java world into roughly three clusters of related technologies, each of which has its own share of followers: (this is only my opinion...)
As you can see, I put XML in the IBM cluster. Apparently the developers who don't like XML are in the Sun cluster. Not coincidentally the same cluster where Ruby and EJB are. I think there is a reason for this.
The older versions of EJB extensively used XML inappropriately and these developers associate XML with this wrong usage. Ruby on Rails answered these feelings by minimizing the usage of XML. Within the Sun cluster, they had a point. But looking a bit further than that, it seems that the value of XML is currently underrated.
In my old post comparing Rails and XForms I argued that XForms was trying to find new solutions to old problems, where Rails is improving the old solutions to do the current tasks better. I think, Rails unintentionally inspired many Java developers to start doing questionable things with Java technology. (Like hardcoding things in Java because they are used to doing that in Ruby)
Now the Rails hype is over and started doing at least as much damage as EJB's XML abuse, it is time to clear up the mess and take a look at proper technologies. First of all, let's focus on web standards (most of which are XML based) and use technology that properly supports them...
The next few posts cover XML technology, but keep in mind that the underlying platforms better fit in the IBM cluster than in the Sun cluster!
The Sun, IBM and Oracle clusters are the opinion of the author. There is no official source claiming there is any truth in this division. Most probably, the companies themselves will disagree.