XDoclet In Action (Manning), by Craig Walls and Norman Richards, introduces you to XDoclet and its uses and serves as a resource on code generation with this open source tool. The book shows you how to use XDoclet with EJBs, Servlets, JMX, and other technologies. Dion Almaer provides a review and synopsis of the book, and offers his perspective on the various topics covered.
- Posted by: Nate Borg
- Posted on: April 16 2004 11:49 EDT
Read Dion's Review of XDoclet In Action
- TSS Book Review: XDoclet In Action by Craig Walls on April 16 2004 12:50 EDT
- Keep grounded folks! by Faisal Abdelli on April 16 2004 15:28 EDT
Keep grounded folks! by Wille Faler on April 16 2004 04:30 EDT
- Keep grounded folks! by Faisal Abdelli on April 16 2004 06:01 EDT
- Keep grounded folks! by Wille Faler on April 16 2004 04:30 EDT
- TSS Book Review: XDoclet In Action by Merrick Schincariol on April 16 2004 16:07 EDT
- Keep grounded folks! by Faisal Abdelli on April 16 2004 15:28 EDT
- Do we still need XDoclet by Anki Nelaturu on April 19 2004 15:05 EDT
Many thanks to Dion for his kind (and honest) review.
I agree with his statement that there'll always be a need for code generation, regardless of what happens with JSR-175. JSR-175 is about runtime metadata (accessed via reflection) while XDoclet is about code generation. Although JSR-175 may reduce or even eliminate some headaches that led to code generation tools such as XDoclet, there's some deployment info that I'm not entirely comfortable compiling into my Java bytecode. My point: JSR-175 and XDoclet are not mutually exclusive technologies.
Regarding XDoclet 2: I must say that I'm a bit frustrated with the progress on XDoclet 2. For the most part, the core of it seems stable, but it has dependencies on Picocontainer which has been a moving target...making it hard to build XDoclet 2. But as Pico settles down, XDoclet 2 will become more stable.
The truth is, however, that my only complaint against XDoclet 1.2 that would justify XDoclet 2 is the horrid template language. I'd much rather use Velocity or Jelly to construct my templates. That's the one thing about XDoclet 2 that makes me happy. Don't get me wrong...XDoclet 2 is brilliantly designed, but from a user's standpoint the only benefit I see is the ability to use Velocity and Jelly in my templates. (Yes, XDoclet 1.2 has an XDt tagshandler to allow me to use Velocity, and htat's great, but I'd prefer a pure Velocity template.)
If I were a publisher I wouldn't publish a book on XDoclet or Ant or any other J2ee tool. These are tools that don't require much brain power. As far i am concerned I use Xdoclet only in Hibernate mapping. Code generation with Xdoclet... u must be kidding! No meant offence
I would have to agree with you, seems like people are writing books left and right for their own ego- and careersatisfaction.
I am not knocking the talent of these people, no doubt most of them are extremely talented developers as well as writers.
But just as the parent, I question the need for a book for some technologies that you can pick up in a few hours by testing a tutorial..
However I do think there might be a market for say 50 pages long introductions in concentrate, you can usually achieve 80% with 20% of the features and knowledge. When it comes to non-core or non-complex technologies, I´d rather pick up a thin introductory pamphlet than a 400 page book which could be concentrated into 50 pages.
Hi Wille Faler,
A booklet, as u said, worth no more than 10 ($/&) is ok. I check Borders and Waterstone on a weekly basis - the number of books published on Java core language is just silly, and most of them don't offer more than Sun' Java Core Specification. The last book I've seen by Wrox is on how to impl 168 porltet specification using Pluto which is still hibernating in Apache.org. All this is doing Java & J2ee no favour - more harm likely. Even magazines - most of them just skim on a certain subject , put a nice face (usually woman's) on the cover and they ask u to pay 35& as a yearly subscription.
No harm intended
I live in Scandinavia, and over here we mostly just see the "bricks", the really big and thick books, so I cant speak for what you have over there.
However, really well written "quick start" guides for more simple frameworks and tools such as Ant, Xdoclet, junit and Struts would probably do more good than harm.
There are sadly lots of developers around "who cant be bothered" with reading thick books to keep up, meaning that you have to be like a hawk in projects not to see proliferation of not using unit-testing and build-tools etc.
In many cases sticking a "quick start" booklet on these things might be better than having them not using best practices and usable tools at all.
..And ,usually, the best way to learn is directly from the source code. I read many books on Servlet & Jsp, but before I delved into the implementation in Tomcat, the whole picture was hazy. A good advantage of an open source developer is to have access to the source code, therefore he/she is in control. This is my advice to all j2ee developers: learn from the source , master the source then adapt it to your application's need.
For a platform like J2EE which is defined by fairly well written specifications, source code is largely irrelevant. Unless you are extending a container at the lowest levels, how JBoss or WebLogic or any other container is implemented shouldn't matter to you in your day to day work. Given the size and complexity of their implementations, traversing the source code is a job unto itself.
While there certainly are some fluff books out there, my experience is that there are enough gems to keep things sailing smoothly. For an enterprise developer, the ability to learn from a spec is probably more important than the ability to snoop around someone elses code.
There are many ways of impl a spec. To work with a certain specification, there is no way of knowing what's going on without refering to the source code.If u can't afford going through most jboss source code u will spend more time wondering what has happened everytime u get an error.
You can read this blog entry for my attempt: http://www.jroller.com/page/mschinc/20040129#velocity_templates_for_xdoclet_1. It took about an afternoon to add native velocity support to version 1.2.
The XDoclet 1.2 implementation is pretty ugly, but could have been evolved to support other templating languages with some effort. Given the somewhat critical role that XDoclet has gained in many developer shops, it's too bad it isn't given the type of support that a production application deserves. XDoclet 2 is a completely different templating tool with a more or less compatible comment syntax. What future is in store for people who hitched their bandwagons to the current XDoclet? Rewrite your plugins? Hope that the new version contains all of the same bug fixes and testing that went into the old one? If they do make the switch, will XDoclet 2 actually be treated as a proper enterprise development tool with support, regular releases, etc.?
The presence of XDoclet 2 implies that XDoclet 1.2 has been end of lifed. This is not entirely true, but it makes it harder to justify extending it. Since XDoclet 2 is also not available in any meangingful form, people looking to develop custom plugins will probably look elsewhere. SGen and tools like it are a direct result.
Don't know much about XDoclet, but With the support for Annotations in JDK1.5, do we need XDoclet in the near future?
Hi AllDon't know much about XDoclet, but With the support for Annotations in JDK1.5, do we need XDoclet in the near future?JSR-175/Annotations/metadata/whatever-you-call-it in JDK 1.5 is an awesome thing and will certainly change the way we write code in the future. That said, JSR-175 doesn't necessarily replace code generation tools like XDoclet.
JSR-175 is about tagging code with metadata that gets (and this is the important part) ***compiled into the class' byte code***. It is a run-time reflection mechanism. XDoclet, on the other hand, is a build-time code generation tool.
On the surface, JSR-175 and XDoclet may appear to be similar. They both use some sort of metadata "tagging" to get their respective jobs done. But that's where the similarities end.
I will agree that many of the ways XDoclet is used today may not be necessary in the future. The story goes that the future of J2EE will use more JSR-175-style metadata than deployment descriptors. As a result, you may not need XDoclet for those kinds of things anymore. But there'll always be a need for code generation...we just may using it to generate different things than it is generating today.
What's more, not every shop on the planet is going to be running on a Java 1.5 platform the very day that Java 1.5 is released. For some time to come, many systems will still be running on pre-Java 1.5 platforms where they won't have the luxury of JSR-175 annotations.