1. SnowMirror Requirements

SnowMirror is a Java-based application which mirrors data from ServiceNow into your local database. It mirrors data using ServiceNow API: either SOAP web services or REST API.

Moreover, the SnowMirror application comes with SnowMirror Monitor which provides insight into SnowMirror directly from ServiceNow.

snowmirror diagram arch

What you need:
- ServiceNow Instance
- ServiceNow User with sufficient Rights
- Server with one of supported operating systems - Supported platforms
- Database into which all mirrored data will be stored

1.1. ServiceNow

For ideal communication between ServiceNow and SnowMirror we recommend you to activate following plugins and set up authentication credentials with sufficient rights.

1.1.1. Plugins

SnowMirror uses aggregate functions (counting records, finding out max. value, …​.) to provide the best user experience and to provide the best performance possible.

These functions are built in into REST API.

If you use SOAP API you have to activate Aggregate Web Service plugin to make them available. SnowMirror works even without this plugin but we recommend to activate it before running SnowMirror to get the best performace possible.

Plugin Activation
  1. To activate the plugin open ServiceNow instance as an administrator.

  2. Search for Plugin application in menu bar and open application.

  3. On the top of the page type plugin name "aggregate" in search box and hit ENTER.

  4. Check if the plugin Status is ACTIVE otherwise open the plugin.

  5. On the plugin page click on Activate/Upgrade link in Related Links section and activate the plugin.

For more information please follow the official documentation on activating ServiceNow plugins.

1.1.2. User Access Rights

The communications with ServiceNow API is secured. SnowMirror uses basic HTTP authentication to secure both SOAP and REST API calls.

SnowMirror requires a user account with a read access to some of the system tables and to all mirrored tables. You can use an account with admin role. It is easy to set up and is suitable for evaluation. If you don’t want to use admin account, plase see Security chapter for detailed description of all needed rights.

1.2. Application Requirements

SnowMirror is a Java web application, meaning it runs centrally on a server, and users interact with it throughout web browser from any computer.

1.2.1. Hardware

SnowMirror runs on any reasonably fast PC. See the minimal recommended hardware configuration.

  • Dual core CPU (Intel or AMD)

  • 2GB RAM

  • 1GB HDD for installation

  • Additional 5GB for log files

These requirements expect that only SnowMirror runs on that machine. You will need to run separate database server for mirror database. Of course you may use your existing infrastructure for that database.

Estimating required storage space

SnowMirror keeps a log of all activities - the estimated storage required for these logs is around 80MB per year.

SnowMirror also creates separate activity log for each synchronization run. The storage required for these logs vary depending on how many synchronizations you have, how often you synchronize them and how many records are being synchronized. Naturally, the longer you use SnowMirror more space for logs is required. See the examples below.

Table 1. Examples of required storage for activity logs
Amount of data Estimated storage required per year

Big (~150,000 updated records) synchronization every day

~ 45 MB per year

Big (~150,000 updated records) synchronization every hour

~ 1 GB per year

Smaller (~10,000 updated records) synchronization every day

~ 3 MB per year

Smaller (~10,000 updated records) synchronization every day

~ 72 MB per year

Then the total storage required per year can be calculated as:

Storage per year = 80MB + (number of big daily synchronizations * 45)MB + (number of small daily synchronizations * 3)MB + (number of big hourly synchronizations * 1000)MB + (number of small hourly synchronizations * 72)MB

1.2.2. Java

Java is a piece of software that has to be installed on your computer. SnowMirror does not work without it. It requires Java 1.8 or newer.

On Windows, an up-to-date version of Java is included in the installation package. On Linux or Mac, you have to install it yourself.

1.2.3. Application server

SnowMirror runs on Apache Tomcat web server which is included in the installation package. We upgrade the Tomcat to the latest version on a regular basis.

1.2.4. Databases

SnowMirror uses two databases.

  • Configuration database - stores metadata, i.e. what to synchronize, when to synchronize, etc.

  • Mirror database - stores data mirrored from ServiceNow

Each database can use different database management system, for more information see Database Configuration section.

Supported databases
  • Oracle (version 11g and newer)

  • MySQL (version 5.5 and newer, including community version - MariaDB)

  • Microsoft SQL Server (2008 and newer)

  • PostgreSQL (version 9.2 and newer)

  • H2 (embedded - currently using 1.3.172 release)

1.2.5. Browser

SnowMirror runs on all modern web browsers such as Google Chrome, Mozilla Firefox and Internet Explorer 8 or higher.

1.2.6. Supported platforms

SnowMirror is operating system agnostic. It can run on any system which supports Java.

Supported platforms
  • Microsoft Windows XP 32/64 bit

  • Microsoft Windows 7 32/64 bit

  • Microsoft Windows 10 32/64 bit

  • Microsoft Windows Server 2003 32 bit

  • Microsoft Windows Server 2008 R2 64 bit

  • Microsoft Windows Server 2012 R2 64 bit

  • Microsoft Windows Server 2016

  • Linux

2. Installing SnowMirror

SnowMirror can be installed either using Windows Installer or manually from a ZIP package. Using the Windows Installer is the most easiest and straightforward way to install and configure SnowMirror. On Linux you have to do the installation and configuration manually.

2.1. Prerequisites

You need two databases on your database server - configuration database and mirror database. See Database Configuration chapter.

If you don’t have the databases yet, you can use H2 database which is embedded into SnowMirror. This will give you an opportunity to test SnowMirror even before your database administrators create the databases for you. Just note, that H2 is not suitable for production environment.

2.2. Windows Installer

2.2.1. Express installation

  1. Run the Installer - Go to a location to where you downloaded SnowMirror installation file and run it.

  2. First Step - Simply click next.

    winInstaller firstStep
  3. License Agreement - Please go through a license agreement and then confirm by clicking on "I agree".

    winInstaller licenseAgreement
  4. Selecting the action - Select "Express Install" option and click next.

    winInstaller choosingtheaction express
  5. Summary - Here you can see summary. It shows installation location, used ports windows service and such.

    winInstaller express summary
  6. Installing - Window with a progress bar.

    winInstaller installing
  7. Finish - Final screen. After clicking on "Finish", your default browser will be opened and application itself will load.

    winInstaller finish

2.2.2. Custom installation

  1. Run the Installer - Go to a location to where you downloaded SnowMirror installation file and run it.

  2. First Step - Simply click next.

    winInstaller firstStep
  3. License Agreement - Please go through a license agreement and then confirm by clicking on "I agree".

    winInstaller licenseAgreement
  4. Selecting the action - Select "Custom Install" option and click next.