Setting Up the JWAVE Server
 
warning
JWAVE uses an insecure protocol without authentication. This makes JWAVE insecure to use in an Internet facing configuration and would allow an attacker to execute arbitrary code on the server. If you choose to implement JWAVE in this way, you are responsible for the security of those applications that leverage JWAVE.
The JWAVE server includes the JWAVE Manager software, JWAVE class files, and PV‑WAVE. This section describes:
*Making or Modifying the Configuration Files—Describes how to remake configuration files in which the JWAVE Manager and connection information for clients and servers is stored.
*Using the JWAVE Manager—Includes startup command options and stopping the JWAVE Manager.
*Using the JWAVE Configuration Tool—Explains the features of the JWAVE Manager Configuration Tool, which allows you to configure server and client connection parameters.
*JWAVE Server Options—Describes the methods by which the JWAVE Server can communicate with clients. These methods include direct sockets, CGI, Web server, and servlet connections.
*Installing and configuring JWAVE as a Service on a Windows server
Making or Modifying the Configuration Files
Before running JWAVE, you must create the manager configuration files by running make_config from the jwave-3_6/bin directory. The make_config script creates the manager (UNIX) or manager.bat (Windows) file in your jwave-3_6/bin directory. The make_config script takes two arguments: The location of your PV-WAVE installation (RW_DIR) and the directory containing your Java executable. If either of those change, you must re-run make_config.
Configuration Files
When you installed the JWAVE server, the following three files were created automatically. The first file, manager, is the JWAVE Manager startup script, which is discussed in the previous section. The other files are configuration files that contain information required for JWAVE to run properly.
*RW_DIR/jwave-3_6/bin/manager[.bat]
A script (batch file) that controls the JWAVE Manager.
*RW_DIR/jwave-3_6/bin/jwave.cfg
A file that contains configuration information for the JWAVE server.
*RW_DIR/classes/JwaveConnectInfo.jar
A file that describes to the JWAVE clients how to connect to the JWAVE server.
*RW_DIR/jwave-3_6/bin/jwave_http.cfg
JWAVE Web server configuration. Lets you specify URL-to-directory maps, MIME types, and so on.
Remaking the Configuration Files
If you change the location of either the runtime PV‑WAVE installation (RW_DIR) or the Java Runtime Environment (JRE) (JAVA_BIN_DIR), you must do the following:
1. Shut down JWAVE Manager.
2. Run the make_config script, as follows:
(UNIX) cd RW_DIR/jwave-3_6/bin
manager shutdown
make_config <RW_DIR> <JAVA_BIN_DIR>
(WIN) cd RW_DIR\jwave-3_6\bin
manager shutdown
make_config <RW_DIR> <JAVA_BIN_DIR>
where RW_DIR is the main Rogue Wave installation directory and JAVA_BIN_DIR is the JRE directory.
The make_config script:
*makes backup copies of the manager[.bat] and jwave.cfg files
*creates a new manager[.bat] script that contains only the RW_DIR and JAVA_BIN_DIR property definitions
*resets all other JWAVE configuration properties in the jwave.cfg to their built-in default values
If you had customized the properties in the old jwave.cfg file, you may copy those definitions from the jwave_cfg.bak file into the new jwave.cfg file, or use the JWAVE Configuration Tool to modify the new jwave.cfg file (described in "Using the JWAVE Configuration Tool").
3. Restart the JWAVE manager:
(UNIX) cd RW_DIR/jwave-3_6/bin
manager start
(WIN) cd RW_DIR\jwave-3_6\bin
manager start
where RW_DIR is the main Rogue Wave installation directory.
 
TIP
We recommend that you start and stop the JWAVE Manager using the JWAVE Service (Starting the JWAVE Manager).
Using the JWAVE Manager
The JWAVE Manager controls communication between JWAVE clients and server. JWAVE Manager is a process that runs on the server and listens for client connections. When a connection is made, the JWAVE Manager takes an appropriate action, such as starting a PV‑WAVE session.
There are several methods by which client applications can communicate with the JWAVE Manager. These methods are described in "JWAVE Server Options".
This section explains how to:
*Use the manager command.
*Shut down the JWAVE Manager
*Test the default server configuration
 
