This blog entry is a combined piece of coverage for JavaPolis days 3, 4, and 5, in other words: The Conference. I have several reasons for doing this not in the least because of the very busy schedule and the bizarre problems I ran into with the wireless provider at the hotel. It appeared that the access that I bought from within my hotel room was not working when I sat in the lobby. This is strange, right? Must be some sort of a router thing. Anyway I’m only able to login to my account when I’m at the third floor of the hotel :-S
Besides the significant amout of time spent at the lobby and the hotel bar discussing everything we got out of the conference, I also spent most of the nights at the conference venue, attending BoF sessions and participating in all other sorts of get-togethers. Quite a busy schedule and most of the time when I finally saw my hotel room – and specifically the bed – I had little to none energy left to put anything on the blog. So I decided to craft up some snippets during the conference days and put it all out at once in a single blog entry.
First thing that really got me impressed at the conference is that they succeeded in getting wireless internet to work! This is quite amazing compared to past years. Imagine 3200+ nerds inside the venue with laptops, wifi enabled phones, pdas, watches, and even pacemakers all connecting to the internet at the very same time. Great job, guys!
Another great thing is the massive number of interesting speakers gathered at this conference. Not only the keynotes feature A-list speakers, but also a lot of the regular conference sessions feature rock star speakers, well-known authors, and JSR spec leads. A perfect opportunity to get the information from the source.
Day 3 and 4 both featured keynotes in the morning. Speakers included Stephan Janssen, James Gosling, Bruce Eckel, and the Sun Java Evangelists team. Topics included JavaFX, Flex, OpenSpaces (UnConference), Mobile Java, and James Gosling presented an overview of what’s happening on the Java platform. He talked about lots of anecdotes on customer visits and mad scientist-like projects that involved some sort of Java.
After the keynote on Wednesday, the actual conference part of JavaPolis took off. The conference consists of 1-hour sessions with from time-to-time very hard choices to make what session to attend since there are quite some interesting topics to choose from. Amongst others I picked the following sessions that I will comment on in the remainder of this post: Guice, Java Content Repository, Java EE 6 Overview, EJB 3.1, JPA 2.0, JSF 2.0, Hibernate Search, Web Beans, .. and finally a panel that featured e.g. James Gosling, Josh Bloch, Neal Gafter and Martin Odersky that talked about the future of computing. A lot of interesting stuff as you can tell from just the list of topics.
Besides in-depth sessions there is also a nice, but far too crowded pavilion. Especially around lunch time one can have a hard time getting across the pavilion floor in order to get something to eat or find a toilet in time 😉 The pavilion floor featured dozens of product vendors pushing their product or recruiting new employees. One of the booths featured a setup with Gran Turismo where you could win some prizes by driving a BMW 1-series around the track. As I’m a big fan of the game and can spent quite some time playing it every now and then I gave it a try, but unfortunately drove a disappointing time.
Just like last year my blog was featured on the backpage of the daily JavaPolis newspaper, which is nice of course!
So off to some session content:
Actually the first conference session that I attended was on the dependency injection framework Guice by (Crazy) Bob Lee who works for Google. My expectations were some sort of introduction but instead Bob had labeled the talk “Expert Guice” and took off with such speed that I had a really hard time figuring out the merits of the framework during the presentation and I’m still not sure if I got a grab on it yet. Anyway, it gave me an impression.
The second talk I attended was titled “AJAX meets Java Content Repository” by some Swiss guy and boy, he did a great job presenting. Not only did he do a perfect job talking about the subject but you could tell he was into all of the secrets of Keynote on the Mac as his slides were a feast for the eyes as well. He concluded the presentation by having a stopwatch counting down 15 minutes and coded a demo against time. Impressive job! And by the way JCR is impressive stuff as well.
Next was a session on Java EE 6 that did feature lots of news around the developments within this JSR. At JavaOne there was only some vague information available as the expert group still had to start. As they are currently under way for about 6 months quite some work has already been done in defining the roadmap and the global features of the platform. Of course, since it’s still early in the process a lot of it is still subject to change. Amongst the more interesting developments within this JSR is the concept of Profiles. These should be regarded as subsets or supersets of the Java EE platform cut to the need of specific domains within enterprise development. These domains can be thought of as either technical, like a Web Profile, but can also be functional like e.g. a Telco Profile. The Java EE 6 specification will define a process for specifying profiles and this process will of course focus on keeping everything compatible. The plus side of profiles is that it allows for certain technologies within the profile to independently evolve from the Java EE spec itself. This enables the possibility for technology to evolve much faster than the approximately two years that it takes to produce a new version of the EE platform. The latter being one of the main arguments for rebel frameworks to battle it. The process is too slow. On the other hand, profiles might just fragment the EE world into an infinite number of profiles that nobody can keep track off. So for now I consider it both a promising and a dangerous feature as well.
Another interesting development within the Java EE 6 expert group is the process they call “pruning”. Pruning is like the deprecation mechanism for certain parts of the Java EE platform that are either superseded with new technology, e.g. Entity Beans and JAX-RPC or root out stuff that should have probably never belonged in Java EE anyway. Think JAXR or JSR-88. The pruning process marks these APIs or technologies as optional for the following release. Once they’re optional, application server vendors are free to choose whether they keep on implementing them in the next version of their products.
And of course the ease-of-development trend is being continued. APIs that have no annotation support yet will be extended to do so and furthermore most configuration and packaging requirements will be either loosened or made obsolete. Java EE 6 will include an interesting list of new and updated APIs e.g. JAX-RS (RESTful Web Services), Servlet 3.0, JSP 2.2, JSF 2.0, JAX-WS 2.2, JAXB 2.1, and many, many more.
In order to unleash the full power of Java EE 6 you’re required to run it with Java SE 6 underneath. Actually, a lot of speakers working for Sun surveyed the crowd to find out who was still developing on Java SE 1.3, 1.4, 5, etc. Most of the time they were surprised with a rather large number of people that were still developing on SE 1.4. They urged everybody to move to Java SE 6, or at least Java SE 5. The problem is of course that the customers that we work for dictate differently 🙁
Finally a timeline was presented for when to expect the Java EE 6 stuff:
Q1 2008 – Public review
Q3 2008 – Proposed final draft
Q4 2008 – Reference Implementation (beta) release
Q2 2009 – Final release
So, lots of cool things but a long wait until Q2 2009 🙁
During the remainder of the conference I attended quite some sessions that went in-depth on the APIs involved in Java EE 6. A good example of this was EJB 3.1 by Kenneth Saks who is the spec-lead. Compared to the talk he did at JavaOne not much had changed yet. Mostly details. A public draft can be expected around Q1 2008.
In contrary to the EJB 3.1 talk, the talk by Linda DeMichiel on JPA 2.0 did contain a lot of updates. Much of these consisted of more concrete examples of the advanced modeling stuff that will go into the new JPA. Think Collections, Embeddables of embeddables, collections of embeddables, embeddables having relationships…argh! Dazzling! Great topic for trick questions 🙂 No, but seriously it’s becoming very advanced complicated stuff. About time I update my talks on the subject! Also for JPA a rudimentary public draft can be expected somewhere Q1 2008.
At Thursday night, while most conference attendees enjoyed the JavaPolis Movie (BeoWulf) in the THX-certified Metropolis theatre, I attended the JUG Leaders Birds of a Feather session instead. Lots of JUG leaders were present – representing around 30+ JUGS from all over the world including European countries like Belgium, Netherlands (me!), France, Greece, Poland, Italy, Denmark, Norway, and Sweden but also representatives from a few US JUGS and even a JUG leader from Fortaleze, Brasil. Quite an atmosphere! Besides the JUG leaders the Sun Technology Outreach Office was present and of course the Sun JUG contacts Aaron Houston and Nichole Scott were there. Even Patrick Curran, currently head of the JCP showed up. All of the JUG leaders got the chance to introduce themselves and their JUGS and I hope I did a good job defending the colors of the NLJUG myself. Discussions were lively and were about the legal entity to run a JUG, and how to tackle some of the “problems” that JUGS face worldwide. As I listened to the other JUG leaders I got the impression that we’re definitely doing a great job with the NLJUG ourselves as we managed to overcome most of the things that other JUGS seem to still struggle about.
On the final day of the conference things start winding down a bit. The pavilion floor is now closed and a lot of people are heading home already. Still, there are quite some talks with at least one that makes it into the top three talks of the conference: Scott Ambler on “Evolving Agile”. Scott is a great speaker with lots and lots of real-world experience in his talks. Instead of kicking the light out of non-agiles he this time turned the thing around and put the spotlight on challenges in agile projects. Scott also mentioned “..he joined a little startup called International Business Machines..”, or even better “..I didn’t join them, they actually joined me!”. Quite a surprise, I wonder where this is going and what his influence will be on the Rational stuff, especially Jazz.
During the remainder of the (short) conference day I attended two more talks. Both were sponsored talks and were not that much spectacular to mention.
So, and with that another year of JavaPolis comes to an end. As I mentioned in this blog before: conferences equal inspiration for me, I think I can easily say that there is much to think about and much to investigate after this year’s edition of JavaPolis. That’s like a bare 5 months before the next big pile of inspiration: JavaOne 2008. Hope to see you there!