Skip to main content

How To Guide Store Server Installation Instructions for Windows

Description

This How-to guide explains the installation of the Store Server (Back Office) on Windows 10.

Notes

This guide will require information from your Estate Manager environment.

Overview

This guide will cover installing the Enactor Store Server on Windows.

The Estate Manager must be installed and configured before you install the Store Server.

Additionally, the following entities should be configured prior to installation: Device, Location.

Use the worksheet in this document to record the values you will need for the installation.

Prerequisites

In addition to the prerequisites required by each database server, you will need the following:

  • Database server with user and database created.

  • Minimum 10GB of free disk space.

  • Network connectivity to the Estate Manager.

Deployment Models

The Store Server configuration is typically installed at a store location but could be installed anywhere in the estate with connectivity to the Estate Manager.

Pre-Installation

There are 3 files that are used to install the Store Server application:

  • EnactorStoreServer-x.x.x-example.ini - this file should be populated the necessary configuration data for the Store Server installation; this file will be copied to installer.ini and modified with the location and device specific values prior to running the installer script.

  • EnactorStoreServer-x.x.x.bat - a script file that can execute the Windows installer with options

  • EnactorStoreServer-x.x.x.msi - the Windows installer for the Store Server with version x.x.x

Create the installer.ini file

The installer requires a configuration file named installer.ini in the same directory.

To create the installer.ini file, copy the EnactorStoreServer-x.x.x-example.ini to installer.ini.

Edit the installer.ini file

The enactor.xml and server.xml configuration files for the Store Server are created by the installer using the data in the installer.ini file. It is essential to set the values correctly prior to install so that future updates of the application using the Application Updater will have the correct values if the Store Server is updated.

The installer.ini file is a Windows INI file with key and value pairs identified by key=value. The file contains the necessary parameters for configuring the Store Server during installation. This document provides instructions for populating installer.ini with the required configuration.

Server Base Url

A base url can be used for subsequent service invocations to the Store Server to make connections to the estate manager and other devices. Where it contains the hostname/Ip address along with the default ports.

Eg: SERVER_EMAPP_URL_BASE=http://<EMIP/Host>:39831/

When the store server is not deployed for a location, substitute the hostname for the estate manager for the store server hostname on the worksheet.

Device and Location Details

The device type and device id must match the configuration from the estate manager for this device. The standard model for device id is BO@<locationid>.<company>. For example, BO@0001.enactor would be the Store Server (Back Office) at location 0001 for company enactor. Device IDs are case sensitive so use the exact string that was used in the configuration.

The device type for the Store Server is BACK_OFFICE.

Location IDs will be set when configuring the Locations. The Location ID should be set for the Location where the Store Server is being installed.

Database Server

The Store Server requires a database. This will contain all the required configuration, plus other data such as transactions and other messages.

The database information will vary depending on the database server that is used, for example MariaDB or MS SQL Server. This document describes configuring the Store Server to use a MariaDB database.

The database server has an identifier that is used by the Store Server application to make the connection to the database. Database identifiers will look like the following:

MYSQL

A database driver needs to connect to the JDBC database server. The driver will vary depending on the database server that is used. When MariaDB is used database drivers will look like the following:

com.mysql.jdbc.Driver

Store Server connects to the database using a URL or connection string that includes the database server name, the database server port, and the database name. Connections strings are specific to the database server type and will look like the following:

jdbc:mysql://HOST:PORT/DATABASE

Creation steps for a MariaDB user and database

Configuring MariaDB is described in a separate How-to Guide. (How To Guide MariaDB Server - Install Instructions for Windows)

After installation open the HeidiSQL client application and run the following commands to create a User and a Database:

CREATE USER 'enactorbo'@'localhost' IDENTIFIED BY 'En4ct0rSt0re';

CREATE DATABASE IF NOT EXISTS enactorbo;

GRANT ALL PRIVILEGES ON enactorbo.* TO 'enactorStore'@'localhost';

This script will create a user with ID enactorbo and password En4ct0rSt0re and a database named enactorbo.

Installation Worksheet

The following information will be needed to create the installer.ini for the installation.

Note:

The Value Column below contains example values in this document. These values will vary according to the configured environments.

Estate Manager

