Back From JAX 2008

Sunday, April 27. 2008

...and brought many new ideas home. JAX 2008 was a great event, but also very exhausting. There were a total of 211 sessions from which to choose from starting at 08:30 in the morning with session until the late evening.

Main themes as I have collected them where:

  • Dynamic Languages
  • Spring
  • SOA
  • Eclipse
  • Architectures
  • Web frameworks and RIAs
  • Complexity of the classic JEE offers. I would even say that I heard of a severe crisis of JEE and I doubt that a radically simplified EJB 3.1 will change peoples mind on that.

I used FreeMind to collect notes and here are the unedited notes I took during some of the sessions:

General Notes abut JAX 2008

In general JAX 2008 had more than 2000 participants - a record in the history of this conference. There where 211 sessions, 22 workshops and 10 short talks presented by 178 speakers. In my opinion JAX 2009 should rather try to reduce the amount of sessions and given the presenters more time. Most talks had to rush through the content as the time was limited to an hour and there was so much to say.


Pretty interesting was the architectural layers for future enterprise applications presented by Sebastian Meyer during the opening of JAX 2008:

  • DSL: Domain specific languages used by the customers to create rules and adapt the software to their needs
  • Fluid: The fluid layer contains glue code and easily changeable high level logic made of scripting languages like Grovvy or (J)Ruby or using BPM engines.
  • Solid: This is were the complex backend logic is beeing implemented. Mainly Java POJOs or plain old Java EE.

KEYNOTE: Does Enterprise Java Have a Future?

Rod Johnson from Spring Source gave some insight into what we can expect from Java EE 6, which is scheduled to be released in late 2008/early 2009.

Extensibility is a key point of JEE 6. It will be more open to 3rd party vendors to plug in their own extensions.

Another major change will be the introduction of profiles. Each profile has a different set of technologies. Profile A is a minimal profile consisting of Tomcat and some basic technologies. Profile B adds persistence and component models, while Profile C will represent the classic, bloated and fully features JEE.

However the current market leader is clearly just Spring and Tomcat.

Rod predicted that EJB will die.

Opening Eclipse Forum Europe

After Mike Milinkovich (Executive Director of the Eclipse Foundation) gave some information about the development of the Eclipse Foundation organization, Jeff McAffer (leading Equinox and RCP) and Jochen Krause gave more technical info about the future of the Eclipse platform.

The platform will move more towards the Equinox framework (OSGi), will become more flexible and move towards RIA technologies. What I found very interesting was that SWT will become capable to run in a web browser. Not as an applet as many may think of now. SWT will generate Action Script code from Java code and thus will become a direct competitor of Adobe Flex.

API Design - Designing Persistent Interfaces

Arno Haase and Sven Efftinge a great presenters. Too bad that the presentation did not show up new innovative ideas. The content was very well known to me.

KEYNOTE: Errors - So what!

Bernd Löchner from Zühlke Engineering hold a keynote about error handling. This was one of the best keynotes. Although error handling is something that should be very well known, it does not harm to repeat it again and again. One essential point I realized was that despite of its importance, error handling its coverage in literature is very limited.

Event-driven Architecture

Markus Lünsmann and Torsten Winterberg from Optiz Consulting gave an overview over Event-driven Architecture. I hoped that they would show some pracitcal use case scenarios. However they only talked about the theory. Afterwards I talked with other participants and this showed that the presentation left many questions open for people that did not dived further into EDA before. Especially its use in the context of SOA.

RIA - Comeback of "real" UI Technology

This was a short talk, where short means as much as 'Too short'.

It contained severl good points that matched my impressions about the usefulness of AJAX, however in the end I had the impression that the session was more or less a presentation of Captain Casas products.

Google Gears

The next short talk was about Google Gears - a framework that allows Online applications to be used offline like Google Reader (simply click on 'offline' on the upper right to test that). Well, I was a little bit dissapointed. It's use is limited to JavaScript applications that use the Google Gears libraries. An browser extension then provides the necessary environment to run the application locally.

Apache Sling - a REST-based Web Application Framework

Carsten Ziegler gave another very short introduction into the Apache Sling Framework, which won the fifth place of the JAX Award.

