Products » mBooster » Technical Support » mBooster documentation » Ch4-mBooster Remote Access Server User Guide
Note: mBooster Remote Access Server is not available in the evaluation version.
mBooster now contains the mBooster Remote Access Server and the companion mBooster Remote Access Client. The combination of mBooster Remote Access Server and mBooster Remote Client provides an almost-transparent bridge from a remote location to a local installation of the mBooster J2ME Optimization Suite. There is now also the ability to support remote execution of the stand-alone mBoosterZip tool installed with the mBooster J2ME Optimization Suite.
Here are some typical use cases for an mBooster Remote Access Server:
| Responsibility as an operator of an mBooster Remote Access Server As per standard mBooster J2ME Optimization Suite licensing terms, as an operator of an mBooster Remote Access Server you are responsible for the consequences of authorized and unauthorized remote access. Please review your mBooster J2ME Optimization Suite license for details. Innaworks recommends you establish procedures to control and review access rights, and to prevent unauthorized access. |
As part of the mBooster J2ME Optimization Suite installation process, mBooster Remote Access Server is installed into the mBooster_installation_directory\mBoosterRemoteAccessServer directory.
mBooster Remote Access Server is designed to work with most network firewall configurations. If the mBooster Remote Access Server is behind the firewall or network address translation (NAT) it may be necessary to modify the configuration of the the network firewall. Typically this involves creating a pinhole for in-bound TCP to the specified port. Please contact your network adminstrator.
If the firewall is configured with no network address translation (NAT) and in-bound TCP port 80 traffic allowed, it may be possible to set up the mBooster Remote Access Server with no firewall reconfiguration. You could try configuring the mBooster Remote Access Server with SERVER.PORT=80. Please note that this technique only works with some firewall configurations.
Like any other Java program mBooster Remote Access Server can be run as an Windows NT Service. This is recommended if you intend to operate an mBooster Remote Access Server on a permanent basis. To run mBooster Remote Access Server as an Windows NT Service, it is necessary to install a NT Service Wrapper, such as Java Service Wrapper
.
mBooster Remote Access Server is a command line application. mBooster Remote Access Server takes its execution parameters (properties) from the properties file specified as the first parameter in the command line.
java -jar mBoosterRemoteAccessServer.jar server.properties
In this example, mBooster Remote Access Server is run with properties specified in server.properties
The following is an example properties file. Please see Properties for a detailed explanation of each property.
## The base directory SERVER.BASE.DIR = C:/mBoosterServer ## SERVER.PORT defaults to 1198 if not set SERVER.PORT = 1198 ## The external IP address - i.e. mapped IP address visible to Remote Access Client SERVER.EXTERNAL.IP = 201.68.92.230 ## SERVER.EXTERNAL.PORT defaults to SERVER.PORT if not set SERVER.EXTERNAL.PORT = 1198 ## Case sensitive usernames and passwords in plain text. USER.1 = JohnSmith:17Hy13l1lK USER.6= SueSmith:101L19pn USER.43 = LizSmith:Pi180L910 ## Defines what versions of mBooster are supported, and the .EXE path of each MBOOSTER.VERSION.MAPPING.1 = 2.5:C:/innaworks/mBooster-2-5/mBooster.exe MBOOSTER.VERSION.MAPPING.2 = 2.6.4:C:/innaworks/mBooster-2-6-4/mBooster.exe MBOOSTER.VERSION.MAPPING.3 = 2.6:C:/innaworks/mBooster-2-6/mBooster.exe ## Defines versions of mBoosterZIP that are supported, and the .EXE path of each MBOOSTERZIP.VERSION.MAPPING.1 = 2.6.4:C:/innaworks/mBooster-2-6-4/mBoosterZip.exe ## Exe paths - when not specified the client will receive an error ## if they attempt a build which requires one. 7ZIP.EXE.PATH = C:/program files/7-zip/7z.exe PREVERIFIER.EXE.PATH = C:/java/Series_60_MIDP_SDK_2_1/bin/preverify.exe ## Specify the caching paramters CACHE.ENABLED = ON CACHE.PATH = C:/mBoosterServer/mbooster-cache CACHE.SIZE.LIMIT = -1
This section specifies features and behavior that would be of interest to the administrator of the mBooster Remote Access Server.
mBooster Remote Access Server has the following directory structure with the base directory specified by the property SERVER.BASE.DIR
.
base_directory
— session: base directory for session subdirectories
— — session id: each session has its subdirectory
— — — input: input application and resource JAR files, together with properties file
— — — output: outpur JAR file, and session log file
— user: base directory for user specific information
— — — user name: each user has its subdirectory
— — — — lib: base directory for caching library JAR files specific to each user
— common: base directory for information common to all users
— — — lib: Library JAR files common to all users
— logs: base directory for logs for all users
Library JAR files in base_directory\common\lib are available to all remote users, so that they do not need to upload their own copy of the standard library JARs.
To populate this directory, you cannot directly copy the library JAR files from a J2ME SDK, as a naming convention is required. Instead you should copy or move JAR files without renaming from base_directory\user_username_\lib to base_directory\common\lib after a user has uploaded a suitable library JAR.
mBooster Remote Access Server keeps a set of logs in the base_directory\logs directory. In addition it keeps a complete audit trail for each remote session in the base_directory\session directory.
In the interest of providing a complete audit trail, mBooster Remote Access Server keeps all the files associated with each remote session, including the input application JAR files, properties file and the output JAR file together with the session log file if requested by the remote user.
The administrator of the mBooster Remote Access Server is expected to archive or delete old session sub-directories in the base_directory\session directory. It is recommended to perform this through a script.
This set of properties specifies the behavior of mBooster Remote Access Server.
Function:
This property specifies the path of the mBooster Remote Access Server base directory. Please see Directory structure for details. This path does not have to be within the mBooster J2ME optimization suite directory.
Note: Please note forward slashes should be used in place of backward slashes
Example:
SERVER.BASE.DIR=Z:/mBoosterServer
Function:
This property specifies the TCP/IP port number to listen on.
Valid port number is 1 to 65535. Default value is 1198.
Example:
SERVER.PORT=80
Function:
This property specifies the external IP address of the mBooster Remote Access Server, visible to the mBooster Remote Access Clients. If the network firewall performs network address translation (NAT), it is most likely that the external IP address would be different from the local IP address.
Example:
SERVER.EXTERNAL.IP=206.1.27.93
Function:
This property specifies the TCP/IP port number of the mBooster Remote Access Server, visible to the mBooster Remote Access Clients. If the network firewall is configured to do port mapping, the external port number may be different from the local port number.
Valid port number is 1 to 65535. Default value is the value of SERVER.PORT
.
Example:
SERVER.EXTERNAL.PORT=1345
Function:
This property specifies a limit to the size of files that a client can upload to the server as inputs. Any input larger than this limit will be rejected by the server. This limit can be specified in bytes, kilobytes or megabytes by entering the value as a number followed by a suffix: blank for bytes, k/K for kilobytes, m/M for megabytes. E.g. 2000 = 2000 bytes, 2000K = 2000 kB, 2000M = 2000 MB
A valid upload limit is any number greater than 0. The default value is 4M (4MB).
Note: For mBoosterZip builds, the total size of the input files when compressed with normal zip methods must fall under this limit.
Example:
SERVER.MAX.UPLOAD.SIZE=16M
Function:
This property specifies the maximum number of mBooster builds that the server can execute simultaneously. mBooster itself is purely single threaded and so on a system with multiple CPUs or CPU cores, multiple builds can be executed concurrently without significant performance degradation.
The default value is 1 and must be less than 16
.
Note: Concurrent builds of mBooster will each consume and compete for system memory and so the amount of physical memory available per session must be considered. By default each build will consume up to 512MB memory, but the memory used by mBooster can be limited through a special environment variable - please see this section: Controlling memory use.
MBooster's performance will become very degraded when it is forced to use virtual memory, and so the heaplimit value as discussed here should be matched to the MAX.CONCURRENT.SESSION value, and amount of physical memory (RAM) in the system.
For example:
Example:
MAX.CONCURRENT.SESSION=2
Function:
Each of these properties for <N> = 1 .. 99 specify a remote user and its password. The form of each property should be a username, followed by a colon, followed by the password. The case-sensitive username must not be blank. The case-sensitive password must be at least 5 characters long, composed of alphanumeric characters.
Example:
USER.41=JohnSmith:8Jk16sosKla
Function:
Each of these properties for <N> = 1 .. 99 specify a version of mBooster and the corresponding .EXE path. The form of each property should be a version string, followed by a colon, followed by the EXE path.
When a client submits a build to the remote server, the version of the client will be used to look up in this mapping to identify what version of mBooster should be run. At least one version must be supplied to start the server.
Example:
MBOOSTER.VERSION.MAPPING.1 = 2.5.2:C:/mBooster-2-5-2/mBooster.exe
Function:
As above, but for the mBooster ZIP compression tool instead -
Each of these properties for <N> = 1 .. 99 specify a version of mBoosterZip and the corresponding .EXE path. The form of each property should be a version string, followed by a colon, followed by the EXE path.
When a client submits a build to the remote server, the version of the client will be used to look up in this mapping to identify what version of mBoosterZip should be run. You do not need to supply any versions of mBoosterZip if you do not wish to support remote execution of this tool.
Example:
MBOOSTERZIP.VERSION.MAPPING.1 = 2.6.4:C:/mBooster-2-6-4/mBooster.exe
Function:
When set to ON, mBooster Remote Access Server will cache the intermediate results to speed up future executions, if the remote session already has CACHE.ENABLED set to ON.
Valid values are ON and OFF. The default value is ON
.
Example:
CACHE.ENABLED=OFF
Function:
When CACHE.ENABLED is set to ON, this property specifies the path of the mBooster Remote Access Server cache directory.
Note: Please note forward slashes should be used in place of backward slashes
Example:
CACHE.PATH=Z:/mBooster_cache
Function:
When CACHE.ENABLED is set to ON, this property specifies the size of the cache in MB. Specifically if the cache exceeds the size specified, the oldest entries in the cache will be removed.
Valid values are -1, 0, and positive integers.
When set to -1, there is no cache size limit.
When set to 0, all entries in the cache will be removed whenever the cache is cleaned up.
The default value is 200 (MB)
Example:
CACHE.SIZE.LIMIT=-1
Function:
For the server to support clients that set PREVERIFIER.METHOD to EXTERNAL, the value of this property must point to the location of Sun's preverifier, or an equivalent executable.
Note: Please note forward slashes should be used in place of backward slashes
Example:
PREVERIFIER.EXE.PATH=C:/java/WTK21/bin/preverify.exe
Function:
For the server to support clients that set JAR.METHOD to 7ZIP, the value of this property must point to the location of the 7ZIP executable.
Note: Please note forward slashes should be used in place of backward slashes
Example:
7ZIP.EXE.PATH=C:/program files/7-zip/7za.exe