- Hardware and Software Requirements
- Installing the Server
- Configuring the Server
- Configuring the Log Files
- Creating the Internal Database (for non-SQLite databases)
- What's Next?
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 or in Summary of Main SystemWeaver Executables. This article covers the installation and configuration of the SystemWeaver main server application only.
- 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.
- Extract the files from the zip file.
- The server installation is in the directory called Server. 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 Server directory, you can find examples of them in the Configuration Files directory that is included in the delivery. Copy and paste them into the Server 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). This example is for configuring the main server so the [MirrorServer] section should remain commented-out.
[MainServer] dbType=SQLite DSN=C:\temp\temp.sqlite ;JournalFile=C:\temp\temp.swjournal ;MinJournalEntries=10000 SyncJournalEntries= FileRepository= FileRepositoryType=DB/Files DatabaseUser= DatabasePassword= DatabasePasswordEncrypted= CallLogging=on/detailed LogFileDirectory= [Tcp] Port=1768 IP= CertPassword=aaaa AutoStart=False DLQ=True/False DLQFileDirectory= [MirrorServer] ;MainServer=localhost ;MainServerPort=1768 ;MainServerPassword=password ;MainServerPasswordEncrypted= ;Cache=D:\temp.cache ;CacheEncrypted=True/False ;CacheInMemory=True
- In the Server directory, open the swServer.ini in a text editor.
- Configure the settings described below.
- Save your changes.
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
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.
|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. However, often times Systemite will support you with initial meta modelling so there will likely be a database file already delivered.
This entry is required only if a mirror server is in use. Enter the file path and file name of the journal file. See How to Configure a Main Server for Mirroring for journal initialization.
This optional entry can be used to set a minimum number of most recent entries to be saved in the swjournal file which will limit the size of the file.
If total > MinJournalEntries * 1.1, then remove MinJournalEntries * .1
Example: If you specify 10000, the number of entries will grow to 10000, then be somewhere between 10000 and 11000. In other words, without the limitation, the journal will store the total number of journal entries, e.g., 500000, whereas with the journal limitation, the server will remove old entries and maintain only the most recent 10000-11000 entries per the configuration.
The Journal file info tool in the swDatabaseManager will show the "First transaction id" and "Last transaction ID".
Organizations that want to limit the journal size will need to decide how many transactions to keep. Monitoring the .swjournal and using the swDatabaseManager tool to see how many transactions it contains and, e.g., how many there are on average per day, can help in making this decision.
This optional entry when set to "True" will allow the main server to run transactions found in the journal file upon start-up that are not found in the database. During normal operation on a local disk, there is no risk of this scenario occurring. However, this option does provide an automated way to handle an unforeseen synchronization problem should the need appear. We do not recommend the use of SyncJournalEntries=True by default, since it can potentially hide network/disk problems that you otherwise would want to be aware of. Please consult Systemite if you are considering using this option.
Warning: If this option is set to "True" and you want to revert to a backup database copy as a means of "wiping out" unwanted database transactions, you will want to run Remove extra entries on the journal file before you start the server against the backup database.
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.)
Only required if file repository is in use. Defines the type of file repository. Possible values are 'DB' or 'Files'.
This section is for configuration related to the TcpSubServer.
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.
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).
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.
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.
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.
Creating the Internal Database
For non-SQLite databases only
If your organization is running an MS SQL or Oracle database, you will need to create the internal database that the SystemWeaver server uses. If you are using a SQLite database file, you can skip this step.
Open the swDatabaseManager.exe which you'll find in the Server directory.
Select MS SQL Server or Oracle as the Type and enter the name of the server (See DSN above for format.)
Then click Create empty v1.XX. For installations using the latest SystemWeaver version, select the highest database version #. If you are unsure which version to use, contact firstname.lastname@example.org
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.
* The availability of the encryption option is restricted due to EU regulations. Please contact us for more information.