After the session I asked him, how Apache Sling compares to Grails. First of all Apache Sling uses OSGi as base for the deployment - a very good idea. However it does not provide the capability to generate code for you. However when there is no custom code for a resource, it provides default views.

The real power of Sling seems to lay in its flexibility. It can use any Java compatible scripting language (Groovy, JRuby, JavaScript,...) or views and controllers can be implemented in plain old Java. Resources can be anything. Not only database resources, but also file system resources.

Aspects of Running Large Java Applications

Dr. Carsten Schinzer from Amadeus Data Processing GmbH showed how the leverage a CMDB to manage their environments. Well, their use cases were not very sophisticated. HP Software provides with its UCMDB portfolio much more in this area. Unfortunately they decided to migrate to BMC Atrium. We asked him after the session for the reasons, but he wasn't involved in this decision.

Non-Functional Requirements of Architectures

Another greate presentation from Arno Haase. Unfortunately also nothing new for me. Anyway it's always good to see the views from the outside world are not too different from what you learn in a big company.

KEYNOTE: Architectural Patterns and the Emergence of the GigaNOW

Miko Matsumura from Software AG hold a great keynote on the architectural problems with regards to

  • Why is Enterprise Software so stupid?
  • Keyproblem: Enterprise Software is made by humans that want to save their own workplace and their own ideas.

How to Tell the Team? Applied Architecture Communication

Dr. Gernot Starke proved why he is such a well known presenter. He talked about a rather boring topic in a very entertaining way. I guess this would never happened in the main hall, if it wouldn't have been presented by him.

Design Patterns in Dynamic Languages

Neil Ford shows how well-known Design Patterns are applied in modern dynamic languages like Groovy or JRuby. The essence: dynamic languages do not need some Design Patterns, or Design Patterns are much easier to use in dynamic languages, since they are already build in. E.g. the command pattern is obsolete due to closures.

Effective Design Using Swing

Mr. JGoodies himself showed how to effictively design UIs using Swing. With the use of JGoodies FormLayout he demonstrated how to create uniform UIs and what is required to create nice UIs.

This was a great talk.

JSR 311 - Java API for RESTful Web Services

Stefan Tilkov from InnoQ presented the JSR 311 and showed examples on how to apply it to create RESTful services. The presentation contained a lot of basic information about REST I already knew. Still it was a great talk and gained high interest.

Java Programming in the Age of Multicores

Surely there is a lot to say about new technologies. But what about the core of Java, the plain JRE? Angelika Langer showed that there is still much to learn about Java, especially when using multithreading with multicore CPUs.

She showed several great examples containing errors that are everything else than obvious and why programmers should care for language elements like volatile.

DSLs in Java - Fluent API Design

I was disappointed by this talk, which simply covered well known patterns like Method Chaining, Builder Pattern or nested function calls to create a fluent API.

Maintainable RIAs using Java 6SE, Java FX and JEE 5/6

One of the best talks, held by Adam Bien. I just had wished that the Session would have been longer given the large amount of content.

He covered the latest features of the upcoming Java 6 update 10 and how it will change the perception of Applets and Swing UIs. Gave some previews to Java FX and showed how EJBs 3.1 can help separating controller logic from the model and the view.

Workshop: Groovy for Java Developers

On the last day I visited the Groovy Power workshop, held by the Groovy Guru Dierk Koenig and Tammo Friese. We did stuff like using meta classes to extend existing classes by methods. The workshop concentrated on all the stuff that is not possible with Java and what are the real differentiators between Java and Groovy. A good idea. It was interesting that the workshops were done using IntelliJ, since no other IDE can provide a similar powerful Groovy plugin. What I really liked about the Groovy plugin was, that it highlighted dynamic function calls in a different way than plain old function calls.


Twitter Bookmark Back From JAX 2008  at del.icio.us Facebook Google Bookmarks Digg Back From JAX 2008 Bookmark Back From JAX 2008  at YahooMyWeb

Trackbacks


Trackback specific URI for this entry
    No Trackbacks

Comments


    No comments

Add Comment

HTML-Tags will be converted to Entities.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA