jump to navigation

Catching Up With Java One – Annotation and Dynamic Languages May 26, 2006

Posted by poseidongroove in Annotation, ATG, BEA, IBM, Java, JavaOne, Oracle, PHP, RUBY, SOA, Weblogs.
1 comment so far

If you want to catch up with all the Java One sessions, you should start here, PodTech. You can listen/download all the session podcasts there. Highlights include, vendors such as BEA demonstrating capability to run PHP on their App Server(imagine clustering and session failover for PHP Applications nice). J2EE 5 support for annotation. BEA's Bill Roth also presented a session called Use the Right Tool. Good Job guys. People are listening.

Annotations reduces the amount of code and xml files we currently have to live with in Java, Annotations are mark up notes in the code that tell the Container how to execute the code, generate deployment descriptors or connect with a resource. So you can write a simple java class and insert annotation to let the container know to treat it as an EJB. 

The JDK development team are claiming a significant reduction in the amount of code in this version of the JDK. I've personally not verified this. However, what I see so far is very good.

My take, Java has finally dealt with one of the big things the .Net camp and dynamic language camp used to scream about. Too much complexity. The only thing someone forgot to tell the .Net camp is that they're just as bad.

It's one of the reasons why I rarely use EJBs why bother when you can use Servlets or message driven beans.  All that nonsense code and deployment descriptors for what. I'd rather write CICS transactions or Encina Procedures.

Java started off well, then complicated things with all the silly XML descriptors, Java Community Process made it worse as well. I remember a few years ago it was almost a nightmare for developers to keep track of all the JCP activities. I think that's why dynamic languages became very successful overnight. Over engineered complexity for what !!

Anyway good job to the J2EE and J2SE development teams about time all that code was reduced. The news is, a lot of the JCP code will be rolled into the JDK. I'm glad that's happening as well.

Several other hightlights for me, there was talk about participatory architectures in most of the sessions

I hate to say I told you so. One thing that hasn't escaped my attention is all the talk from the J2EE development team about using dependency injection  in J2EE 5. Hmm, so Java has finally caught up with what ATG did with Nucleus years ago. Alright, I know Spring Framework mimics this as well and more. Shame ATG didn't make it open source at the time. 

With dependency injection, you can easily wire together an entire application without writing a single line of Java. I remember developing a site using this approach several years ago. So now they call it dependency injection. Ok thank you, I'll call it plug and play and everyone thinks it's new!

This is one of those defining moments in Java. We've spent so much time over engineering the beast and finally some common sense is now needed. The language is now all about participation from Oracle, Sun, BEA and IBM the message is the same. I'm glad the big vendors are listening. Make all scripting languages part of your platforms and you automatically convert a lot of developers in the enterprise to code to some enterprise standard API. Basically, you work out which are the enterprise developers and workgroup application developers in this way.

Me suspect it's the PHP and Ruby on Rails gang that's forced the big changes to the Java API. These changes are good.

Finally, this is the best Java One for a while, I think we'll start to realise the benefits of all these features from vendors and developers alike pretty soon. If you're a developer, you really ought to start checking out all the new features of J2EE 5.  If you only know one development environment you ought to get your head examined. There's a lot of good things to learn out there@ the mo.