VisualAge Generator Generation Guide
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.
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:
- CALL EFKREQ is selected on the Batch generation
command portion of the VisualAge Generator Options window when
Generation is selected in the left pane.
- Batch Generation is selected on the Generate window.
- 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.
|
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:
- Install Object REXX.
- Customize Windows NT so that REXX command files, which have a file
extension of .REX, are recognized as a REXX command and invoked under
the control of the REXX interpreter. To fully implement this level of
REXX support in Windows NT you must complete the following steps:
- Check that the Object REXX installation process sets up an association for
the .REX filetype. You can check the existing associations using
the assoc .rex command.
If the association does not exist, you can add it from the command line by
running the following command:
assoc .rex=REXXscript
- Make sure the Object REXX command processor is somewhere in the PATH
environment variable
(or enter it fully qualified in this step) and use ftype to link
it to the file type, if this has not been done by your command processor
setup. You can check the existing file-type association by using the
ftype REXXscript command. Ensure that the file type
association for REXXscript has the following value:
REXXscript="C:\ObjRexx\rexx.exe" %1 %*
where C:\ObjRexx is the path name of the directory where
Object REXX is installed. If the ftype definition does not
exist, or does not match the value shown above, you can create the definition
from the command line using the following command:
ftype REXXscript="C:\ObjRexx\rexx.exe" %1 %* >.REX
- Note:
- A file association may have been set up automatically when you installed
REXX. However, you must modify the ftype definition for
REXXscript to ensure parameters are passed as expected.
- On Windows, make sure that .REX is included in the PATHEXT
environment variable
on each LAN generation server system and each on each client system.
This lets you to use the command file without typing the file-name
extension. To set it permanently, use the Environment tab of the
Windows NT System Properties window or the Environment Variables page of
the Advanced tab of the Windows 2000 System Properties window. If
the variable does not already exist (it has a default value when PATHEXT is
not set), create PATHEXT with the the following value:
.REX;.COM;.EXE;.BAT;.CMD
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:
- Install the VisualAge for Java or VisualAge Smalltalk client.
- For Windows NT, install and tailor Object REXX. See Setting up Object REXX support on Windows NT.
- Install VisualAge Generator Developer.
- In the Setup Type window, select Configure LAN Generation
Server.
- 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:
- Creates the following directories (C:\LANGENSVR is the default;
you can change the value when you are installing VisualAge Generator Developer
on the generation server):
- C:\LANGENSVR
- C:\LANGENSVR\cmd for command files
- C:\LANGENSVR\inputGen for the input queue
- C:\LANGENSVR\outlist for output listings and the generation log
- C:\LANGENSVR\template for generation template files
- C:\LANGENSVR\working for temporary files
- Copies the following files from the installation directory to the cmd
directory:
- EFKGEN.INI
- EFKLIST.REX or EFKLIST.CMD
- EFKNETRC.REX or EFKNETRC.CMD
- EFKREQ.REX or EFKREQ.CMD
- EFKSERV.REX or EFKSERV.CMD
- EFKSND.REX or EFKSND.CMD
- LANGEN.TXT
- Copies the EFKGEN.INI file in the cmd directory to files
EFKGENCL.INI and EFKGENSV.INI.
- Modifies EFKGENSV.INI to reflect the drives that the generation
server uses. It sets the working_dir parameter to a directory
located on the server and sets the server_input_dir and
gen_listing_dir parameter values to directories located on a shared
file system that can be accessed by both generation clients and generation
servers. For example, it may produce the following settings:
/server_input_dir=C:\LANGENSVR\inputGen and
/gen_listing_dir=C:\LANGENSVR\outlist
- Sets the environment variable GENERATE_INI to the path name of the
directory containing the EFKGENSV.INI file.
- 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:
- abt.cnf
- hpt.ini
This file has been tailored to include the VisualAge Generator environment
variables and to point to the repository.
- abt.icx
This is a workspace/image that already has the VisualAge Generator
Developer feature loaded.
- 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.
- 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:
- Java:
C:\Program Files\IBM\VisualAge for Java\IDE\program
- Smalltalk: C:\Program Files\Vast\bin
- 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.
- Set the PATH environment variable
to include C:\LANGENSVR\cmd before the VisualAge Generator Developer
installation directory cited at the end of Step 6.
- If you are running on a Novell Netware LAN environment, set the EZERUSRID
environment variable
to the LAN user ID of the generation server.
- Reboot your system for the changes to take effect.
- Start EFKSERV from a command prompt.
- The EFKSERV program runs continuously. To stop the EFKSERV program,
press Ctrl-C or issue the EFKREQ STOP command.
- The EFKSERV program writes a log listing the generated programs.
This log file is called Gen_Server.log and is located in the
directory specified for the gen_listing_dir parameter in the
EFKGEN.INI file.
- For additional information, see the LANGEN.TXT file.
- 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.
This section describes how to set up a LAN generation client. Before
you begin, you need to fulfill the following prerequisites:
- A LAN generation server has been set up.
- You know what type of network you are using.
- You know which drive on the generation clients will be used to access the
shared directory on the generation server. All clients of a particular
LAN generation server must use the same drive for sharing the shared
directory.
- You have read and write access to the directory on the server where the
input queue is located to submit requests. The location of this
directory is defined by the value of the server_input_dir parameter
in the EFKGEN.INI file.
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:
- Install the VisualAge for Java or VisualAge Smalltalk client.
- For Windows NT, install and tailor Object REXX. See Setting up Object REXX support on Windows NT.
- Install VisualAge Generator Developer. The generation client should
use the same repository that the generation server uses.
- Map the generation server drive so that drive h: on the client
workstation points to C:\LANGENSVR on the server machine.
- Set the GENERATE_INI environment variable to point to
h:\cmd\EFKGENCL.INI.
- Modify the EFKGENCL.INI file on the generation server system as
follows:
- 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.
- 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.
- On each generation client system, specify EFKREQ for generation, as
follows:
- From the VAGen Parts Browser window, select Window then
Options.
- In the VisualAge Generator Options window, in the left pane select
Generation.
- In the right pane select the CALL EFKREQ radio button and
Apply.
- Exit from VisualAge Generator Developer and reboot your system for the
changes to take effect.
- 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.
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.