here is no denying the allure of browser-based applications: one common code base on the server, the virtual guarantee of a browser on the user's desktop, and simple installation. These advantages have in recent years fueled a mass migration of code to the server side and the near extinction of fat GUI clients. In turn, the limitations of HTML have led to a cornucopia of client-side technologies such as dynamic HTML, applets, Flash plug-ins, and more recently, AJAX
These tools have addressed some of the weaknesses inherent in browser-based applications, but they by no means offer a comprehensive solution. Applications become a hodgepodge of HTML, dynamic HTML, plug-ins, and servlets, and browser-compatibility issues continue to plague developers.
Two Java technologies, combined with AJAX-style communications, offer a comprehensive solution: Java Web Start and Java Desktop Integration Components (JDIC). Together, these tools may lead to the reemergence of rich GUI clients and a new generation of applicationscalled Webtopsthat combine the best features of desktop and browser-based applications.
This article explores both technologies and forecasts their future in Web 2.0.
The History of Webtops
The term "Webtop" was coined as early as 1996 to characterize the migration of desktop applications to the browser
. More recently, Sun used the term to describe a network-oriented desktop
that is part of its Secure Global Desktop Software. The term has also been used to describe rich GUI clients
that leverage new technologies to eliminate many of the code management and deployment issues that typically plague fat GUI clients.
This article uses the following definition of a Webtop application:
- Launched automatically from a browser hyperlink (i.e., no manual download, installation, or update process)
- Tight integration between the user's native browser and the Webtop application, including browser-oriented navigation tools (forward, backward)
- Seamless communication with a central server using HTTP
- Rich GUI (e.g., native look and feel, including smooth dynamic updates without requiring frequent page refreshes)
In the past, the only sure way to achieve all of these objectives was to create a browser-based application leveraging AJAX to address item four. Today, Sun's renewed focus on Java for the desktop, including the creation of www.javadesktop.org, is beginning to yield a treasure trove of practical Webtop-enabling technologies. Chief among these technologies are Web Start and the supporting Java Network Launch Protocol (JNLP) and JDIC. As you will see, JNLP and JDIC provide the foundation necessary to effectively deliver a practical Webtop application.