VisualAge Generator Generation Guide


Appendix B. Implementing a generation server

Because generation is a resource-intensive operation, you may wish to generate on a system other than the workstation on which you normally run VisualAge Generator Developer. You can set up a generation server to handle your generation jobs or the generation jobs of multiple programmers.

To implement a LAN generation server, you must customize the VisualAge Generator Developer configuration on the generation server and on the client. On the server, most of the customization is handled automatically. On the client, more manual customization is required.

When you are installing VisualAge Generator Developer on a LAN generation server, shared files are placed in a directory on a shared drive that is used for communication between the client and the server. Before you begin installation, you need to know what type of network you will be using and which drive will be shared.

Sample files

VisualAge Generator Developer provides sample REXX programs to help you implement a generation server. During installation, these sample files are placed in the installation directory (by default, C:\Program Files\IBM\VisualAge for Java or C:\Program Files\Vast). You must customize these files for your specific LAN server and operating system environment to provide the required processing support. These sample programs are command-driven and are not directly available on the graphical user interface.

You can use the user interface for generation to create generation command files that invoke the EFKREQ.CMD or EFKREQ.REX client code if the following criteria are true:

Note:
The sample REXX programs are the recommended method for running VisualAge Generator Developer on a generation server. It is recommended that you do not use the NET RUN service.

To run these REXX programs on Windows NT you will need to obtain and install REXX support; this is provided by the product IBM Object REXX for Windows NT and Windows 95 (5801-AAR). You need the interpreter edition (Feature 1569, part number 10J9392).

Figure B-1 shows the names of the sample files provided for OS/2 and Windows NT.

Figure B-1. Sample files provided for LAN generation on for OS/2 and Windows NT

File name Description
EFKSERV.CMD (OS/2) or EFKSERV.REX (Windows NT) This REXX file contains commands that receive server requests. The EFKSERV.CMD or EFKSERV.REX program runs on the LAN server and continually checks the server input queue for generation requests. The server input queue is specified in the EFKGEN.INI file.
EFKREQ.CMD (OS/2) or EFKREQ.REX (Windows NT) This REXX file contains commands that submit server requests. The EFKREQ.CMD or EFKREQ.REX program runs on the client, gathers generation option information, and places the generate request on the server input queue. EFKREQ also supports command options of PAUSE, STOP, and START. These command options control the processing of EFKSERV.
EFKLIST.CMD (OS/2) or EFKLIST.REX (Windows NT) This REXX file contains commands that list the contents of the server input queue. The EFKLIST program runs on the client and displays a list of all requests waiting to be processed by the EFKSERV program.
EFKGEN.INI This file defines the locations for different files. This file also defines other parameters used by the REXX command files. This file is installed on the client and server.
LANGEN.TXT This file contains additional configuration guidance for the implementation of generation clients and generation servers.

Setting up Object REXX support on Windows NT

The tasks described in this section are required only on Windows NT. OS/2 provides integrated support for REXX. The tasks on Windows NT are as follows:

Setting up the generation server

This section describes how to set up a LAN generation server. Before you begin, you need to know what type of network you are using, which directory on each generation server will be shared, and which drive on the generation clients will be used to access the shared directory.

To set up a LAN generation server, complete the following steps on each system that you want to use for remote generation:

  1. Install the VisualAge for Java or VisualAge Smalltalk client.
  2. For Windows NT, install and tailor Object REXX. See Setting up Object REXX support on Windows NT.
  3. Install VisualAge Generator Developer.
    1. In the Setup Type window, select Configure LAN Generation Server.
    2. In the LAN Generation Server window, be sure that the shared drive you specify supports long names. If the file system does not support long file names, you must modify the long file names in the sample REXX programs to use file names each with a base name no longer then eight characters and an extension no longer than three characters.

    The installation software completes the following steps:

  4. If you are running the Smalltalk version of VisualAge Generator, copy the following files from the VisualAge Generator Developer installation directory to C:\LANGENSVR\cmd:
  5. Edit the EFKSERV and EFKREQ scripts to point to the appropriate input and working directories. Do this in C:\LANGENSVR\cmd, not in the VisualAge Generator Developer installation directory. This ensures that any fixpak changes to EFKSERV and EFKREQ do not destroy your changes.
  6. Copy the VisualAge Generator Developer templates (*.TPL files) to C:\LANGENSVR\template and modify the copied files in C:\LANGENSVR\template as needed. Be sure to point your generation options to the modified version of the templates. The directory that contains the original version of the templates depends on whether you are running the Java or Smalltalk version of the product:
  7. Share the C:\LANGENSVR directory. On Windows do not accept the default share name, LANGENSVR shorten it to eight or fewer characters, for example, LANGEN.
  8. Set the PATH environment variable to include C:\LANGENSVR\cmd before the VisualAge Generator Developer installation directory cited at the end of Step 6.
  9. If you are running on a Novell Netware LAN environment, set the EZERUSRID environment variable to the LAN user ID of the generation server.
  10. Reboot your system for the changes to take effect.
  11. Start EFKSERV from a command prompt.
  12. For Windows NT, if the repository is not on the generation server system, ensure that the date style and time style in the regional settings on the generation server system match the corresponding information on the system where the repository is located.

Setting up the generation client

This section describes how to set up a LAN generation client. Before you begin, you need to fulfill the following prerequisites:

To set up a LAN generation client, complete the following steps on each system that you want to be able to use a generation server:

  1. Install the VisualAge for Java or VisualAge Smalltalk client.
  2. For Windows NT, install and tailor Object REXX. See Setting up Object REXX support on Windows NT.
  3. Install VisualAge Generator Developer. The generation client should use the same repository that the generation server uses.
  4. Map the generation server drive so that drive h: on the client workstation points to C:\LANGENSVR on the server machine.
  5. Set the GENERATE_INI environment variable to point to h:\cmd\EFKGENCL.INI.
  6. Modify the EFKGENCL.INI file on the generation server system as follows:
  7. Set the PATH environment variable to include h:\cmd and the path name of the VisualAge Generator Developer installation directory. The former directory must be included before the latter so that you can use EFKREQ from the generation server.
  8. If you are running on a Novell Netware LAN environment, set the EZERUSRID environment variable to the LAN user ID of the client workstation.

    For Windows NT, this should be a user environment variable, because it varies depending on which user is logged in.

  9. On each generation client system, specify EFKREQ for generation, as follows:
    1. From the VAGen Parts Browser window, select Window then Options.
    2. In the VisualAge Generator Options window, in the left pane select Generation.
    3. In the right pane select the CALL EFKREQ radio button and Apply.
  10. Exit from VisualAge Generator Developer and reboot your system for the changes to take effect.
  11. For Windows NT, ensure that the date style and time style in the regional settings on the client system match the corresponding information on the system where the repository is located.

After setting up the generation client

You can submit server requests even if the EFKSERV program is not running. The EFKREQ program places the generation request in input queue of the server.

The HPTCMD command output listings are placed in the directory specified by the gen_listing_dir parameter in the EFKGEN.INI file. The generated source and related program objects are placed on the server machine in the directory specified by the /GENOUT generation option.

When you specify a value for the /GENOUT generation option, use symbolic parameters to avoid conflicts with other generation requests. Figure B-2 shows how to use a symbolic parameter.

Figure B-2. Example showing the use of symbolic parameters

/GENOUT=F:\OUTPUT\%EZEPID%\%EZEENV%

If your target system is CICS for OS/2 and your project is USERA, the generated output is placed in the directory F:\OUTPUT\USERA\OS2CICS. If the directory you specify does not exist, it is created for you.