ContentsIndexHome
PreviousUpNext
Configuration

The AIMMS SDK Server can be configured using a configuration file.

Windows

On windows the configuration file aimmssdksrv.cfg is installed into

C:\ProgramData\AIMMS\AIMMS SDK Server

This location is also stored into the registry at

HKEY_LOCAL_MACHINE\SOFTWARE\AIMMS\AIMMS SDK Server\Config

The aimmssdksrv.cfg location can be altered by changing this registry value accordingly. 

 

Linux

On linux the configuration file is specified by the AIMMSSDK_SERVER_CONFIG variable in the upstart script (aimmssdk-server in the package root folder). The default script sets this variable to $AIMMSSDK_SERVER_LOCATION/etc/aimmssdksrv.cfg, where the AIMMSSDK_SERVER_LOCATION variable by default points to the folder where the package was extracted. 

 

Configuration File

The default configuration file contains the following two lines:

rule-folder=${ConfigFolder}/rules
listen-uri=tcp://:5621

Where the ${ConfigFolder} is a variable that takes the value of the folder where the configuration file was found. 

Other settings that can be set here are:

Key 
Description 
Default 
rule-folder 
String indicating where all the rules (.rule files) can be found. 
listen-uri 
A URI on which to listen for incoming connections. 
tcp://:5621 
listen-options 
A semicolon separated list of options that can be specified to change certain properties of the connections; primarily this can be used to specify SSL certificates and SSL connection 
 
verbose 
Boolean indicating wether extra information should be logged; typically enabled when troubleshooting. 
False 
logfile 
String indicating where the logfile should be written (in append mode). When the logconfig configuration option is set, this value will be ignored. 
Depends on OS, see Logging below 
logconfig 
String indicating a file that contains the configuration for specialized logging output; typically used for troubleshooting. For its format see Log4jXmlFormat
Empty, meaning default behavior 

 

 

Enabling SSL connections 

SSL connections between the C++/Java/C# client and the AIMMS SDK server can be established by specifying the following fields in the configuration file:

listen-uri=ssl://:5621
listen-options=PKCS12File=<path/to/pkcs12File>;PrivatePassword=<password>;NoCertify=true

 

The last 'NoCertify=true' option tells the server not to verify its peers certificates, i.e. it disables client certificate authentication, which is normal for most applications (i.e. only the clients authenticate the server certificate). Additionally we recommend enabling only the more secure encryption methods, by also specifying the following options: 

 

CipherList=ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

and

EnableWeakMethods=false

 

For the clients to connect using SSL their connect uri should be altered specifying ssl:// instead of tcp://

For more listen-options see the C++ SSL section. 

 

Logging

The AIMMS SDK Server will log all incoming connections and some startup information to a logfile. 

 

On Windows the location of this logfile is determined by retrieving the value of the registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\AIMMS\AIMMS SDK Server\Log

which by default is set to

C:\ProgramData\AIMMS\AIMMS SDK Server\aimmssdksrv.xml

by the installer. The format of this logfile is XML which can be displayed using any log4j compatible xml viewer, e.g. Log4View or LogSaw

 

On Linux the location of this logfile is specified by the AIMMSSDK_SERVER_LOG variable in the upstart script (aimmssdk-server in the package root folder). The format of this logfile is text. 

 

Both Windows and Linux can override the log-file location by adjusting their proprietary settings or by specifying one of the above configuration options.

Name 
Description 
The AIMMS SDK Server comes with a set of default rules that are used to start a specific AIMMS version  
The AIMMS SDK Server allows you to specify your own rules for matching a resource request with a specific AIMMS version to start.  
This topic is only relevant for AIMMS version 4.3 and beyond.
Providing the appropriate AIMMS images to the AIMMS SDK server is a relatively straightforward process, but it does involve several steps.

First obtain either an AIMMS PRO package or an AIMMS executable. You probably want to use the PRO packages since they are smaller. You can use any zip program to extract either the AIMMS PRO package or the AIMMS executable. A freeware program like 7-Zip is suitable for the job. For example, take the 64 bit version of AIMMS PRO 4.3.2.3: