Example: Using an AppServer to Run MRP
This section shows a practical example of how to set up an AppServer to dramatically improve the performance of MRP.
To use the MRP AppServer, you need to perform three main tasks:
• Modify the ubroker.properties file for the AppServer instance.
• Configure the AppServer.
• Start and stop the AppServer as required.
See User Guide QAD Manufacturing.
Modify the Properties File
To set up an AppServer to support MRP processing, you must add a set of parameters to the Progress ubroker.properties file to identify information about the AppServer instance.
You can modify ubroker.properties in two ways:
• Manually edit the file.
• Use the Progress Explorer tool to change parameters through a graphical user interface. The Explorer tool is available only on Windows.
Progress Explorer can also be used to start and stop the AppServer, and for remote administration.
1 Choose Start|Programs|Progress|Progress Explorer Tool.
2 Choose File|Connect.
3 Specify the host name and Admin Server port of the machine you want to administer remotely.
4 Enter a valid user ID for the remote machine and a password, if required.
Configuring the AppServer
Improved MRP performance requires a single AppServer with multiple threads, which is used to execute the programs that process planning data when you run MRP. Use the following instructions to configure that AppServer.
All QAD Installations
Use this procedure to configure an AppServer instance for all QAD installations. If you have an Oracle installation, additional configuration tasks are required. See
Additional Oracle Tasks.
In the Progress example shown below, the name for the AppServer instance is mt-mrppro. However, you can use any name, as long as all references to the name are consistent.
Add an entry for the required AppServer instance to the ubroker.properties file in the DLC\properties directory. You can copy the following text into the file. Be sure to change the parameters to match your environment. Parameter changes are described after the sample text.
Note: Separate examples are provided for Progress and Oracle environments.
Progress Example
[UBroker.AS.mt-mrppro]
appserviceNameList=mt-mrppro
brokerLogFile=$WRKDIR/mt-mrppro.broker.log
controllingNameServer=NS1
initialSrvrInstance=12
maxSrvrInstance=20
minSrvrInstance=12
operatingMode=State-reset
portNumber=50000
PROPATH=/dr05/mfgpro/pro/qad:/dr05/mfgpro/pro/qad/us/bbi:
${PROPATH}${WRKDIR}
srvrLogFile=$WRKDIR/mt-mrppro.server.log
srvrMaxPort=50202
srvrMinPort=50002
srvrStartupParam=-db /dr05/mfgpro/pro/qad/db/mfgprod -ld qaddb
-znotrim -trig triggers -db /dr05/mfgpro/pro/qad/db/hlpprod -ld qadhelp -db /dr05/mfgpro/pro/qad/db/admprod -ld qadadm -d mdy
-yy 1920 -Bt 3500 -c 30 -D 100 -mmax 6000 -nb 200 -s 63 -noshvarfix
uuid=fdf73fbf039907:6ce891fc:ec7f530e95:-7eed
Oracle Example
[Environment.mt-mrpora]
ORACLE_BASE=/dr02/apps/oracle/
ORACLE_HOME=/dr02/apps/oracle/8.1.7
ORACLE_SID=mrp
[UBroker.AS.mt-mrpora]
appserviceNameList=mt-mrpora
brokerLogFile=$WRKDIR/mt-mrpora.broker.log
controllingNameServer=NS1
environment=mt-mrpora
initialSrvrInstance=12
maxSrvrInstance=20
operatingMode=State-reset
portNumber=54000
PROPATH=
.:/dr05/mfgpro/qad:/dr05/mfgpro/qad/us/bbi:${PROPATH}:${WRKDIR}
srvrLogFile=$WRKDIR/mt-mrpora.server.log
srvrMaxPort=54202
srvrMinPort=54002
srvrStartupParam=-db /dr05/mfgpro/qad/db/oraprod -RO -znotrim
-trig triggers -db /dr05/mfgpro/qad/db/mrp -dt ORACLE -U qad
-P qad -c 250 -d mdy -yy 1920 -Bt 350 -c 30 -D 100 -mmax 3000
-nb 200 -s 63 -noshvarfix
uuid=59fdf73fbf039907:6302bfc1:ec513ed2fd:-6fd7
The parameters of interest are described below. Parameters not listed should generally not be changed from the values given in the example.
Important: The first line of the entry specifies the name of the AppServer instance. If this is changed from the name in the example, be sure to change all other occurrences of this name in the other parameters.
• BrokerLogFile and srvrLogFile are the two log files for the AppServer instance. They should be appropriately named and located in a convenient directory of your choice.
• PROPATH is the Progress path used to locate code to run. This should reference the r-code directory where your QAD software was installed.
• uuid is a global unique identifier value associated with this AppServer instance. The Progress tool genuuid should be used to generate a value. This tool can be run from the command line and is found in the Progress DLC\bin directory.
Note: If you use the Progress Explorer tool to create the AppServer definition, the uuid will be generated automatically.
• appServiceNameList should match the AppServer instance name that you have chosen, which is listed in the first line of the properties entry.
• portNumber is the port number for the AppServer broker for this instance. Its value can be an arbitrary integer, as long as it does not conflict with any port assignments of other applications running on this machine, including other AppServer instances.
• srvrMinPort and srvrMaxPort specify a range of port values to use for the 4GL engines spawned by the AppServer instance. The range should be large enough to accommodate the maximum number of 4GL engines that can be spawned—specified by the maxSrvrInstance parameter—and should not have any conflicts with ports used by other applications, including other AppServer instances.
• srvrStartupParam specifies the Progress startup parameters to be used by each 4GL engine that is spawned. The specific DB, host, and service names should match the values that correspond to your
QAD database installation.
Other values should remain as specified in the examples.
• controllingNameServer specifies the Progress Name Server instance with which the AppServer broker will register its name. The Progress default is NS1.
Since the AppServer broker
mt_mrppro is used internally by the QAD software, you must use AppServer Service Maintenance (36.19.1) to define an application server connection master record. See
Defining the AppServer.
Additional Oracle Tasks
If you have an Oracle installation, you must perform the following additional task:
• Add an Environment entry like the example below to the ubroker.properties file:
[Environment.MRP_ORACLE]
ORACLE_HOME=/Oracle/OracleAppServer
ORACLE_SID=YourSystemIdentifier
ORACLE_BASE=/Oracle
Where:
• /Oracle/OracleAppServer is the directory where the Progress AppServer for Oracle has been installed; for example, /dr01/app/oracle/product/8.1.7
• YourSystemIdentifier is the Oracle system ID (SID) for your system
• /Oracle is the base Oracle directory, which contains version-specific subdirectories; for example, /dr01/app/oracle
See the Progress AppServer documentation.
Starting and Stopping the AppServers
The AppServer instance configured in the example on
here can be administered using the
asbman command (located in
DLC\bin), which can be invoked from the command line of a DOS window. Click Start|Programs|Command Prompt to launch a DOS window.The
DLC\bin directory must be in your PATH environment variable in order to run these commands; alternatively, you can change directories to the
DLC\bin directory to run them. On UNIX, these commands are located in the
DLC/bin directory, and the user must have Progress administrative privileges to execute them.
Important: Make sure that all databases to be connected to the AppServer are running before you start the AppServer.
The command usage is as follows:
• To start an AppServer instance:
asbman -i appServerInstanceName -start
• To stop an AppServer instance:
asbman -i appServerInstanceName -stop
• To check the status of an AppServer instance:
asbman -i appServerInstanceName -query
Example: To start the agents for the AppServer name used in the sample
ubroker.properties file shown on
here, type the command:
asbman -i mt-mrppro -start
After starting an AppServer, use the –query option to check its status, and do not proceed until all of the AppServers are in the available state.
For troubleshooting, verify that the databases that the AppServer connects to are running. Do this by running a Progress client session and trying to connect to the same database servers.
Note: For the AppServer instance to run properly, the Progress Name Server must be running. In turn, for the Name Server to run properly, the Progress Admin Server must be running. Although the Name Server and Admin Server are usually configured by default to start up automatically at boot time, it may be necessary to administer them manually. On Windows, these commands are located in the DLC\bin directory, and should be run from a DOS window. On UNIX, these commands are located in the DLC/bin directory, and the user must have Progress administrative privileges to execute them.
To start, stop, or query the Progress Admin Server, use the appropriate command:
proadsv -start
proadsv -stop
proadsv -query
Note: In a Windows environment, it is recommended that you use Start|Settings|Control Panel|Services to start and stop the Admin Server.
The Progress Name Server will be started automatically during the successful startup of the Admin Server. If it is necessary to start, stop, or query the Progress Name Server (assuming the default NS1 name is used for the Name Server), use the following commands:
nsman -i NS1 -start
nsman -i NS1 -stop
nsman -i NS1 -query