note
Client applications cannot contact the JWAVE server unless the JWAVE Manager is running.
JWAVE Manager Startup Command Options
To display the options available for the JWAVE Manager startup command:
(UNIX) cd RW_DIR/jwave-3_6/bin
manager
(WIN) cd RW_DIR\jwave-3_6\bin
manager
where RW_DIR is the main Rogue Wave installation directory.
The manager command takes one argument and, in most cases, an optional parameter. Here is the list of arguments and parameters used with the manager command.
Usage
manager argument [parameter]
Arguments and Optional Parameters
manager start [path_to_jwave.cfg]—Starts the JWAVE Manager daemon. Enter the path to the jwave.cfg file if it is not located in the same directory as the manager command.
manager ping—Tests to see if the JWAVE Manager is running.
manager config [path_to_jwave.cfg]Opens the JWAVE Manager Configuration tool. Enter the path to the jwave.cfg file if it is not located in the same directory as the manager command.
manager session_info—Reports session information (number of active sessions, unused pool sessions, and persistent sessions).
manager shutdown [password]—Shuts down the JWAVE Manager.
Shutting Down the JWAVE Manager
If you started a JWAVE Service through the Service’s dialog box, use the Service’s dialog box to shut it down instead of using the manager shutdown command.
To shut down the JWAVE Manager, enter the following command:
(UNIX) cd RW_DIR/jwave-3_6/bin
manager shutdown [password]
(WIN) cd RW_DIR\jwave-3_6\bin
manager shutdown [password]
where RW_DIR is the main Rogue Wave installation directory and a password is required if a password was defined during server configuration (see JWAVE_SHUTDOWN in section "JWAVE Manager Configuration Properties").
The window in which you typed the shutdown command displays the following message:
SHUTDOWN was successful.
The window in which the JWAVE Manager was started displays messages as well. These messages may vary depending on how the JWAVE Manager is configured. Here is a sample of such messages:
JWaveTcpipServer shutting down
JWaveHttpServer shutting down
JWaveManager shutting down
Shutting down all WaveSessions
[additional information on PV-WAVE sessions...]
Wave closed, releasing other resources...
 
note
Since manager shutdown can be executed from any machine that has client access (even across the Web), it is recommended that a password be set for the JWAVE server. Assignment of a password for shutdown will prevent accidental shutdown of the JWAVE Manager by unauthorized users. (The instructions for assigning a password for shutdown are given in "Using the JWAVE Configuration Tool").
JWAVE Server Options
The JWAVE Manager can be contacted directly through either sockets or HTTP.
With socket connections, the client connects to the JWAVE Manager either: a) through a direct socket connection, or b) through a CGI program that then hands a socket connection to the server.
With HTTP connections, the client connects to the JWAVE Manager either: a) through the JWAVE Server, or b) through the JWAVE Servlet.
Direct Socket Connection Option
To configure the JWAVE Manager to communicate with clients through direct sockets, do the following:
*In the Client Connection Info dialog box, select the Use Socket Connection option. Also, in this dialog box, set the Port and Host Name fields.
*In the JWAVE Manager Configuration Properties dialog box, set the variable MANAGER_START_TCPIP to TRUE.
 
note
To configure the JWAVE Manager to accept both socket/CGI and HTTP connections, set both MANAGER_START_TCPIP and MANAGER_START_HTTP to TRUE.
CGI Connection Method
To configure the JWAVE Manager to communicate with clients through a CGI program, do the following:
*In the Client Connection Info dialog box, select the Use CGI Connection option. Also, in this dialog box, set the JWaveCGI URL field.
*In the JWAVE Manager Configuration Properties dialog box, set the variable MANAGER_START_TCPIP to TRUE.
*Install RW_DIR/jwave-3_6/bin/bin.<arch>/JWaveCGI[.exe] in your Web server’s CGI area, where <arch> is the architecture of your system (such as solaris or i386nt), and [.exe] is a filename extension found on Windows systems only.
Using the JWAVE Web Server
To configure the JWAVE Manager to run as a Web Server, do the following:
*In the Client Connection Info dialog box, select the Use HTTP Connection option.
*In the JWAVE Manager Configuration Properties dialog box, set the variable MANAGER_START_HTTP to TRUE.
*Edit the Web Server configuration file, which contains general settings, directory mappings, and MIME type mappings that you may wish to change. The configuration file is located in:
RW_DIR/jwave-3_6/bin/jwave_http.cfg
*This file is described in Appendix D: HTTP Configuration File.
Using the JWAVE Servlet
The JWAVE Servlet can be used to replace the JWaveManager program. To configure the JWAVE Manager to run through the JWAVE Servlet, do the following:
*Install com.visualnumerics.jserver.JWaveServlet onto your Web server (such as JavaWeb Server).
*Set the RW_DIR parameter for the servlet to point to the Rogue Wave installation directory (RW_DIR).
*In the Client Connection Info dialog box, select Use HTTP Connection.
 
