(10100) Wuala Webstart: Launching a Java Application directly from a Website
Thursday, 2009-06-25, 16:30 - 16:50, Arena 7
Rate this talk:
Wuala Webstart allows to directly start a Java application from a website. In comparison to Java's existing Webstart technology, it has much better performance, finer update granularity and less restrictions on the used GUI toolkit. Purpose Wuala Webstart has been developed to provide a comfortable and fast way to start an arbitrary Java application without prior installation. This is essential when delivering a Java desktop application like Wuala with hundred thousands of installations and frequent updates. How it works Wuala Webstart consists of three components: a small trusted Java applet that can be embedded on a website, a resource server that provides all resources and a classloader that connects to the resource server to automatically load the latest version of the application on startup. Fast Startup Unlike in traditional approaches, Wuala Webstart operates on class-level granularity. The resource server learns which resources and classes are needed first and feeds them in that order to the starting application. With Wuala Webstart, applications can be started and interact with the user before they have been completely downloaded. For many applications, only a fraction (e.g.) of their classes and resources are needed for startup. With Wuala Webstart, their download and startup time can be significantly reduced. With Wuala webstart, we could reduce the download and startup time from over 20 to less than 7 seconds, only marginally slower than for the pre-installed application (5 seconds). Incremental, transparent updates Whenever the application is started, the class loader automatically loads the latest version from the resource server. Only the classes and resources that have changed need to be downloaded. Thanks to this fine granularity, updates are minimal. Often, users don't even notice that there has been an update when starting the application. Open source Wuala Webstart is open source. Anyone wanting to look at or employ this technology is welcome to do so. Security Connections to the resource server are encrypted, and the resource server authenticated with a certificate in order to prevent e.g. DNS-poisoning attacks. When running code before have the complete jar file, signing jar-files is useless as their signatures cannot be verified until the whole file has arrived. Real-world use We use Wuala Webstart to provide the users of the Wuala Online Storage with a fast and convenient way to start a rich client. It is used daily by ten-thousands of happy users and has already delivered millions of Wuala updates to them.