Property.ini fileValueEnactor.xml valueDescription
SERVER_EMAPP_URL_BASEhttp://xxx.xxx.xxx.xxx:39830Server.EMApp.URL.BaseEstate Manager application.
Where xxx is the IP address or hostname of the
Estate Manager.
SERVER_EMPROC_URL_BASEhttp:// xxx.xxx.xxx.xxx:39832Server.EMProc.URL.BaseEstate Manager Processing.
Where xxx is the IP address or hostname of the Estate Manager.
SERVER_EMWS_URL_BASEhttp:// xxx.xxx.xxx.xxx:39833Server.EMWS.URL.BaseEstate Manager Web Services. Where xxx is the IP address or hostname of the
Estate Manager.
SERVER_BP_URL_BASEhttp:// xxx.xxx.xxx.xxx:39831Server.BP.URL.BaseEstate Manager Business Process. Where xxx is the IP address or hostname of the
Estate Manager.

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Store Server

Property .ini fileExample ValueEnactor.xml valueDescription
SERVER_BOAPP_URL_BASEhttp://xxx.xxx.xxx.xxx:39848Server.BOApp.URL.BaseBack Office Application.
Where xxx is the IP address or hostname of the machine where the store server is being installed.
SERVER_BOPROC_URL_BASEhttp://xxx.xxx.xxx.xxx:39848Server.BOProc.URL.BaseBack Office Processing.
Where xxx is the IP address or hostname of the machine where the store server is being installed.
SERVER_BOREPORTS_URL_BASEhttp://xxx.xxx.xxx.xxx:39848Server.BOReports.URL.BaseBack Office Reports. Where xxx is the IP address or hostname of the machine where the store server is being installed.
SERVER_BOWS_URL_BASEhttp://xxx.xxx.xxx.xxx:39848Server.BOWS.URL.BaseBack Office Web Services.
Where xxx is the IP address or hostname of the machine where the store server is being installed.

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Card Authorisation

It is possible to configure multiple card authorisation servers.

Property .ini fileExample ValueEnactor.xml valueDescription
SERVER_CARD_AUTH1_URL_BASEhttp://xxx.xxx.xxx.xxx:39856Server.CardAuth1.URL.BaseWhere xxx is the IP address or hostname of the machine where the card auth server is installed.
(Usually, but not always, the Estate Manager)
SERVER_CARD_AUTH2_URL_BASEhttp://xxx.xxx.xxx.xxx:39856Server.CardAuth2.URL.BaseWhere xxx is the IP address or hostname of the machine where the card auth server is installed.
(Usually, but not always, the Estate Manager)
SERVER_CARD_AUTH3_URL_BASEhttp://40.85.134.4:39856Server.CardAuth3.URL.BaseWhere xxx is the IP address or hostname of the machine where the card auth server is installed.
(Usually, but not always, the Estate Manager)
SERVER_CARD_AUTH4_URL_BASEhttp://40.85.134.4:39856Server.CardAuth4.URL.BaseWhere xxx is the IP address or hostname of the machine where the card auth server is installed.
(Usually, but not always, the Estate Manager).

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Database Server

installer.ini fileExample ValueEnactor.xml valueDescription
DATABASE_DRIVERcom.mysql.jdbc.DriverN/A - on a Store Server this value is defined in the Apache
Tomcat server.xml
The driver will vary depending on the database server that is used. When a MariaDB is used Database drivers com.mysql.jdbc.Driver is used.
DATABASE_IDENTIFIERMYSQLQueryTranslator.DatabaseIdentifierThe database server also has an identifier that is used by the application to make the connection to the database.
When a MariaDB is used,
MYSQL is used as the identifier.
DATABASE_PASSWORDEn4ct0rSt0reN/A - on a Store Server this value is defined in the Apache
Tomcat server.xml
Database Password that the Store Server will use.
DATABASE_SCHEMAenactorboCommon.DatabaseSchemaDatabase Schema name that the Store Server will connect to.
DATABASE_URLjdbc:mysql://localhost:3306/enactorbo?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8N/A - on a Store Server this value is defined in the Apache
Tomcat server.xml
Database Server URL that the Store Server will connect to.
DATABASE_USERNAMEenactorboN/A - on a Store Server this value is defined in the Apache Tomcat server.xmlDatabase Username that the Store Server will use.

Process Connections

Property .ini fileExample ValueEnactor.xml valueDescription
PROCESS_CONNECTION_DEFINITIONStandardPosBackOfficeEstateManagerProcessConnections.DefinitionIdThis is the default process connection for environments that contain store servers - it should only be replaced if a customer-specific process connection is being used.

Process Set

Property .ini fileExample ValueEnactor.xml valueDescription
PROCESS_SETNextGenCommon.ProcessSetThis should be defined as NextGen unless an Enactor representative advises otherwise.
PARENT_PROCESS_SETNextGenCommon.ParentProcessSetThis should be defined as NextGen unless an Enactor representative advises otherwise.

