Platinum Sponsors

SUN

ELCA

Gold Sponsors

Silver Sponsors

Partners

Partner events

Bruno Schäffer

Bruno Schäffer

Daniel Buffet

Daniel Buffet

(5340) Against all odds - efficient Rich GUI development in Java

Technical long talk 50 min

Tuesday, 2008-06-24, 15:00 - 15:50, Arena 6

Rate this talk:

Topics

Abstract

Developing client-server applications with rich user interfaces on the Java 
platform can be a daunting task. For the presentation layer Java offers the 
Swing library with a comprehensive set of highly customizable widgets. 
Nevertheless, the API of the Swing library provides too little abstraction for 
common form-based rich GUIs and therefore developers' productivity is way below 
expectations.
The market leader in billboard advertising in Switzerland (APG) has a number of 
large legacy client-server applications. While the business logic (incl. 
persistence) is still up to its task, the presentation layer had to be replaced 
due to a development platform being decommitted and a user interface that was 
far from rich. APG selected Canoo to design and implement a new platform for the 
presentation layer. The most important criterion was application developer 
productivity with the goal of developers being as productive as before despite 
higher expectations to the richness of the user interface.
Rather than creating a presentation framework from scratch the project decided 
to go for a mix and match approach. First, a visual metadesign of the user 
interface reduced the presentation use cases to a reasonable number. Tailored to 
these use cases, a small framework tightly integrates some of the best Java 
libraries (e.g. JGoodies, Swing, Spring, and JPA) and offers a high-level API. 
In addition, a generative approach facilitates the creation of data transfer 
objects (openArchitectureWare). The architecture was developed jointly by APG 
and Canoo with substantial contribution from leading developers of these 
libraries and frameworks. 

Last but not least, the business logic layer and the DB can be reused without 
any changes. Experience shows that the productivity both in development and 
maintenance is at least at par with the former 4GL development platform. On top 
of that, the new Java-based development platform offers way more flexibility, if 
required.

Media Partners

APRESS
inside-it
netzwoche
developpez
MokaByte