In the last chapter, you learned how to package and distribute standalone applications, where most bytecode was delivered to and ran on an end user's desktop machine. This chapter examines the other delivery option?web- delivered applications. This type of application, which is housed on remote servers rather than on a CD in a box (in a store), avoids some problems associated with standalone applications. The primary disadvantage of a standalone application is that it is typically "cut off" from further updates (without extensive additional work and/or a commercial update system). Users have to buy new versions of software to get new features, bug fixes, and updated documentation. This difference is one of the core strengths of a web-delivered application, which allows web updates (and it even auto-updates itself).
When Java was first introduced, small applications were often delivered via the Web; these mini-applications were called applets. The idea was for a web browser to automatically load and execute Java applets in a secure sandbox, where the applets would run inside a web page. Unfortunately, many issues?some technical, some political?led to the untimely death of applets for most Java developers.
Sun has since introduced a new model, under the name Web Start, that delivers Java applications via the Web. Web Start eliminates many problems associated with desktop applications (developing an auto-updatable application is fairly straightforward) while cutting the browser out of the equation, vastly improving cross-platform compatibility.
This section looks at how the applet and Web Start models distribute a web-based application and compares the advantages and disadvantages of each approach.