Introduction

This article explains how to manually install a SystemWeaver Server on Microsoft Windows. The following steps are covered:

  • Hardware and Software Requirements
  • Downloading the Software
  • Installing the Server
  • Configuring the Server
  • Configuring the Log Files


The assumption is that you will have only one SystemWeaver server running on the machine. For details about running several servers on one machine, please contact support@systemite.se.


Hardware and Software Requirements

Before installing SystemWeaver, you'll want to make sure the the server machine meets the minimum requirements for a SystemWeaver Server installation. These requirements are described in SystemWeaver Server - Software and Hardware Requirements and in the SystemWeaver Server Installation Manual.


Downloading the Software

The software is typically delivered via the SystemiteNAS file server as a zipped file.  If you are having trouble downloading or accessing your delivery, contact support@systemite.se.


Installing the Server

SystemWeaver includes a number of server applications that can be configured and used depending on the needs of the user organization and the IT support organization. A list of all server applications can be found in the Overview of SystemWeaver Applications section of the SystemWeaver Server Installation Manual. This article specifically covers the installation and configuration of the SystemWeaver main server application only.

  1. After downloading your delivery, move it from the Windows Download directory and place it on a local drive of the server machine, e.g., the C: drive.
  2. Extract the files from the zip file. 
  3. The server installation is in the directory called SplitServer. The directory contains all of the files necessary to run the server. It is important that they remain in this location and are not modified in any way. 

Configuring the Server

The server consists of two executables - swDBServer.exe and Systemite.SystemWeaver.TcpSubServer.exe. 

The swDBServer.exe is the main executable. The configuration file for the server is swServer.ini. There is no configuration file for the TcpSubServer.

In addition, there are two files for configuration of server logs - swServer.props (for the main executable logging) and Systemite.SystemWeaver.TcpSubServer.exe.nlog (for the TcpSubServer logging). 


Note: If you do not see swServer.ini, swServer.props and Systemite.SystemWeaver.TcpSubServer.exe.nlog in the SplitServer directory, you can find examples of them in the Configuration Files directory that is included in the delivery. Copy and paste them into the SplitServer directory. They must be located in the same directory as the executables. 


Formatting the swServer.ini

The swServer.ini file has the following content: (values to the right of the equal sign are examples only to illustrate the used format)

dbType=SQLite
DSN=D:\temp.sqlite
FileRepository=
FileRepositoryType=DB/Files
Port=1768
CertPassword=aaaa
AutoStart=false
DatabaseUser=
DatabasePassword=
DatabasePasswordEncrypted=
CallLogging=on/detailed
LogFileDirectory=
UseSSL=True/False
IP=
DLQ=True/False


  1. In the SplitServer directory, open the swServer.ini in a text editor. 
  2. Configure the settings described below. 
  3. Save your changes. 


dbType

Required. Defines what type of database is being used. The following options are supported:

  • SQLite - SQLite databases
  • Oracle - Oracle databases
  • MS SQL Server - SQL Server databases


DSN

Required. Defines the file path to the database Note: The file path should not be written with quotation marks or apostrophes, even for paths including blank (space) characters.


Examples

Database Type
Example
SQLite
C:\MyDatabases\swdb.sqlite
Oracle
The TNS alias of the Oracle server. Refer to Oracle documentation for details on TNS.
MS SQL Server
SYS6|SQLDB-SYSWEAV-PRD


Note: If you do not have a database, you can create an empty SQLite database in less than a minute using the swDatabaseManager utility included in your delivery. For support, contact support@systemite.se. 


FileRepository

Only required if a file repository is in use. Defines the file path to the file repository. If the FileRepositoryType is 'Files' the path should identify the folder under which the files will be stored. If the type is 'DB', the path defines the SQLite database file. (Currently, SQLite is the only supported database file repository.)

FileRepositoryType

Only required if file repository is in use. Defines the type of file repository. Possible values are 'DB' or 'Files'.


Port