note
Once you have installed the JWAVE Servlet, you can test the URL by pointing your Web browser there. For example, type
http://myserver/servlet/JWave
in the browser’s URL field. The browser will display a message from the servlet saying “JWAVE Servlet is ready”. Use this same URL in the client configuration HTTP connection field.
Do not use the manager shutdown command with the JWAVE Servlet. Instead, use the Web server’s servlet administration tools to shut down the server.
Using the JWAVE Configuration Tool
The JWAVE Configuration Tool has two windows:
*Manager Properties (described on Manager Properties)
*Client Connection Info (described on Client Connection Info)
General help for the JWAVE Configuration Tool is available from the Help menu.
Starting the JWAVE Configuration Tool
To open the JWAVE Configuration Tool on the JWAVE server, shut down the JWAVE Manager as explained in "Shutting Down the JWAVE Manager", then start the tool:
(UNIX) cd RW_DIR/jwave-3_6/bin
manager shutdown
manager config
(WIN) cd RW_DIR\jwave-3_6\bin
manager shutdown
manager config
where RW_DIR is the main Rogue Wave installation directory.
Manager Properties
Your JWAVE server’s current configuration is displayed in the Manager Properties list.
Use the Manager Properties window in the JWAVE Configuration Tool (Figure 8-2: JWAVE Configuration Tool) to:
*change the defaults of JWAVE server configuration properties
*set up definitions for the log file for JWAVE Manager and PV‑WAVE sessions
*define custom properties for setting environment variables on the JWAVE server
 
note
On 64-bit systems, to start the 64-bit version of PV-WAVE (if available), set the WAVE64 environment variable to 1.
 
Figure 8-2: JWAVE Configuration Tool
 
