BBj: One License, One Install
By Mark Schnedar

e've made many enhancements to the BBj® installation and licensing process. New to the install program a graphical interface for UNIX, along with an improved character-based interface. Much of the install program is written in Java, which gives a similar look and feel to all of the installs: Windows graphical user interface (GUI), UNIX GUI and UNIX character user interface (CUI). New also is the fact that BBj requires only one license. With BBj, this one license contains information detailing the product's available features and functionality.


The new graphical user interface available in the UNIX environment requires a Windows Manager to be running. We've enhanced the UNIX character user interface to provide a look similar to the GUI installs. The Windows install, however, allows customization that the UNIX install does not. For example, on Windows, you can choose to install just the Thin Client, but on UNIX, installing all BBj components is the only option.


BBj has certain requirements, so before installing, check the following.

1. The target system has to be a supported platform of BBj.

2. As a Java application, BBj needs a Java Virtual Machine (JVM) to run. You have to install one before installing BBj. For UNIX installs, the JVM version must be 1.3 or higher. For Windows installs, the JVM must be 1.3.0_02 or higher. You can download JVMs free from your operating system (OS) provider, along with any required OS patches.

3. BBj requires properly installed and configured TCP/IP.

4. You need 30 MB of free space on the disk drive. In addition to the disk space, you need sufficient RAM and virtual memory for the desired application to run acceptably.

5. If you are using the BBj ODBC driver on Windows 95, you need to install the dcom95 and mdac OS patches available from Microsoft. If you are using the BBj ODBC driver on Windows 98, you need to install the mdac patch available from Microsoft.

Once you've checked these, you are ready to run the BBj executable file.


The first few install screens allow you to select the language, accept the license agreement, select where to install BBj and select the JVM to use for the applications. Once you have made these selections, you may choose to customize the install. The customization screen allows you to select which portions of BBj to install. The default is to install all BBj components. The customization screen lists the various BBj components with brief descriptions of each. You can use this screen to perform a Thin Client-only install. On Windows NT and Windows 2000, the BBj Windows install then prompts you for an existing account user name and password. When started as a service, BBj Services inherits the permissions, environment and device access of the specified account. Finally, install wizards walk you through the processes of registering a license, installing a license and selecting a BASIS License Manager (BLM) to complete the install. In the Windows install, the BLM and BBj Services start automatically.


Run the install as root. Adding an entry to /etc/inittab does not work if you don't run the install as root. You can run the UNIX install in GUI or CUI mode. To run in GUI mode, you must have a Windows Manager running, and you have to set the environment variable DISPLAY appropriately. In CUI mode, the DISPLAY environment variable must not be set and you have to set TERM appropriately. The UNIX installation uses the environment variable BASIS_JAVAHOME to find the JVM to use. The install checks the version of the JVM and then prompts for an installation directory. UNIX installs do not have a customization screen. The program installs all BBj components on the target machine. Install wizards then walk you through the process of registering a license, installing a license, selecting a BLM, starting the BLM, starting BBj Services and adding a startup script to /etc/inittab. (Note that these last three wizards are not part of the Windows install because the BLM and BBj Services start automatically in the Windows install.) Again, you have to run the install as root if the install is to make a change to the /etc/inittab.


The licensing method in BBj has several differences from the licensing method in BBx®. One difference is that in BBj, licensing is done on the server, not the client, as in BBx. When a client connects to BBj Services, it checks out a license. The license is checked back in by BBj Services when the client terminates its connections with BBj Services. BBj Services requires that the BLM be running. All licensing goes through the BLM. The BLM may be running on a different machine or on the same machine as BBj Services.

Also different from BBx is the fact that every BBj license is a multiuser license. A single-user license in BBj is actually a multiuser license with a user count of one.

BBj is very different from BBx in the way that BBj manages the number of users for a system. BBj distinguishes two types of connections when determining whether to check out a new license. If the connection is from another BASIS product, BBj checks out a new license if the user/host/display for that connection is unique. If the connection is from a concurrent third-party product, BBj uses one license per connection. To arrive at the total number of users needed for your license, add the number of BASIS product connections used at one time to the number of concurrent third-party connections used at one time.

Another major difference between BBj and BBx is that BBj uses only one license for all the product's components. The BLM only has to manage this one license. With BBx, the BLM may have to manage as many as five different licenses: the interpreter license(s) (PRO5 and/or PRO5_DEV), the PRO/5 Data ServerŪ license (PRO5DS) and the BASIS ODBC DriverŪ license(s) (ODBC_RW and/or ODBC_RO).

A BBj license uses a three-character VENDOR_STRING to define the functionality of the product's components. Each character in the string has two values. This table lists all eight combinations for the VENDOR_STRING.

VENDOR_STRING Combinations
Enterprise/Standard Read/Write Fully Functional/Run Time

The first character in the VENDOR_STRING determines if the product is the BBj Enterprise Edition or the BBj Standard Edition. The Standard Edition only allows local connections from other BASIS products. The Enterprise Edition allows remote connections from other BASIS products. These remote connections allow distributed computing, thin client connections and Web access.

The second character determines the write status of ODBC/JDBC connections. The default setting is W for Read/Write capabilities. In the default setting, the license functions to allow ODBC/JDBC access to write data to files (similar to ODBC_RW). The setting of R is available for backward compatibility. This setting only allows ODBC/JDBC connections to read data (similar to ODBC_RO).

The third character determines the functionality of the interpreter. If set to F, the interpreter is a fully functional interpreter that allows program listing and breaking to console mode (similar to the PRO5_DEV license). If set to R, the run-time interpreter does not allow program listing or breaking to console mode (similar to the PRO5 license).