Here are some quick notes on the sessions I attended yesterday at Sihlcity. I believe Jazoon will be uploading videos and slides very soon:
First in my lineup was a talk on using Google Web Toolkit for a business application in a typical enterprise environment. This was kind of like a case study. Dmitry Buzdin talked about the experience his company gained and listed the various pros and cons.
Next, I listened in to Bruno Schäffer’s talk together with Christoph Henrici and Daniel Buffet of APG. The talk described the migration of an Oracle Forms application to Java forms for the advertising industry. Main requirement: development and application performance had to remain just as fast as with Oracle Forms. A requirement that the migrated application managed to over-fulfill.
Canoo’s Andreas Hölzl and Christian Stettler presented their Google Android experience report. They showed an application they developed for the Android Developer Challenge called Mobile Zoo. Their baseline: “What’s here looks promising. Let’s see the devices!”
Brian Sletten’s presentation on data-driven applications was very interesting. I particularly liked the analogy between resampling music and data.
Not being able to attend the conference yesterday, I not only missed some interesting talks, but also Bruce Willis in “Die Hard 4″ ;-(
In today’s keynote, Neal Gafter of Google talked about the possibilities of closures and how they can reduce the amount of boilerplate code and increase the readability of software. In addition, by integrating closures into Java some language feature requests would change to library (API) feature requests, which have a much greater chance to become included.
Danny Coward from Sun showed the road map regarding Java SE and Java EE. He also explained how open source complements the JCP process.
Today was also filled by a lot of networking. That’s what I like about conferences, you meet new people. And people you only know by email suddenly get a face and a voice.
One of them was Kaspar von Gunten. He gave a talk about Process-based Software Development today. He showed how the process modelled approach can change the development of software towards end-user programming. And how this approach integrates with RIA. They also showed a Software Demo of their product Xpert.ivy. The new release of Xpert.ivy is based on Eclipse and a graphical process designer. In addition it uses ULC Visual Editor to generate the UI for the RIA front-end of these processes. Quite impressive. Xpert.ivy 4.0 will be shipped in 2008.
I didn’t get much out of the talk about Jackrabbit. I almost got discouraged to use Jackrabbit, being warned to be patient and reading the spec to get the information about how to use the API.
For the closing session they decided to do some lightning speaks: Everybody could speak up for 2 minutes. Neal Gafter started showing some optical illusions from the Java puzzler book. Then Felipe Gaucho presented his footprint.dev.java.net project. We were then given the elevator story of the semantic web - basically everything is replaced with URI. Then somebody told us good reasons why to attend Jazoon 2008 (reasons like Euro 08 or because the weather will be better). And then we learned what we should read to become a better Java developer:
Joe Armstrong’s thesis: Concurrency oriented languages.
Functional languages explained.
Understand your manager: One minute manager meets the monkeys.
Shell scripting (because there are so many bad shell scripts around)
After that Gregory Murray showed how to impress managers: Do rapid prototyping with Jmaki. Some other guys followed. I was actually pretty amazed how much you can say in 2 minutes.
That was about it. Thank you to all who made this event happen!
Again I didn’t have time to attend Jazoon all day. This is the downside if the conference takes place in the city where you live and work. Customers usually have a higher priority than attending a conference.
The first talk I attended was about “Effective Java Heap Memory Analysis on Enterprise-Scale” by Lerenc Vedran. The guys at SAP developed a tool to analyse a Java heap dump (Usually a result of a OutOfMemoryError) from the perspective of the garbage collector. I was quite impressed what kind of information you can gain by using this tool and how easy it is to find the memory hogs in your application. Finding memory leaks is usually far easier than identifying the greedy classes which are not leaking but nevertheless take up huge amounts of memory. Any serious Java application on an enterprise scale needs this kind of analysis since memory tends to be a constrained resource. You can find more information about the SAP Memory Analyzer and the free download here: https://www.sdn.sap.com/irj/sdn/wiki?path=/display/Java/Java+Memory+Analysis&
Next I listened to “JavaFX Script - Declarative GUI Programming Language for the Java Platform” by Anatoli Fomenko and Gregory Murray from Sun Microsystems. Having been at JavaOne the contents of this talk was nothing new to me and the speakers did not really dive into the technical details of Java FX. The biggest surprise, however, was that one of the demos they showed was Canoo’s Music Pinboard.
My last talk was “Spring 2.1: Dependency Injection and AOP in a Java EE 5 World” by Jürgen Höller. Having suffered a lot from the complexities of Java EE it always amazes me how Spring sustains to simplify development without sacrificing the ability to tackle complex problems. Jürgen presented the features of the upcoming Spring 2.1 release which focuses on using annotations for even more seamless integration into Java EE. Jürgen is a good speaker and I enjoyed this update on the Spring future straight from the horse’s mouth.
On Tuesday morning I found time to attend two sessions at Jazoon. The first talk was “Hibernate/J2EE” replaces Cobol – Real World Experiences” by Marc Schmid. I enjoyed this talk because the speaker knew how to get his message across. The talk had the right technical level and was also very informative. I learned new things about Hibernate optimization and hopefully I will get hold of the slides. I would like to study some chapters (e.g about testing environments) in more detail.
The second talk was given by Christoph Schuler on “Realizing Cost Efficient J2EE AJAX-Web-Clients for Business Applications”. This talk was quite disappointing due to several reasons: the presenter’s English was not good enough to convey more information than one could gain from the slides. The demo would have been interesting but there were two major stumbling blocks: first the demo seemed to have no script and therefore was pretty arbitrary and secondly, there were too many network problems and crashes. Demos without a script and a backup tend to be a recipe for disaster. Last but not least after the talk I was still wondering what they really did to achieve cost efficiency for AJAX.
Let me conclude this blog entry with a few words about the conference. In the beginning I was a little bit skeptical about yet another Java conference. Today I can say that Jazoon is convincing. Almost everything is well done and makes a professional impression. I especially like the conference design, starting with the web page and flyer down to the give-aways like bag and T-shirt. Apropos T-shirt, finally a conference T-shirt that fits! Unlike the American T-shirts where you tend to get lost when putting them on. Last but not least, the location is great.
Like JavaPolis the venue is a multiplex cinema with great projection, sound and extremely comfortable seating. Unlike JavaPolis, it is not in the middle of nowhere but part of a large and stylish shopping center, not far away from downtown Zurich and easily reachable by public transport. Unfortunately, attendance seems to be light. It would have deserved a lot more. However, I am convinced that word-of-mouth will attract more visitors next year.
Another day at Jazoon which of course was dominated by having our talk in the afternoon (see my previous post to get the resources). I guess there were about 50 people attending (it was difficult to see into the audience from the stage). Not too bad compared to the average I saw in other talks.
I still managed to attend some other talks.
JMaki, a framework for designing AJAX applications with a lot of IDE support (Netbeans and Eclipse) is definitely something to keep an eye on. The talk was a good show, but they had too many slides which they just scrolled over to get to the details. The main features of JMaki:
Support of creating a new ajax web project (in the tradition of Maven, Grails etc.)
Layout and theme support (done in CSS)
Integration of several Ajax widgets libraries (Dojo, Scriptaculous, Google etc.). This widgets can be dragged into the web application easily.
Client Services: A publish/subscribe bus on the client which enables the widgets to talk to each other. This bus is hidden from the developer, but they at least they added some debug support. On top of it they provide an API for the developer to specify the application behaviour.
Just before it was our turn, Ed Burns talked about testing AJAX applications. He compared four testing frameworks (Parasoft Webking, OpenQA Selenium, HttpUnit, Mozilla Control Program (MCP)) with regard to following features:
- compatible (running on Windows, Mac and Unix)
- automate-able (integrating in JUnit or TestNG)
- simple API
- capable (support of Ajax)
- detailed
There wasn’t a winner, depending on your need, each framework has some advantages. Ed decided to demonstrate MCP more closely especially how to test AJAX-enriched sites. The demo included some weird hacks (using bitsets for the test result), but then MCP is just not very mature yet.
I asked Ed if he knows Canoo Webtest and of course he did. He told me that it didn’t make it into the talk because of the lack of AJAX support. This is not the whole truth, AJAX is supported partially by Canoo WebTest, meaning as long as it produces valid JavaScript.
Another day at Jazoon and still no time for shopping!
The source code contains an Eclipse project file and a build script, which allows you to build it yourself (after having adjusted the build.properties):
Ted Neward spoke about “Why the next five years will be about languages”. He first started with the wide gap between practitioners (software programmers) and academics, which define/invent new programming languages. Up until now the wide gap exists because it was one thing for the academics to define a language for some new concepts but another story to make it usable in the real world. Virtualization narrows this gap. It is possible to build language on top of virtual machines (JVM but also Microsoft CLR). That makes the design of new languages a lot easier, one gets most of hard-to-implement features needed for the real world for free (e.g. support for different hardware, garbage collection etc. etc). He gave an impressive lists of powerful languages which already run on virtual machines. Neward finally ended with the following conclusions that developers should:
learn these languages
use these languages to gain productivity
start to build new languages.
All in all a really enjoyable keynote.
After lunch I attended What’s wrong with Java by Aaron Digulla. What could have been a nice follow-up of the keynote ended in some kind of a rant against Java by comparing Java against Python and Groovy. He made one important point - even if it’s not new though: A lot of Java supporting frameworks use XML and that creates another problem: the information is spread in different places.
JBossSEAM certainly speeds up the implementation of JSF applications. Andy Bosch pointed out that you will probably hate it if you are a friend of strict layering. That’s because SEAM components can be used as a model in the presentation layer as well as model for an EJB entity bean.
I was looking forward to Impossible Possibilites by Michael Wiedekind but was a little bit disappointed. He announced that he was going to talk about something else but forgot to mention the new topic which left me a little bit out in the blue. Also trying to squeeze a 70 minutes presentation into 35 minutes didn’t improve the presentation. Which was a pity because I think it could have been interesting and fun.
After having listened to Walter Bischofsberger presenting his architecture monitoring tool I attended The Power of Tracing held by Tom Sprenger and Christian Siffert. They talked about the importance of tracing especially in distributed environments and about the difficulty of achieving it. They added three additional levels on the top of Log4J:
1. Enforcing a common syntax for the logging
2. Enforcing logging in every method on entering and leave (with source code interweaving). This ensures that the context of a log message is available
3. By adding a transfer id into remote calls they were able to to trace a call over remote locations.
It was quite a long day with a lot of sessions. The conference is held in the cinema complex of Sihlcity which means big screens and comfortable seats. Another advantage of Sihlcity is that if you don’t find a suitable session you can always go shopping ;-). (Which I didn’t!)
The version 4.0 of Xpert.ivy (which is still under development) takes advantage
of the Canoo ULC framework to provide a rich web interface for users of the
processes and workflows. At any point where the process requires user
interaction, a previously designed ULC panel is presented to the user. Such
panels can have any level of complexity and richness; depending on the kind of
data presented and functionality required for manipulation.
Currently a number of different Rich Internet Application (RIA) technologies are emerging, each with their own strengths and weaknesses. In many cases a combination of technologies can be used to meet application requirements. This session shows, based on examples, how various technologies such as AJAX, Swing and Flash can be integrated into one application.