I frequently point to O’Reilly’s Java and XML a great technical book. It’s well written and helps you pick the technology up quickly.
JDOM was initially written by Jason Hunter and Brett McLaughlin during development of Java and XML. Here’s Jason’s account of how JDOM came to be. Jason is still the main force behind JDOM.
I use JDOM whenever I need to process XML with Java. It’s just easier and faster than any of the alternatives. DOM is too clumsy and SAX isn’t intuitive enough to be easy for most uses.
JDOM is such a great way to process XML in Java, that it was put on track by Sun (through the JCP process and JSR-102) to actually become a part of the Java specification. On the approval ballot for making JDOM a part of the Java specification, SUN’s comment was:
“In general we tend to prefer to avoid adding new APIs to the Java platform which replicate the functionality of existing APIs.
However JDOM does appear to be significantly easier to use than the earlier APIs, so we believe it will be a useful addition to the platform.”
But even though JDOM has been widely adopted by Java developers, its progress toward finalizing the JCP process has stalled. In fact, it’s not even release 1.0 software yet (which flies in the face of other advice I’ve given on adopting open source technologies).
So what’s up with JDOM and where is it heading? That subject was discussed in a recent extended thread on the jdom-interest list. According to Jason:
“The short summary appropos to your concerns is that after I went self employed a little over a year ago, my free time dried up. I offered JDOM stewardship to a few individuals, but they declined. Laurent and Brad are still energetic and great coders and have fixed any bugs as they’ve appeared, but the project’s been going without a strong rudder. I realize we need to get to a 1.0 and have been trying to arrange my schedule to help lead that.”
So Jason’s been carrying the load on JDOM for a long time and - like many of us (including me!) - doesn’t have time to be the chief developer and JSR lead for JDOM forever!
This to me shows one of the great business benefits of open source. If a commercial company had developed JDOM and was on the verge of going out of business - your company could be in big trouble if you were using it. The support might dry up, new releases would end, and any bugs you found would go unfixed.
But since JDOM is open source, even if Jason decided to chuck it tomorrow (which he won’t), you’d still have all the source code plus existing commiters, an active user base and a discussion list (with archives on-line). The worst that could happen is that JDOM wouldn’t improve much - but it’s already solid and production proven anyway.
So where is JDOM heading? Jason has got a plan and some energy left. The plan is to hunker down and focus on a release 1.0 (though the software is already much more solid than any pre-1.0 release of commercial software I’ve ever used).
And what about moving the JSR specification forward? According to Jason:
“As far as the JCP goes, I think it’s more important with limited resources to get a 1.0 software release out. To push JDOM through the JCP process would require a volunteer to lead it.”
Any volunteers?
dom4j is much better than JDOM
The API is better designed and the implementation is actually stable.