Both the ULC UI Engine and ULC server allow multiple deployment scenarios.
Figure 1: UI Engine in Client Mode
The UI Engine can run as a standalone Java application or as an applet within a web browser using the Java Plug-In.
When running as an applet the UI Engine can be downloaded on demand to the client. When running as a standalone Java application one of the following approaches can be used to get the UI Engine to the client desktop depending on the organizations requirements.
Make the UI Engine available on a shared LAN drive.
Use an installer tool to deploy the UI Engine to the client on demand.
Use Java WebStart to automatically deploy the UI Engine the first time a ULC application is launched.
Of the above choices using Java WebStart is the preferred choice since the WebStart approach is a platform portable approach that Sun has announced will be included in the next release of Java.
In addition WebStart allows multiple versions of the UI Engine to be cached locally and has an extension and update model where fixes and user extensions can be deployed incrementally.
Figure 2: UI Engine in Server Mode
ULC server applications can run standalone using any Java compatible virtual machine. This is the simplest deployment scenario for ULC applications. This approach is well suited for installations with a moderate number of users. For installations with a large number of users load balancing issues need to be addressed by integrating ULC applications into the organizations existing load-balancing infrastructure.
ULC server applications can also run as servlets within any Servlet 2.x compatible servlet engine. This approach leverages existing web server infrastructure and potentially resolves load balancing issues as well since most organizations already have load balancing infrastructure for web based servlets in place. Running ULC applications as servlets also demonstrates the capability of the ULC HTTP Tunneling transport that is key to penetrating client side firewalls.