Day two, here we go again. Early wake up - quick breakfast and off we go to the metropolis venue center. This year the exhibition area was almost prepared from uni day 2 with corporate stands. The tshirt and freebies hunting has just began. I got a really nice agile board - and i hope that they are going to let me post it above my desk back at work from (ACA).
So my first choice of the day was, The Java EE 6 Platform by Antonio Goncalves and Alexis Moussine-Pouchkine.
J2EE 6 spec is bringing more and significant improvements to the the J2EE world and is considered a milestone. J2EE becomes more flexible, offers flexibility on the potential profiles of usage (web , enterprise), adopts many of the features that Spring has - so that now Spring users can stop saying - you dont have this you dont have that - instead they started saying ' we used to have this and that for years'. Haha anyway I was always on the J2EE side and I am very happy to see so many improvements. I hope the app server vendors to really jump into the spec and provide fast enough implementations. I think that it is not going to take as much as j2ee5 took. Anyway - it was a very concrete presentation. Antonio and Alexis managed to cover all of the major changes and features within 3 hours + providing demos. You can find the almost final spec here (it is indeed quite large). I am just going to comment about my favorite new featurers.
- EJB lite : As the name suggests - EJB support with transactions, security no remoting, no JMS, no WServices. Eventually when you think about it - this is something very close to Spring basic features. Servers may provide implementation for this limited profile - for example imagine Tomcat support lite EJB's or any other known servlet container.
- Singleton EJB's. Per application, per vm. A feature that many times i wish i had it out of the box. There were cases where I have used extensions offered by the containers - for example the Jboss was offering for a long time now Singletons (nice one). Now it is a spec and I hope to see it in the modern app servers.
- Asynchronous invokes on session beans! Yet another feature personally I was missing from the spec - still there were available work around but I am glad that now is official. Read about it here.
- Servlet 3.0 : Even though I am not currently developing servlets - the new features are very promising. My favorite was the async servlet invocation. In other words invoke a servlet known method with fire and forget capabilities. This is in general a limitation of many web frameworks as well. Even nowdays we still use JMS to glue our web layer with an async mechanism and do not block the web layer (meaning the user) because of a long running server side invocation!
- Better and more concrete naming conventions on JNDI!! At last !!!
- Less xml configuation in general
- Simpler packaging or wars or ears!
Many many other new things - that IMHO make the new spec attractive to a variety of different users. I think slowly (ok took some time I agree) - we can see that j2ee features are available to users that were mostly confused or afraid to touch anything related to this - because of the complexity and high learning curves. J2EE is really getting sexy. Of course there is always the argument of Spring...but what can I say..on this battle I will stay with the standards ;). Personal preference as usual.
The second talk of the day was something that I have never used. Hibernate Search university: full-text search for Hibernate by Emmanuel Bernard.
Very interesting and solid talk, the E.B really masters the topic and many others related to Hibernate, he is part of the J2EE 6 expert group anyway.Hibernate Search is a mechanism that integrates the use of Apache Lucene (engine mostly used on text searching functinality) with a Hibernat-ed application with entities and other db entities. Personally I have seen examples in some projects with direct integration of Lucene into the project but never tried Hibernate Search. It seemed to be a well working technology and definitely if you already have a hibernated domain model + application and you want to benefit from Lucene's powers in the area of text searching - it is the way to go! Really constructive talk + and something new for me. Will definetely consider it for future projects if such a requirement comes.
Next one - a very very interesting one! I have to admit I have not heard before about Java - Monitor. The idea (if i get it correct is the following). There is community of users who can download a specific probe (actually a small war) for their application server of choice - which actually samples during your application run times - garbage collection activity and other statistics. These are presented with a nice web ui and can be used for further investigation. See details here and register to the forum! Nice talk from the creator of Java Monitor, Kees Jan Koster who is a very good speaker and fun to listen . I wish he was allocated some more time - since his findings and statements are very very relevant for any modern j2ee application that has performance issues (almost all of them have - and if you think that yours hasn't) try Java monitor or use FindBugs!!! You will find the talk slides here. One of the best points of this talk is a FindBugs Metric from the Oracle latest Jdbc driver. 1048 findbugs warnings, direct calls to System.exit (WTF) and infite loops!! Shame on you Oracle :P !
That is all about for today when it comes to talks. Most probably will try to visit one more BOF related to the Play framework.
Twitter is the service that currently has transformed this year's devoxx to something very interactive. During the talks - commenting or status updates make the whole thing very interesting to attend. I have to admit I am abusing it a bit (well i know know some of my followers will have already unfollowed me - but I really try to use the #devoxx tag - trying to decouple the whole activity with my regular one (which is not significant).
Last but not least - i had the chance to find @ the Atlassian booth Don Brown. If you have ever used Struts 1 or Struts 2.x you must have heard of him! Really nice to talk to him - I had realy enjoyed his talk during JavaONE 2007 about the newly created (at that time) Struts 2. It is quite unfortunate that he is not involved so much any more and at the same time - it is quite unfortunate no Struts 2 talk this year. We are being bombarded with JSF sessions every day- there is no escape. This is a case which I dont like the spec haha - just to contrast my previous J2EE 6 statements of faith.
As a heavy JIRA and confluence user I had the chance to see all the updates on the new versions and I was very happy to know that currently in my workplace an update to JIRA 4 is coming soon. Searching has improved so must (a very important activity for JIRA users). I also managed to get a very cool JIRA T-shirt - perfect much for high load JIRA working days :D!