Vietnamese version is coming soon ! (Translated by Phung Nam ;))
2009 is coming to your way and it’s time to get ready on what technology lies ahead. Refactor, refactor and refactor is the theme for 2009. A whole new technology is coming your way and it’s good to take a sneak peek on what technology is worth evaluating to be used for our projects in 2009. The first half technology are the technologies that you should keep your eyes at while the next half are the technologies that you might want to start trying for your next project in 2009. So here are the lists for 2009:
- Rails 3
- Grails 1.1
- WebBeans & Seam 3
- iBatis 3
- JBoss AS 5
- Glassfish v3_prelude
If you’re not really comfortable with Rails/Ruby or perhaps you would like to use your existing Java knowledge without sacrificing the development productivity, then you might want to keep your eyes on the next up and coming release of Grails. It should be interesting to follow this new release since G2One, the company that is behind Groovy and Grails has been acquired by SpringSource. And if there is one thing that Grails is lack of is its marketing. It should be interesting to see how SpringSource, the company that is behind the popular Spring Framework able to make Grails to be more popular than ever, especially in the Java community itself. The recent Beta release has many convenient functionality on the ORM side which makes it more interesting to be evaluated.
If you need something that is more component based with dependency injection feature that is becoming as the standards, then you should keep your eyes on the up and coming release of WebBeans in 2009. It’s still under heavy development and gaining community feedback. This is the good thing about WebBeans, as its spec leader is always encouraging the community to give feedback about the reference documentation and the source code itself. Not only that WebBeans is the standards for dependency injection, it also enable us to create custom scope and type binding. WebBeans will revolutionize the way we built web application as it will enable us to build true OO application instead of anemic domain model. WebBeans will be the backbone for the next major release of Seam. If you have always liked the idea of Seam, WebBeans and Seam 3 will be something that is worth waiting for in 2009.
If you never liked the idea about ORM and just love using SQL and map it to your domain objects, then you will love what iBatis will have in its next major release. One of the most interesting feature is that it will enable us to write the SQL inside Java code by using annotation. Though I think that it’s not a bad thing to have your SQL written in XML, but it is still an interesting feature to have.
If you are looking for a RIA technology with multimedia capability that can run on any platform from mobile to browser then you should keep your eyes on the next major release of JavaFX that will be presented in next year’s JavaOne conference. JavaFX is a big plus for Java developer, besides capable to run on any platform, with JavaFX you won’t have to learn a new domain specific language for creating RIA apps.
If you are looking for a security framework that can be plugged into any environment, like desktop or web, you might be interested in what JSecurity has got to offer. Security is a complex issue as it is built upon many years of experience, but using a security framework should not be a tough task, infact it should be as simple as possible. With JSecurity you would only be writing a simple configuration in web.xml. JSecurity is not tightly coupled to a specific framework nor environment, you can use it in any environment, let it be web or even desktop or you can even put it in your EJB layer without a hassle.
Not many people recognize Buildr, but as a matter of fact it’s one of a great solution for building your project. Another contender would be Ivy that is build on top of Ant. But IMHO Ivy doesn’t really solve what is really important on project build system as it is only an extension to Ant for dependency management. Beside as a dependency manager, what’s more important is that Buildr ease us to create your custom script because it uses Ruby syntax. In maven put this as maven plugin/MOJO while in Ant think of it as Ant custom tasks. Many times plugins/custom tasks that is built by someone else may not suit your needs. Previously I used the maven flex plugin which does not suits our needs. Creating both Ant task and Maven also sometimes is not easy, not to mention sometimes it also requires more work. So it would be interesting to use Buildr in co-existence with maven in your project.
JBoss has recenlty released their latest major release which is their Java EE 5 compliant appserver that is built upon its new microcontainer which is slimmer than its previous JMX Microkernel. Besides having microcontainer, it also supports OSGi. The interesting part from JBoss other than its new microcontainer is that it will be the first appserver that supports WeBBeans. Besides having support for WebBeans, JBoss AS 5 also has support for Rails which is still under development and just released the beta version recently. It will be interesting to keep your eyes on what other technology that JBoss will support in 2009.
If you don’t like JBoss for one reason or the other and would prefer something else, IMHO it’s worth evaluating the latest version of Glassfish as it is more revolutionary compared to the previous version. What’s so interesting about Glassfish is that it is slimmer and able to fetch the resources that you want to be added to the appserver using its update tool over the internet. Besides being slimmer and having faster bootstrap time, it also supports some of the RAD framework like Ruby on Rails and Grails. Which makes it also supports JRuby and Groovy out of the box. Another cool thing about GF is, just like JBoss it supports modular OSGi.
The last technology that is worth evaluating is has got to be JRuby itself. IMHO it wouldn’t be fair not to mention this technology as it has evolved how Java programmers solve problems in their project. With more and more expectations to write code in a shorter time frame and more frameworks and application server that supports JRuby and Rails like Glassfish v3_prelude and JBoss AS 5, it would be sane to consider and evaluate JRuby to co-exist with Java. Also as Merb is faster running on JRuby and Merb will join forces with Rails to become Rails 3.0 would be another reason to evaluate JRuby for your next project.
So there you go. 10 Java technology that is worth evaluating and keeping your eyes on during the year of 2009. Don’t forget also to give some feedback for projects that is still under design phase. Who knows that you can get the framework that you really desire after all these times in that framework. Last but not least, Happy new year 2009! And best of luck to us all.