DeployDirector provides a comprehensive environment for maintaining Java applications across the enterprise. It consists of several modules, including a server-based repository, an administrative interface, and a client-side agent. The administrative tool allows you to configure and deploy new or updated versions of an application to thousands of client desktops across the enterprise.
A Java applet performs installs and updates, obtaining all the necessary components from a server-based repository. For installs, the applet is invoked from a Web page while the application automatically calls for updates.
DeployDirector stores the installation and update information for one or more applications in a centralized storage facility called a vault. The vault is maintained through a GUI-based administration utility that allows you to add or change applications that are to be deployed. Multiple versions of an application can be stored in the repository along with the various rules governing how they are to be installed or updated.
Applications installed with DeployDirector are front-ended with an additional piece of code that senses when an update is available. The Java application start-up mechanism, called the Client-Side Application Manager (CAM), automatically checks for updates every time an application is invoked. If an update is available, the CAM will prompt the user to update the application when a new version is available. Similar behavior can be found on software products such as RealNetworks audio player, which notifies you when a new version is available and downloads it off the Internet.
In addition to Java applications,DeployDirector handles Java applets as well. In this case, DeployDirector maintains a client-side image of the applet, thus eliminating the need for the Web server to download the entire applet every time a page is accessed. An additional optimization feature reduces network traffic by eliminating the need to constantly redeploy large JAR files every time a change is made. Instead, DeployDirector will download only class files that have been modified and make the appropriate changes to the JAR file on the client side.
DeployDirector is designed to update client applications from anywhere there's network access. A client application can be updated from within the enterprise (behind the firewall) or outside the enterprise through the Internet.
The DeployDirector Servlet can run in a single stand-alone server or within a cluster. For large multinational corporations, DeployDirector servers can be deployed at several regional data centers serving thousands of users. On the client side, DeployDirector maintains a minimal footprint making it somewhat transparent to the user. It also maintains the relationship of an application to the correct version of its runtime JRE while keeping multiple JRE versions transparently. This capability takes a lot of the guesswork out of deploying multiple JRE versions on a client machine.
Installation and Configuration
The install CD comes with two Zip files, one platform-specific and one that's common for all environments. The platform-specific Zip files are optional, depending on whether the target server contains a preloaded JRE (and correct release level). In my case I was running on Windows 2000 and opted to extract both Zip files. Both files are extracted to the same DeployDirector home directory. The Windows platform Zip file (Win32.zip) contained the Java runtime environment and several DLL and OCX files.
After invoking the start-up script, the DeployDirector server started right up and promptly did nothing. At this point you need to go to the administration page by pointing your browser to the server, using a dedicated port setting. To continue, enter the licensing keys provided via e-mail (one of those postregistration deals). This part of the installation was relatively painless. Now you're on an administrative Web page containing various options and installation details. Now comes the interesting part. So far, no administrative tools have been installed. They have yet to be deployed to your machine.
This is where DeployDirector shows off its capabilities. DeployDirector's first task is to deploy the administration application to your machine. It comes preloaded with bundles containing the administration applications (neat stuff). If you scroll down in the admin page, you'll see links allowing you to install the admin application. Once selected, a Java applet takes over and guides you through the standard setup process. For instance, the setup program will ask you for the install directory, and about placing an icon on your desktop and other setup-related questions. Once installed, it was easy to get to the administration application through the Windows start menu (see Figure 1).
Now you're ready to set up application bundles. The installation comes with a demo application and a tutorial that guides you through the process of setting up your deployment applications. I'd recommend going through it.
DeployDirector seems quite ready to take on the task of maintaining applications across any enterprise. Using clustered services, corporations can gradually scale their implementation of DeployDirector from the departmental to the enterprise level, thereby reducing risk. The product has all of the features you'd expect for deploying and maintaining mission-critical applications across an enterprise, including authentication and security. DeployDirector is easy to set up and powerful, and provides detailed logging and reporting - allowing Java applications to be deployed with the ease and transparency of browser-based applications.
Joe Mitchko is a principal engineer with eTime Capital, Inc., Sunnyvale, California, where he specializes in