tag:blogger.com,1999:blog-13639021.post101574525180671287..comments2024-03-05T04:05:47.416-08:00Comments on The Wisdom of Ganesh: Annotations and the Servlet 3 Specificationprasadgchttp://www.blogger.com/profile/00179696156998026173noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-13639021.post-21897042565938849172010-06-18T19:50:56.291-07:002010-06-18T19:50:56.291-07:00Bino,
I have a slightly different view on both po...Bino,<br /><br />I have a slightly different view on both points.<br /><br />1. I'm not denying that annotations are meta-information, but a quick look at how JSR-311 or Spring REST use annotations to turn POJOs into specialised components (without the need to define interfaces with associated mandatory methods) will tell us that a servlet class can be created the same way. It's a missed opportunity to simplify the servlet definition, that's all. <br /><br />[Annotations are the Auguste Gusteau (of the movie "Ratatouille") of Java - "Anyone can cook!" Any POJO can be a servlet!]<br /><br />2. I share the spirit of Najitaka's comment. Instead of Sun or the JCP classifying Java technologies into "core" and "enterprise" flavours, I believe it's better to unbundle them and let Maven (at build time) and Spring (at run-time) pull together whatever Java technologies are required for an application.<br /><br />We can't pretend the split between JSE and JEE is clean, anyway. JEE (and J2EE before it) is an arbitrarily-named bundle of technologies. It's meant to represent "enterprise" capability, so why are JDBC and RMI in JSE when Javamail and JNDI are in JEE? Why is bean validation in JEE when Javabeans is in JSE?<br /><br />Time to unbundle, I think.<br /><br />Regards,<br />Ganeshprasadgchttps://www.blogger.com/profile/00179696156998026173noreply@blogger.comtag:blogger.com,1999:blog-13639021.post-36017202118662483182010-06-18T11:09:55.284-07:002010-06-18T11:09:55.284-07:00The whole idea of annotations is to convey **META*...The whole idea of annotations is to convey **META** information to the compiler and to the reader of the code. <br />Annotations are not meant to intercept methods and override run time behaviour of those methods.<br /><br />Consider the annotation @override. Does it do any magic? No! But it does tell the compiler that its an overriding method, which elimintaes programming errors (e.g mistyping the method name which would be an accidental over-loading instead of over-riding).<br /><br />About the previous comment, Spring is a not a replacement for JEE. Spring is built on JEE. So how can we replace JEE with Spring?Bino M.https://www.blogger.com/profile/02303467552834533436noreply@blogger.comtag:blogger.com,1999:blog-13639021.post-52472913687181135212010-06-18T07:09:37.364-07:002010-06-18T07:09:37.364-07:00Is it time for J2EE to die? I mean we all know th...Is it time for J2EE to die? I mean we all know that Spring is the better framework for building enterprise Java web applications, why doesn't the J2EE people spend time creating conversions to Spring rather than band-aiding a bad technology. Sometimes you simply must throw out the white towel.B Jordanhttps://www.blogger.com/profile/15241553948631457344noreply@blogger.com