HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

With its recent announcement of the release of eNetwork On-Demand Server, IBM has raised the stakes in the game of Java development. Now it's possible to personalize, secure, manage and deploy your Java applications from a centralized Web or Web application server. On-Demand Server enables developers and system administrators to customize Java application preferences for individuals, groups or even a specific type of client machine. All IDs, passwords, applications and profiles are stored on the server, which enables the same access policies to apply whether the client is logging on from the next cubicle or from a distant city. All files that are critical to the application are stored on the server, preventing users from corrupting or illegally accessing files and causing a system crash. This is a big advantage over the traditional client/server model.

System Requirements (Client):

  • 100 MHz processor
  • 32 MB RAM (end user)
  • 48 MB RAM (administrators or end users requiring additional performance)
  • 10 MB hard drive space
  • 800x600 pixels and greater than 256 colors display
One of the following operating systems:
  • Windows 95 or 98
  • Windows NT 4.0 with Service Pack 3
  • IBM OS/2 warp 4.0 with FixPak 4 or later
One of the following browsers:
  • Netscape Navigator/Communicator 4.06 or later
  • IE4.01 with service Pack 1
System Requirements (Server):
  • 180 MHz processor
  • 96 MB RAM (96 MB for each processor if using a symmetric multiprocessor server)
  • 100 MB hard drive space for NTFS format (200 MB if FAT format)
  • 800x600 pixels and greater than 256 colors display

One of the following operating systems:

  • Windows NT Server 4.0 with Service Pack 3
  • Windows NT Workstation 4.0 with Service Pack 3
  • AIX 4.3
  • PS/390 R5
  • OS/2 Warp Server 4.0
Before On-Demand Server can be installed; one of the following Web servers must be installed:
  • Lotus Domino Go Webserver 4.6.2 (Provided with the On-Demand Server package)
  • Netscape Enterprise Server 3.51
  • Netscape FastTrack Server 2.01
  • Microsoft Internet Information Server 3.0 or 4.0
Before you attempt to install eNetwork On-Demand Server, it's important to make sure your machine is properly set up to run the product. While this isn't necessary with the client-side version, the server-side of eNetwork can only function on a server-orientated OS. The version I tested ran on Windows NT 4.0. It's also vital to run one of the supported Web servers that are mentioned above. The version of eNetwork I tested included the Lotus Domino GO! Web server.

Figure 1
Figure 1:  By using the interactive splash screen,
installation will be quick and painless!

When I inserted the CD-ROM into my drawer, an interactive splash screen greeted me. Among the selections I could choose from were browsing the CD-ROM, viewing the documentation, going to IBM's Web site and of course, installing the software. I installed the server on an Intel 266 with 128 MB of RAM and found it to be fast and trouble free. The workstations varied from a 133 to a 266.

If you have your autorun disabled or if you don't get the splash screen for some other reason, installation is still pretty simple. Browse the CD-ROM to Help\onDemand\en\gssetmst.htm, click on "Initial Steps," and you'll find some very good HTML documentation to walk you through the process.

Configuration is no harder than using a Web browser
One of the features I liked best about On-Demand Server is its configuration interface. Unlike the command line interfaces of some other servers, On-Demand uses your favorite Web browser to accomplish this once-gruesome task. When launched, the Configuration Manager automatically detects any installed services and displays them in the left browser window. Clicking on any given service brings it to the right window, where a simple click or drag can add, remove or modify.

Figure 2
Figure 2:  Your favorite Web browser is all you
need to run On-Demand's Profile Manager

Not only can a browser be used for basic configuration, but to add, define and customize Java applications as well. Software changes are automatically accessed from anywhere, saving the user the aggravation of going through installations and upgrades. This profile management interface can also be used to assign user IDs and passwords, and to define software user access. I was able to configure quickly and easily from the server, the workstation and even from a remote dial-in location.

The profile manager features an extensive set of class libraries. Applets written with these class libraries can automatically retrieve the end user's data and preferences. When the user logs on, this customized set of preferences is served to the user and displayed in the Applet Launcher. These applets are cached in the browser, saving the user download time during future sessions. If a new or updated version of an applet is installed on the On-Demand Server, the cached applet is automatically updated at the next logon.

Using On-Demand Server
For testing purposes, I chose to use the demo software that came with my package. The installation, while lacking the interactive splash screen, wasn't too difficult. My demo software CD-ROM contained a directory named "onDemand-ServerWin32Client" and a self-extracting zip file named "serverClasses.exe". It's important that these zipped files are extracted to the proper directory. Make sure it's (installeddirectory)\WebSphere\AppServer\web\onDemand\Classes. Next go to the directory named \WebSphere\AppServer\web\onDemand\Classes\local\nativeLauncher. Locate two files named "load1.txt" and "load2.txt". The host name in each of these files will be listed as "brqnta.raleigh..ibm.com". Change the name to the qualified host name of your On-Demand Server.