note
To get help for a specific parameter, select the parameter, then click Parameter Help. You can also refer to "JWAVE Manager Configuration Properties" for an description of each property.
Type Column—This column may contain any of the following codes that describe the parameter’s type:
*R—Read Only. Parameters with this type are displayed for information purposes only and their values cannot be changed in the JWAVE Configuration Tool.
*D—Indicates that the parameter’s current value is the default value.
*U—Indicates a parameter defined by a user for passing environment variables to PV‑WAVE sessions. This type of parameter is not used by JWAVE Manager.
*$—Indicates that the parameter can be referenced by name in other parameters. More information on this type of parameter is available in Parameter Help.
Parameter Column—This column lists the names of the parameters currently defined.
= Value Column—This column lists the values of the parameters currently defined. These parameters are described in "JWAVE Manager Configuration Properties".
Value Field—This field allows you to enter a value for any parameter that does not have the R type in the Type column.
New Parameter—Displays the Define New Parameter dialog box for adding a new parameter (see "Adding Properties").
Delete—Removes the selected user-defined parameter from the list of parameters.
Set to Default—Sets the value of selected parameter to its default value.
Set—Sets the value of the selected parameter to the value entered in the Value field. (Pressing the Enter key in the Value field is equivalent to clicking Set.)
Parameter Help—Displays the Help on Parameters dialog, which contains information about the selected parameter.
Save Configuration—Saves the configuration to the jwave.cfg file (path shown to the left of the button).
If the JWAVE Manager is running when you try to save the configuration by clicking Save Configuration, a message displays reminding you to shut down JWAVE Manager. Shut down the Manager and then click Save Configuration again. (See "Shutting Down the JWAVE Manager".)
Modifying a Property
To change a configuration property:
1. Shut down the JWAVE Manager.
2. Start the JWAVE Configuration Tool (described on Using the JWAVE Configuration Tool).
3. If necessary, click Manager Properties to display the list of configuration parameters.
4. Click the parameter you wish to change.
5. Type the new value for the property in the Value field.
6. Click Set or press Enter. The new value for the parameter appears in the = Value list.
7. Choose Save Configuration to save your changes. The changes are saved in the jwave.cfg file.
Resetting a Single Property to Its Default
To reset the default value of a previously modified property:
1. Shut down the JWAVE Manager.
2. Start the JWAVE Configuration Tool (described on Using the JWAVE Configuration Tool).
3. If necessary, click Manager Properties to display the list of configuration parameters.
4. Click the parameter you wish to set to its default value.
5. Click Set to Default. A letter D appears next to the parameter in the Type list. The default value for the parameter appears in the = Value list.
6. Choose Save Configuration to save your changes. The changes are saved in the jwave.cfg file.
Adding Properties
To add a new property, such as an environment variable, to the jwave.cfg file:
1. Shut down the JWAVE Manager.
2. Start the JWAVE Configuration Tool (described on Using the JWAVE Configuration Tool).
3. If necessary, click Manager Properties to display the list of configuration parameters.
4. Click New Parameter. The Define New Parameter dialog box appears.
5. Type the name for the new parameter in the Name field. For example: mydata
6. Type the new parameter’s definition in the Value field. For example:   /user/data/mydata
7. Click Set. The new parameter appears in the Parameter list of the Manager Properties window. U appears next to the parameter in the Type list.
8. Click Save Configuration to save your changes. The changes are saved in the jwave.cfg file.
JWAVE Manager Configuration Properties
The predefined JWAVE Manager properties that you can set or modify in the JWAVE Configuration Tool are described in this section.
 
note
JWAVE starts PV-WAVE in a clean environment, with only those environment variables specified in the Manager Properties of the JWAVE Configuration Tool. If you need to set certain environment variables to run PV-WAVE, such as LD_LIBRARY_PATH, you need to add them to the Manager Properties using the JWAVE Configuration Tool.
 
note
Some properties (usually directories) can be referenced by name in other properties. For example, the default for the property WRAPPER_PATH is $JWAVE_DIR/lib/user and the property JWAVE_DIR is an “expandable” property. Such properties are marked with a $ in the descriptions that follow.
ALLOWED_WRAPPERS—For security, you can specify a list of regular expressions to limit the wrapper functions that the PV‑WAVE session will execute. Leave this field blank (empty string) to allow any valid JWAVE function. Separate multiple expressions with a comma (,). (Default: [null])
HTTP_CONFIG—Specifies the HTTP configuration file. (Default:
RW_DIR/jwave/bin/jwave_http.cfg)
HTTP_PORT $—Specifies the port number used by the JWAVE Web server. (Default: 6580).
 