Device and Location

Property .ini fileExample ValueEnactor.xml valueDescription
DEVICE_IDBO@0001.enactorContainer.DeviceId
JMX.ApplicationId
Service.DeviceID
Must match the Device ID that is configured on the Estate Manager.
Device TypeBACK_OFFICEService.DeviceTypeMust be specified as BACK_OFFICE for a Store Server installation.
LOCATION_ID0001Service.LocationIDMust match the Location ID that is configured on the Estate Manager.

SOLR

Property .ini fileExample ValueEnactor.xml valueDescription
SERVER_SOLR_URL_BASEhttp://xxx.xxx.xxx.xxx:39846/solr/Server.Solr.URL.BaseWhere xxx is the IP address or hostname of the Solr Index server.
(Usually, but not
always, the Estate
Manager)

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Reports

Property .ini fileExample ValueEnactor.xml valueDescription
SERVER_EMREPORTS_URL_BASEhttp://xxx.xxx.xxx.xxx:39848Server.EMREPORT.HostServer.Reports.HostWhere xxx is the hostame
or IP address of the store server being installed.

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Order Parameters

Property .ini fileExample ValueEnactor.xml valueDescription
SERVER_OMBP_URL_BASEhttp://xxx.xxx.xxx.xxx:39834/Server.OMBP.URL.BaseWhere xxx is the IP address or hostname of the Order Manager.
SERVER_OMPROC_URL_BASEhttp://xxx.xxx.xxx.xxx:39836/Server.OMProc.URL.BaseWhere xxx is the IP address or hostname of the Order Manager.
SERVER_OMWS_URL_BASEhttp://xxx.xxx.xxx.xxx:39837/Server.OMWS.URL.BaseWhere xxx is the IP address or hostname of the Order Manager.

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Inventory Module
Property .ini fileExample ValueEnactor.xml valueDescription
MODULE_INVENTORYtrue or falseModules.InventoryModuleDetermines whether the Inventory module is enabled on the store server.
SERVER_IMBP_URL_BASEhttp://xxx.xxx.xxx.xxx:39842/Server.IMBP.URL.BaseWhere xxx is the IP address or hostname of the Inventory Manager.
SERVER_IMPROC_URL_BASEhttp://xxx.xxx.xxx.xxx:39844/Server.IMProc.URL.BaseWhere xxx is the IP address or hostname of the Inventory Manager.
SERVER_IMWS_URL_BASEhttp://xxx.xxx.xxx.xxx:39845/Server.IMWS.URL.BaseWhere xxx is the IP address or hostname of the Inventory Manager.

Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.

Time Attendance Module
Property .ini fileExample ValueEnactor.xml valueDescription
MODULE_TIME_ATTENDANCEtrue / falseModules.TimeAttendanceModuleDetermines whether the Time & Attendance module is enabled on the store server.
Message Service Authentication
Property .ini fileExample ValueEnactor.xml valueDescription
AUTHENTICATION_DEFAULT_PASSWORDp@55w0rdAuthentication.DefaultPassword encrypt="true"Should match the
Authentication password defined on the Estate
Manager.
AUTHENTICATION_DEFAULT_USERIDuseridAuthentication.DefaultUserIdShould match the
Authentication user defined on the Estate Manager.
MESSAGE_SERVICES_DEFAULT_AUTH_TYPEHTTP_BASICMessageServices.DefaultAuthenticationTypeDefines the security setting for service access. Available values are
NONE,
HTTP_BASIC, HTTP_TOKEN.
Default value is HTTP_BASIC.

Using values from the worksheet

The following text should be amended so the values match those in the worksheet above, then saved to an installer.ini file in the same directory as the Enactor Store Server MSI.

; --- EXAMPLE ENACTOR INSTALLER CONFIGURATION FILE ---

; This file includes the ini file values used for configuring the
Enactor ; installer

; It is provided as a starting point for new installers, and should be
copied, edited to add settings

; appropriate for the customer and device and then managed with other
project configuration

;------General Configuration for the Store Server

;EM related configuration

SERVER_EMAPP_URL_BASE=${installer.serverEMAppUrlBase}

SERVER_EMPROC_URL_BASE=${installer.serverEMProcUrlBase}

SERVER_EMWS_URL_BASE=${installer.serverEMWSUrlBase}

SERVER_BP_URL_BASE=${installer.serverBPUrlBase}

;Back office related configuration

SERVER_BOAPP_URL_BASE=${installer.serverBOAppUrlBase}