Here's where I committed a small error. After my installation, I couldn't get the applet launcher to behave properly. As it turned out, the support files for Win32 clients must be installed on any Win 32 machine that runs the applet launcher, including the machine hosting the On-Demand server. I assumed that the applet launcher on the Win NT server would suffice, but I was wrong. It seems that these support files contain Java native interface support for the client and are vital because the browser JVMs don't support JNI. I could have saved myself some time if I'd properly read the documentation before I began. (Dad always used to tell me to read the directions carefully before I started anything, but I would never listen!)

Once I saw the error of my ways, installation of the support files went very smoothly. This was accomplished by copying the directory named "onDemandServerWin32Client" from the CD-ROM to "C:\onDemandServerWin32Client". In this directory there is a batch file named "startJNIServer.bat" and it's necessary to edit one line in this file, a line that reads "set PATH=WINDOWS_VERSION;%PATH%".

If you're using WIN NT, edit the line to read "set PATH=winnt;%PATH%", but for WIN 95, it should read "set PATH=win95;%PATH%". After this quick edit, execute the "startJNIServer.bat" file and leave it running for the duration of the On-Demand Server operation. This will start the Java application as a server program.

With that said and done, it was time to start using On-Demand Server. The first scenario I tested involved the migration of the existing components into On-Demand Server. The first step was to migrate the existing user and group definitions. This was easily done by taking the following steps:

  1. I defined a set of users and groups to the native server. On WIN NT, all I had to do is click Start - Programs - Administrative Tools - User Manager. This displays the current enterprise server configuration. I then created two groups, shipping and sales, and a user named emp1, which I made a member of the shipping group.
  2. I started the On-Demand configuration console before I ran the migration tool. This made it possible to watch the entire migration process. I launched my browser to http://(hostname)/IBMWebAS/onDemand/configure.html. It was necessary to then enter the userid and password. Agfterwards, I went to "Profile Management" in the left pane and clicked on the lists: "User Groups" and "Users". I was then able to watch these lists grow as the migration process continued.
  3. I ran the "AddUsers" command from a command line. In my WIN NT example, the correct parameters were: AddUsers -source ondemandnt -destination ondemand.
The next step I took was to import all the necessary applications. Although this can be done by a manual entry of parameters, the example (thankfully) included an import file. I took the following steps:
  1. I started the migration tool by using the same process as described in step 2.
  2. I expanded the "Profile Management" in the left pane, then clicked on the "Software" tag to bring up the software configuration panel in the right pane.
  3. I clicked on the "Import" button and turned my browser to the directory WebSphere/AppServer/web/onDemand/-Classes/local/nativeLauncher. I then selected the file "load1.txt" and clicked on "import". On-Demand Server then began to import the software definitions from this file. I was then able to view all the new applications as they were added.

At this point, it was time to configure the end-user desktops for employees of the shipping department. This involved the following steps:

  1. I expanded the "Profile Management" in the left pane, and the "User Groups" tag. Then I clicked on the "shipping" tag and brought up the group configuration panel in the right pane. All the users in this group are displayed here. By clicking on a member, I was able to assign software permissions to that user.
  2. I clicked on the "Software" tab in the right pane, which brought up the view of software assignments. A list of all available applications appeared and I was able to assign them to a user by clicking on them.
  3. At this point it's possible to customize applications for the department. For example, by bringing the "Software" tabbed panel to the front of the screen, I was able to click on "PhoneDialer", and then click the "Run/Customize" button. From there, I could set up some speed dial settings for the department.
At this point, it was necessary to repeat the process for the sales department. This demo used only two departments, but On-Demand Server can accommodate as many as necessary.

If end users feel the need, they can further customize their own desktops and applications. The administrator can, of course, define sets of rules and parameters to restrict these options.

The On-Demand Server Toolkit:
Easy to use class libraries that can enhance your application's effectiveness
The On-Demand Server Toolkit consists of class descriptions, Javadoc, samples and tasks. The toolkit is automatically installed with the standard On-Demand installation.

Some features included are:

License Management class library and Bean
This is a nifty feature that, among other things, has the ability to assist customers by enabling per-seat-based charging. This can inform customers when entitled licenses are soon to be exceeded. To use License Management, there must be at least one server running IBM License Use Management Runtime on the network. This can be installed on the same machine running On-Demand server or any other machine on the network. On-Demand Server will act as client to IBM License Use Management Runtime.

Log/trace facility class library
This enables centralized event logging and tracing capabilities for applets. For example, any significant change in the state of a monitored system could be logged as an event.

Profile Management class library
As described earlier, the Profile Manager can define individual users, group users and assign users and groups permission to files or to run software.

All in all, I found IBM's eNetwork On-Demand Server to be a pleasure to install, configure and use. The interfaces are user-friendly, the Java classes are state of the art and through the whole test, I did not experience a single crash.

If you're a Java developer looking for a more efficient way to manage and deploy your network-based applications or if you're a network administrator who needs a reliable and trustworthy network, place all your chips on eNetwork Server On-Demand. You can't lose!

About the Author
Edward Zebrowski is a technical writer based in the Orlando, Florida, area. Ed runs his own Web development company, ZebraWeb, and can be reached on the net at [email protected]


All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.