note
The normal default for Web servers is port 80; however, you must be an administrator or super user to start a server on port numbers less than 1024.
JWAVE_DIR $—Read-only. Specifies the directory where JWAVE is installed. (Default: RW_DIR/jwave‑3_6)
JWAVE_SHUTDOWN—Specifies the shutdown procedure for the PV‑WAVE session. You can use this procedure to do site-specific shutdown after every PV‑WAVE session. (Default: JWAVE_SHUTDOWN)
JWAVE_STARTUP—Specifies the startup procedure for the PV‑WAVE session. You can use this procedure to do site-specific initialization for every PV‑WAVE session. (Default: JWAVE_START)
MANAGER_LOG $—Specifies the JWAVE Manager log file location, filename, and file continuation instructions. Leave this field blank (empty string) to discard logging. Use TERMINAL to have the logs go to the JWAVE Manager's terminal (stdout). Prefix the file with a “+” to append to the log when the manager is restarted (otherwise a new file will be created). (Default: TERMINAL)
MANAGER_START_HTTP—If set to TRUE, the command:
manager start
configures the JWAVE Manager to run the JWAVE Web Server. Clients can connect to the server using an HTTP connection.
MANAGER_START_TCPIP—If set to TRUE, the command:
manager start
configures the JWAVE Manager to accept direct socket connections.
MAX_SESSIONSSpecifies the maximum number of simultaneous PV‑WAVE sessions the JWAVE Manager will allow. Note that the session limit is also controlled by licensing, but this parameter may be useful for server performance tuning. (Default: 100)
PASSWORD—Specifies the server password for remote access to configuration information and JWAVE Manager shutdown. (Default: [null])
PATH_BEFORE_SYS—Path directories that need to go before the Microsoft system directories.
PATH_AFTER_SYS—Path directories that need to go after the Microsoft system directories. Just set PATH_AFTER_SYS to include the bin directory of the Oracle installation, for example, C:\oracle\ora81\bin, and any other directories needed by Oracle (in our experience the bin directory is the only one needed).
PERSISTENT_SESSION_IDS—Specifies a list of PV‑WAVE session ID numbers (positive). The sessions do not time out as do regular sessions.
PING_ATTEMPTS—After a PV‑WAVE session is started, the JWAVE Manager attempts to contact (ping) it. This property specifies the number of ping attempts that will be made before the session is considered dead (and an error exception is returned to the client). (Default: 5)
PING_INTERVAL—Specifies the delay (in milliseconds) between PING_ATTEMPTS. (Default: 500)
PORT $—Specifies the socket port number where the JWAVE Manager listens for client connections. Usually just a number, but may also be specified as hostname:port_number if you have multiple network addresses and want the JWAVE Manager to listen on only one. (Default: 6500)
 
note
The port number must be 1024 to contact JWAVE Manager via CGI (the Web).
PVWAVE_LM_LOGFILE—The name and full path to the file in which to log your PV-WAVE sessions for later analysis. See License monitoring details in the PV-WAVE Programmer Guide for more details. Defaults to <RW_DIR>/license/license.pvwave.log.
PVWAVE_LOG_LM—If set to 1, enables logging of PV-WAVE sessions for later analysis. See License monitoring details in the PV-WAVE Programmer Guide for more details. Defaults to 0 (logging disabled).
SERVER_IP—The public IP address of the JWAVE server. Setting this variable to the public IP address provided by your cloud service provider allows JWAVE to determine the correct machine address when running in cloud-based configurations, it is required for these configurations. For all configurations, setting this variable allows JWAVE additional options when attempting to obtain the correct machine address. Default is a blank string.
SESSION_ERR_LOG—Specifies the log file location, filename, and file continuation instructions for ERROR output from individual PV‑WAVE sessions. A “#” character in the parameter will be replaced by a session ID number. If there is no “#”, all sessions log to the same file. Leave this field blank (empty string) to discard logging. Use TERMINAL to have the logs go to the JWAVE Manager's terminal (stdout). (Default: $MANAGER_LOG)
SESSION_IDLE_CHECK_INTERVAL—Specifies how often (in minutes) to check for idle (unused) PV‑WAVE sessions. (Default: 1)
SESSION_IDLE_TIMEOUT—Specifies how long (in minutes) idle (unused) PV‑WAVE sessions will remain alive. After this time, idle sessions are closed. If a session is timed out, it is no longer available to its client. (Default: 5)
SESSION_OUT_LOG—Specifies the log file location, filename, and file continuation instructions for output from individual PV‑WAVE sessions. A “#” character in the parameter will be replaced by a session ID number. If there is no “#”, all sessions log to the same file. Leave this field blank (empty string) to discard logging. Use TERMINAL to have the logs go to the JWAVE Manager's terminal (stdout). (Default: $MANAGER_LOG)
SESSION_POOL_SIZE—Sets the number of PV‑WAVE sessions to pre-start. If there is a PV‑WAVE session in the pool, a client’s first contact becomes faster because it will not have to wait for the PV‑WAVE process to start up. These are only used for auto-assigned sessions.
SESSION_START_TIMEOUT—Specifies the maximum time (in seconds) to wait for a PV‑WAVE session to start. Sessions that take longer will be killed and an error exception will be returned to the client. You may wish to increase this value on slow or heavily loaded servers. (Default: 15)
SOCKET_BACKLOG—Specifies the maximum queue length (number of concurrent connections) for incoming connection requests (used by the ServerSocket class). If a connection request arrives when the queue is full, the connection is refused. (Default: 50)
SYSTEMROOT $—Windows only. Required for servers running on Windows. Set this property to your Windows directory. (Default: C:\Windows or the value of SYSTEMROOT at install time)
VERBOSE—Specifies logging level. Valid values are 0 (silent) to 3 (verbose). (Default: 2)
RW_DIR $—Read-only. Required. The value is set by the manager[.bat] script.
WAVE_DIR $—Read-only. Specifies the directory where PV‑WAVE is installed. (Default: $RW_DIR/wave)
WRAPPER_PATH—Specifies directories that contain your custom JWAVE wrapper functions (.cpr files). You can separate multiple directories on Windows with a ; (semi-colon) character, on UNIX with a : (colon) character. The standard PV‑WAVE and JWAVE lib directories are automatically included. (Default: $JWAVE_DIR/lib/user)    
Client Connection Info
You can use the Client Connection Info window in the JWAVE Configuration Tool (Figure 8-3: Client Connection Info in JWAVE Configuration Tool) to:
*define the port number where the JWAVE Manager is running
*define the host name of the machine where JWAVE Manager is running
*define the URL (as seen through your Web server) of the JWaveCGI executable
*define a URL to the JWAVE Servlet or the JWAVE Web Server
*select the means by which clients contact JWAVE Manager (direct Socket, JWaveCGI URL, or HTTP connection URL)
 