SERVER_BOPROCRMI_URL_BASE=${installer.serverBOProcRMIUrlBase}

SERVER_BOPROC_URL_BASE=${installer.serverBOProcUrlBase}

SERVER_BOREPORTS_URL_BASE=${installer.serverBOReportsUrlBase}

SERVER_BOWS_URL_BASE=${installer.serverBOWSUrlBase}

;Card_Auth related configuration

SERVER_CARD_AUTH1_URL_BASE=${installer.serverCardAuth1UrlBase}

SERVER_CARD_AUTH2_URL_BASE=${installer.serverCardAuth2UrlBase}

SERVER_CARD_AUTH3_URL_BASE=${installer.serverCardAuth3UrlBase}

SERVER_CARD_AUTH4_URL_BASE=${installer.serverCardAuth4UrlBase}

;DB related configuration

DATABASE_DRIVER=com.mysql.jdbc.Driver

DATABASE_IDENTIFIER=MYSQL

DATABASE_PASSWORD=${installer.databasePassword}

DATABASE_SCHEMA=enactorbo

DATABASE_URL=jdbc:mysql://localhost:3306/enactorpos?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8
DATABASE_USERNAME=${installer.databaseUsername}

;Process connection configuration
PROCESS_CONNECTION_DEFINITION=PosBackOfficeEstateManager

;Process set configuration

PROCESS_SET=NextGen

PARENT_PROCESS_SET=NextGen

;Device and location configuration

DEVICE_ID=${installer.deviceId}
DEVICE_TYPE=BACK_OFFICE

LOCATION_ID=${installer.locationId}

;SOLR configuration

SERVER_SOLR_URL_BASE=${installer.serverSolrUrlBase}

;Report related configuration

SERVER_EMREPORTS_URL_BASE=${installer.ReportsUrlBase}

;Order Module configuration

MODULE_ORDER=${installer.modulesOrder}

SERVER_OMBP_URL_BASE=${installer.serverOMBPUrlBase}

SERVER_OMPROC_URL_BASE=${installer.serverOMProcUrlBase}

SERVER_OMWS_URL_BASE=${installer.serverOMWSUrlBase}

;Inventory Module configuration

MODULE_INVENTORY=${installer.modulesInventory}

SERVER_IMBP_URL_BASE=${installer.serverIMBPUrlBase}

SERVER_IMPROC_URL_BASE=${installer.serverIMProcUrlBase}

SERVER_IMWS_URL_BASE=${installer.serverIMWSUrlBase}

;Time & Attendance Module Configuration

MODULE_TIME_ATTENDANCE=${installer.modulesTimeAttendance}

;Message Service Authentication Configuration

AUTHENTICATION_DEFAULT_PASSWORD=${installer.AUTHENTICATIONDEFAULTPASSWORD}

AUTHENTICATION_DEFAULT_USERID=${installer.AUTHENTICATIONDEFAULTUSERID}

MESSAGE_SERVICES_DEFAULT_AUTH_TYPE=${installer.MESSAGESERVICESDEFAULTAUTHTYPE}

Installing the Store Server

Once the installer.ini file has been defined, the installation can proceed.

Manual Installation

Ensure the provided MSI and the installer.ini file are in the same folder. Double click on the MSI file.

Choose Next.

The installation location can be amended here.

Choose Next.

Choose Install.

If User Account Control is enabled, the following prompt will be displayed:

Choose Yes.

Installation will proceed.

Choose Finish.

The Store Server is installed. Following this, the Enactor services will start and begin creating the necessary database tables.

Scripted Installation

The Store Server can be installed without using the UI from the command line.

The Store Server MSI can be installed using the msiexec command - further information about using msiexec can be found at the following link:

https://learn.microsoft.com/en-us/windows/win32/msi/command-line-options

Broadcasting Data

Once the Store Server installation completes, the application will connect to the Estate Manager and subscribe to various message queues.

Once the subscriptions have completed, configuration and other data should be broadcast from the Estate Manager to the Store Server. (Enactor reference configuration contains two broadcasts that can be used for this purpose - New Build All Static Data and New Build All Product Data).

Once these broadcasts have completed, the Enactor Store Server Windows service should be restarted.

Logging in to the Store Server

Once the broadcast to the Store Server has been completed successfully and the Windows service restarted, it should be possible to log into the Store Server at the URL below:

http://<STORE_SERVER_HOST>:39848/WebStoreManagement

Uninstalling the Store Server

The simplest way to uninstall the Store Server is via Windows Control Panel.

Alternatively it can be uninstalled via the command line using the msiexec application.