Tuesday at Java One
Scott McNealy's keynote
Sun have just bought SeeBeyond, and by coincidence JBI was the most popular session yesterday (our ID badges have RFID so they can measure this). But Scott spent most of his talk (which overran, as it always does) showing examples of Java being used for social change and exhorting us, the developer community, to work for this – writing open source apps for health, education etc. He forsees a time when there will be JCP-like bodies for such things. Interesting.
Amazon web services
Most users (80%) use the REST WS interface not the SOAP one. You can get access to basically everything in Amazon, and Alexa and DMOZ stuff too. There's a whole community of developers and integrators based on AWS now.
POJO web development with Wicket
Wicket is (yet another) web framework with an unusual take: it's highly componentised, and the components are POJOs. This results in a programming style much like Swing. The binding from the web layer to the model is certainly much cleaner than anything else I've seen, with no XML layer and minimal intrusion in the HTML. Looks like fun, but it's hard to imagine the range of ready-made components ever catching up with JSF.
Rich clients with JSF
How to write AJAX components for JSF. It turns out to be very simple, plugging in direct-to-DOM renderkits instead of the HTML ones, and using a very standard JS library on the client to go fetch updates, solving the problem of having to write your own JS for every component (which is probably what all the people rushing out AJAX components for JSF at the moment are doing). Neat.
Java platform clustering
An overview of past and present approaches to providing clustering services at the JVM level. A new API based on JSR-121 is proposed, using the concepts of isolates and aggregates to provide support for clustering in a controllable and non-intrusive way.
Workflow, BPM and Java
This presentation from Tom Baeyens of JBoss hardly mentioned workflow and BPM, but instead presented their new framework on which workflow/BPM applications can be built, which they call Graph Oriented Programming. Amusingly this is virtually identical to the dataflow graphs I proposed in my PhD thesis, with the interesting addition of a hierarchical token system to allow persistence of graph states. Of course at the time it never occurred to me that my ideas could be applied to business modelling.
Service Data Objects SDO 2.0
SDOs are an abstraction above datasource-specific protocols like JDO, JNDI etc, useful for integration scenarios where objects need to be passed around between services where different protocols are in use. The original stanard included stuff like change logging, 2.0 is just a richer set of operations and helpers.
Six ways to meet OutOfMemoryError
Lots of useful details about debugging garbage collection – I now understand what the PermGenSpace error that we've been seeing occasionally since moving to Java 5 means!