Figure 8-3: Client Connection Info in JWAVE Configuration Tool
The following rules apply to the fields in the Client Connection Info window of the JWAVE Configuration Tool:
*You must fill in either Port or Host Name (it is preferred that both fields be filled in).
*You must select Use Socket Connection, Use HTTP Connection, Use CGI Connection (or any combination of the three).
*If Use CGI Connection is selected, JWaveCGI URL must be filled in.
*If Use HTTP Connection is selected, Jwave HTTP URL must be filled in.
Port—Specifies the port number where the JWAVE Manager is running. (See also the PORT parameter in the Manager Properties list of the JWAVE Configuration Tool and its description in "JWAVE Manager Configuration Properties").
Host NameSpecifies the name of the machine where the JWAVE Manager is running. If this field is blank or set to localhost, clients will only be able to connect (via sockets) when running on the same machine where the JWAVE Manager is running.
JWave HTTP URL—Specifies the URL to the Web server or JWAVE Servlet that is associated with the JWAVE Manager. It can be an http or https protocol URL.
JWaveCGI URL—Specifies the URL to the CGI program that is associated with the JWAVE Manager. It can be an http or https protocol URL. If you want clients using CGI to contact a different JWAVE Manager than the one defined in the Port and Host Name fields, append a question mark and that information to the end of the URL. For example:
http://webhost/cgi-bin/JWaveCGI?manager_host:6501
(Default: http://<SERVER-NAME>/cgi-bin/JWaveCGI[.exe])
 
note
The https protocol uses the Secure Socket Layer (SSL) to connect to the server. If you specify https, both the client and server must support https. Most browsers and Web servers do support https; however, the Java Development Kit (JDK) does not. Therefore, if you save the client configuration with an https protocol, you will always receive a message that says “unable to test https”.
Use Socket Connection—When checked, specifies that clients will be able to contact the JWAVE Manager using direct Socket connections.
Use HTTP Connection—When checked, specifies that clients will be able to contact the JWAVE Manager as a Web server or servlet.
Use CGI Connection—When checked, specifies that clients will be able to contact the JWAVE Manager using the JWaveCGI URL.
Use Compression—When checked, specifies that the data stream be compressed. Use compression if you intend to send very large datasets. Compression saves network time in transmission of the data, but costs some CPU time for compression and decompression on the client and server.
Save ConfigurationClicking this button saves the configuration to the JWaveConnectInfo.jar file (path shown to the left of the button).
 
note
The client checks the selections Use Socket Connection, Use HTTP Connection, and Use CGI Connection in the order they are listed: 1) Socket, 2) HTTP, 3) CGI. Normally, we recommend that you only choose one method. The client-side getConnection method is optimized to be faster for the initial connection if only one method is checked.
If you wish to establish a secondary or “fallback” connection, check more than one connection type. For example, if you want clients to normally connect through HTTP protocol, but you want to use CGI if the HTTP connection is inoperative, then check both the HTTP and CGI connection methods.
If you wish to establish a connection order other than the one that is available in the dialog box (Socket, HTTP, CGI), then you need to edit the file:
RW_DIR/classes/JWaveConnectInfo.jar
For information on editing this file, refer to the following file:
RW_DIR/classes/JWaveConnectInfo.txt
Installing JWAVE Manager as Service on Windows
The JWAVE Manager can be installed and run as a Service on a Windows server. Installing JWAVE Manager as a Windows Service allows you to:
*run the JWAVE Manager as a background process
*keep the JWAVE Manager running when there are no interactively logged-in users
*shut down the JWAVE Manager by stopping the JWAVE Service
Installing JWAVE Service
The JWAVE Service executable is installed with the JWAVE Server installation. To install the JWAVE Service on a Windows server:
1. Log in with Administrator or Domain Administrator privilege levels.
2. Type:
RW_DIR\jwave-3_6\bin\bin.i386nt\jwaveservice ‑install 
where RW_DIR is the main Rogue Wave installation directory.
Configuring JWAVE Service
To configure the JWAVE Service:
1. In the Control Panel, double-click the Administrative Tools icon. From the Administrative Tools list, double-click on the Services icon. The Services window appears as shown in Figure 8-4: Services Window.
 
