Skip to content.

Manageability

Sections
Personal tools
You are here: Home » blog » stuff » Top Five Java Technologies to Learn in 2008

Top Five Java Technologies to Learn in 2008

Software Technology will always been in constant flux. Change will always be inevitable. So as a Java developer you need to continue to groom your career by learning new techniques and technologies. It's both a curse and a blessing. It's a blessing because Java, without a doubt, is where a lot of innovation happens. The question though is, out of the multitude of Java projects out there, which ones should we invest our limited bandwidth on? This is my attempt at answering this question.

Here is what I humbly believe to be the top 5 Java based technologies to learn in 2008:

  • #5 OSGI - Reality check, monolithic containers carry too much baggage and Java libraries are so richly cross dependent. The trend is there, a lot of frameworks are moving towards OSGI to bring some sanity in their deployment. Projects that have employed OSGI in anger are Eclipse via Equinox, Nuxeo and BEA Event Server,
  • #4 JCR - Reality check, not all data fits well within a relational database. In most cases, users want to store their own documents and have those properly managed (i.e. versioned). JCR with it's Jackrabbit implementation is becoming the de-facto standard for maintaining data other than the structured kind. Some examples of projects that have used this in unexpected and innovative ways are Drools BRMS for managing business rules, Apache Sling for universal resource storage and Mule Galaxy for SOA governance management.
  • #3 GWT - Reality check, AJAX is here to stay and Javascript is still a pain to work with. GWT is gaining traction like wildfire at the expense of other Java web technologies like JSF. A lot of projects have begun creating extremely cool products with it. Some impressive examples are Queplix a CRM, Compiere an ERP and GPokr a multiplayer Texas hold-em poker game.
  • #2 Groovy - Reality check, sometimes you have to write quick and dirty scripts to get your tasks done quickly. There's a lot of traction these days for dynamic scripting languages like Ruby. However if you want to truly leverage your existing skill set, then it's more efficient to take a evolutionary step. Groovy has come a long way since it's rocky beginnings. I believe Groovy is finally mature enough (it finally has a debugger) that it's safe to dip your toes in it. Furthermore, there's are a of books, books about frameworks (i.e. Grails) and tools (i.e. IntelliJ) that help you from getting lost.
  • #1 Cloud Computing - Reality check, sometimes it just isn't worth it to setup your own physical servers. Amazon's services are going to be an extreme boon to development productivity. One of the most time consuming efforts, and one that is too often taken for granted, is the deployment of a load and performance testing harness. In a lot of rigid organization, it is sometime problematic to acquire so much hardware for use only for short time periods. There aren't many tools out there yet for the Java developer (see: "Grid Gain Distributed JUnit"), however it's ramping up pretty quickly. So just as we create our builds from the cloud via Maven repositories, one shouldn't be surprised to find cloud based testing resources to be part of every developer's tool chain in the future.

With all these nice new shiny objects to play with, I'm constantly surprised why people keep claiming that Java is dying!

I'm certain you are all agreement with me on what belongs to this list. However if you've got some violent objections, I certainly would like to hear your view.

UPDATE Here are the "Top Five Java Technologies that Did Not Make the List".
Created by ceperez
Last modified 2008-01-31 04:40 AM

Don't forget Scala!

Posted by Anonymous User at 2008-01-30 06:41 AM
May I humbly add Scala to the list?

Mats Henricson

Not bad...

Posted by Anonymous User at 2008-01-30 09:21 AM
Not a bad list. But horribly written and the points are off the mark. Groovy "quick and dirty"? Groovy code is cleaner and more readable than Java by a long shot.

Clinton

Also

Posted by Anonymous User at 2008-01-30 10:56 AM
"Reality check" in front of each item is annoying.

I'd expand Groovy to "Polyglot: building apps out of multiple languages that all run on the JVM, such as Groovy, Scala and JRuby"

Missing Flex

Posted by Anonymous User at 2008-01-30 11:13 AM
With Adobe providing an open source implementation of LiveCycle DataServices (Blaze DS), Java developers would lose to not learn Flex UI development and integration with Java backends. This is the wave of the future.

Scala!

Posted by Anonymous User at 2008-01-31 01:01 AM
U forgot Scala off the list!

Here's a nice OSGI introduction

Posted by Anonymous User at 2008-01-31 02:06 PM
<a href="http://dev2dev.bea.com/pub/a/2007/12/osgi-introduction.html">An Introduction to OSGi on the Server Side</a>
Daniel Rubio introduces OSGi, an environment that facilitates modularizing an application into smaller and more manageable pieces, with packaging, JVM, and class loader graph support.

http://dev2dev.bea.com/pub/a/2007/12/osgi-introduction.html

No recommendations in the Java ME area?

Posted by Anonymous User at 2008-02-07 02:50 PM
I thought the "Reality Check" was fun.

Here's one one my list: Lucene.

And in the web space: Web Beans.

Good list.

Jboss Seam ...

Posted by Anonymous User at 2008-06-19 05:46 AM
Dont forget jboss Seam ..with advanced Business logic maintainance
visitors
reading
 
 

Powered by Plone

This site conforms to the following standards: