After day two at Jazoon, another short summarization of my thoughts and impressions.

This day started with a keynote by Roy T. Fielding, talking about his work on RESTful APIs. Was quite interesting to hear how the work on his PhD thesis evolved into a widely used principle of interacting with resources in the web – and how unwelcome it has been to certain people. However, if someone did not have and idea about Representational State Transfer, I don’t think that he would have found out on that occasion. Later on, Philipp H. Oser of Elca had an entertaining talk on fighting the heterogenity when working with Java frameworks. Besides of – not meant to be serious – ideas of Sun acting as MS-like dictator or someone implementing an Uberframework (10% better than the rest), he explained the two most promising approaches. One being the Spring way: the usage of a dependency injection framework that allows developers to interconnect various frameworks in a common manner. The other approach would follow the principle of LAMP: bundling the most commonly used frameworks and adding some extensions, easy installation and template applications to it. And what technology would you use for weaving the parts of this bundle? Of course a dependency injection framework.

Interestingly, the Apache Geronimo server runtime framework seems to be heading the same way. What would you do if you have a collection of widely accepted frameworks, each of them carried by it’s own community and each of them implementing a part of the Java Enterprise specification? How would you react to the market share of JBoss and Sun’s Glassfish initiative? Fortunately the people at Apache did not decide to hardwire their frameworks to a monolithic server (and therefore killing their drive and innovation) or – even worse – to build a new one from scratch. Instead they started to build a “server runtime framework”, which allows the bundling of the best parts of their projects (leaving the decision up to you, which ones you consider to be the best) under common administration and management. It will be interesting to see, how soon software from other implementors will be “GBeaned”.

Other talk covered an introduction to the Semantic Web for Java developers. By the way, the Java technology was of no importance here. Dean Allemang of TopQuadrant was talking about several standards for creating semantics, and about how he uses these for homogenize various data sources he wants to mash-up. The destination form is always RDF, no matter whether the metadata was originally provided in the form of microformats, RSS, Atom, spreadsheets, relational databases or anything else. Transformations (e.g. XSLT with the help of GRDDL for microformats) convert the feeds to RDF, these feeds are then interlinked by using OWL.

Since this day was really stacked with presentations, I could get some information about today’s initiatives on SOA (webservices by annotation, BPEL and the JBoss ESB), the current state of the Java API for RESTful Webservices JAX-RS, the possibility to use evil-evals by instanciating a JavaScript engine (or other script engines) inside the JVM and, last but not least, a promising project of the Zürcher Hochschule Winterthur ZHW for generating DDL and PoJos with Hibernate annotations out of Entity-Relationship-Models. And David Nüscheler, CTO of Day and lead of the Java Content Repository specification, introduced r-jax (acronym for “Repository backed aJAX”), a simplified and easy-to-use view on a JCR. As a proof of efficency he transformed Stefano’s Linotype blog (one of two blogs he admitted to read) into a JCR based weblog within only 15 minutes.

Two keynotes and seven presentations today – quite some information that is piling up – and that’s only one day of four. That intensifies the impression I had yesterday already, that to my opinion it would have been better to have fewer presentations and more time for each one of them. The most interesting speeches had to stop exactly at the time where you would have been able to dig in deep instead of just scratching the surface.