Figure 8-4: Services Window
2. Double-click on the JWAVE Service. The Service window appears as shown in Figure 8-5: Service Window.
 
Figure 8-5: Service Window
3. In the Service window, set the Startup Type to Automatic. This causes the JWAVE Manager to run as a background process and keep running even when there are no interactively logged-in users.
4. By default, the JWAVE Service runs under the Local System account which has no access to network resources. If you need the account that runs the JWAVE Service to have access to network resources (for example, if your JDK is installed on a network drive), change the default user to a user with more privileges.
5. Click OK in the Service window to close it and accept your changes.
6. From the Action menu, Start to start up the JWAVE Manager in the background.
Stopping the JWAVE Service
If you started JWAVE Manager as a Service, it is recommended you use the Services window to stop the JWAVE Service. When the JWAVE Service is stopped, it will issue a shutdown command using the password from the jwave.cfg file, if a password has been defined.
To shut down JWAVE Manager running as a Service:
1. In the Control Panel, double-click the Administrative Tools icon. From the Administrative Tools list, double-click on the Services icon. The Services window appears (see Figure 8-4: Services Window).
2. Select JWAVE Service.
3. Click Stop.
4. Click Close.
Starting and Stopping JWAVE Service from Command Line
The JWAVE Service can be started and stopped from the command line using the net command after installing and configuring the Service as described above.
To start the JWAVE Service from the command line:
net start jwaveservice
To stop the JWAVE Service from the command line:
net stop jwaveservice
Removing JWAVE Service
The JWAVE Service can be removed from a Windows server when you need to install a JWAVE upgrade or move the Service to another server.
To remove the JWAVE Service from your Windows server:
1. Log in with the same privileges used to install the Service on the JWAVE server, as explained in "Installing JWAVE Service".
2. Stop the Service.
3. Type:
RW_DIR\jwave-3_6\bin\bin.i386nt\jwaveservice ‑remove
where RW_DIR is the main Rogue Wave installation directory.
Cloud Computing
JWAVE 3.6 has been updated to support cloud based computing.
Once the server has been set up with an OS and any additional software you need, you must modify the security settings to open the required ports for the JWAVE server.
Modify the following security settings:
*For inbound traffic:
*Open the HTTP default port (80).
*Open ports 6500 (the JWAVE default port for socket connections) and 6580 (the JWAVE default HTTP port) for inbound TCP connections.
*For outbound traffic:
*Open all ports (0-65535) to all traffic.
*Take note of the public IP address specified for your server, you need to add this to the SERVER_IP setting in the JWAVE configuration on the Manager Properties page when running manager config.