Advantages vs.
Swing and Java Web Start
Three key advantages of ULC applications vis-a-vis conventional Swing applications:
UltraLightClient (ULC) is an add-on technology to Swing rather than a competitor. While conventional Swing applications have a client-side architecture, ULC offers the technology required to leverage Swing's functionality in a server-side web architecture.
Diagram comparing architectures of UltraLightClient and Swing
No Application Deployment on ClientULC applications are deployed on the server. The UI is executed by a Presentation Engine that resolves the deployment issues of conventional Java clients: |
Application Deployment on ClientConventional Swing applications are deployed on the client, which is often difficult: |
|
|
|
|
|
|
| As a result, this Presentation Engine can be easily downloaded and executed as an Applet at runtime. Likewise, its deployment with Java Web Start or other mechanisms is substantially simplified. | Due to these three characteristics, client deployment as an Applet is often impossible. Likewise, distribution with Java Web Start or other mechanisms is often too difficult in heterogeneous environments. |
Scalable Server-side ArchitectureBoth the programming model and the execution model of ULC are server-side. Applications are installed and executed on the server. The client executes a compiled Presentation Engine that is independent of individual applications. As a consequence, |
Client-side or Distributed ArchitectureSwing applications have a client-side or distributed programming model and execution model. The code for the rich UI executes on the client, possibly together with business logic. As a consequence, |
|
|
|
|
|
|
|
|
Versatile ApplicationsULC offers two features that lead to outstandingly versatile applications: |
Single Purpose ApplicationsSwing offers no out-of-the-box support for versatility of applications: |
|
|
|
|
| It is easy to build applications that can be executed in multiple operating scenarios: within a corporate network, over the internet, and even stand-alone. The latter option is particularly useful for the development of applications that run both on- and offline. | Applications are typically built for a single purpose and operating scenario: either as a client/server application running within a corporate network, a client/server application running over the Intranet, or a stand-alone application. |