Required. Defines the TCP/IP port number to be used by the server. The port number for SystemWeaver has not been standardized. The Dynamic and/or private ports in the 49152-65535 range are allowed for use by the Internet Assigned Numbers Authority (IANA), but these may be in momentary conflict with other applications depending on the configuration of other applications on the server computer. Refer to e.g. http://www.iana.org/ for the use of port numbers.
In case there is no web server active on the SystemWeaver host computer, then the 443 port assigned to the https protocol can be used with no side effects for the SystemWeaver. In case a web browser tries to connect to the port, the request is simply ignored by the SystemWeaver server. Since the communication on 443 is assumed to be encrypted, no other network components should assume anything about the content of the communication. Note however that IANA does not approve the use of this number, likely due to the possibility of conflicts with any web server active on the host.
Port names must be unique on the host computer, and not used by any other application, including other SystemWeaver servers.
In case the access to the server from the user network will be through a proxy, the SystemWeaver client to server communication set up in SystemWeaver clients can be directed though the standard port (#8080) of the proxy. For access through firewalls and proxies, the server port 443 (https, see above) is useful since this port may offer remote access to SystemWeaver without the need to open new ports on the firewall.


CertPassword

Required if SSL Encryption is turned on (See UseSSL below). Used for authentication purposes in the SSL (Secure Socket Layer) so that the SystemWeaver clients can detect the legitimacy of the server. Enter the certificate password here. For intranet use, authentication is normally not required and SystemWeaver is therefore distributed with dummy certificates, with the dummy password "aaaa". If there is a need for specific certificates, the certificate files in the "cert" folder can be replaced by certificates generated by OpenSSL (www.openssl.org). 


AutoStart

Optional. Enables the swTestServer to start and connect to the database immediately after the server application is started. Possible values are 'true' and 'false'. The value 'true' should normally be used only after the server configuration has been verified to be fully functional. The swDBServer.exe requires 'true' since this is the only way to start the server.


DatabaseUser

Required by some databases. The username for logging in to the database. This entry can be left empty in case no login is required.


DatabasePassword

Required by some databases. The password used for login to the database. This entry can be left empty in case no login is required. Note that this password is not a SystemWeaver user password.


DatabasePasswordEncrypted

Required by some databases. The encrypted password used for login to the database. An example use case is when the SystemWeaver Server is located on one physical server and the database server on another* and security policies prohibit that unencrypted passwords are sent on the network between the severs. This entry may be left empty in case no login is required. The SystemWeaver tool EncryptString.exe may be used for generating an encrypted password for this purpose.


CallLogging

Optional. Turns on extended performance logging in the server. When logging is activated, a new log file is generated each time the server is started, with automatically defined file names. Alternatives are 'on' for standard logging, 'detailed' for extended logging, and none (or any invalid entry) for no logging at all.


LogFileDirectory

Optional. Defines the file path to the DLQ log file (see DLQ below). If left blank, the file will generate in the same location as the server executables.


UseSSL

Optional. Defines whether SSL should be used or not. Alternatives are 'true' for SSL and 'False' for not using SSL. Within a closed network, 'false' could be used to improve robustness for network disturbances, while 'true' should be used for communications over Internet.


IP

Defines the IP address or domain name to be used by the SystemWeaver server. This entry should only be used for the case that the server uses multiple IP addresses or domain names.


DLQ

Defines whether a .dlq file should be generated (True) or not (False). The default setting is False, but it is recommended that it be set to True, at least initially, since its content allows for proper analysis should there be issues with server performance. IT administrators should be aware that a .dlq file can take some space depending on the size and activity level in the server (e.g., 10GB for very large and active systems).


Configuring the Log Files

Since there are two server executables, you will want to configure a log file for each. The configuration files are: 

  • swServer.props for the main swDBServer executable
  • Systemite.SystemWeaver.TcpSubServer.exe.nlog for the Systemite.SystemWeaver.TcpSubServer executable


You can find examples of them in the Configuration Files directory included in the delivery or create your own. Instructions for how to configure these files can be found in How to Configure and Start Logging (for the main server) and How to Configure Logging for the TcPSubServer for the TcpSubServer.


What's Next? 

The SystemWeaver server is now installed, configured and ready to be tested. See Testing a SystemWeaver Installation for instructions on how to use the swTestServer utility to run the server.