Beruflich Dokumente
Kultur Dokumente
Configuration
document for MPOS
CONTENTS
1 Solution Topology ................................................................................................................................. 3
2 Document overview .............................................................................................................................. 4
3 Server Requirements ............................................................................................................................ 4
3.1 Retail HQ Components.................................................................................................................. 4
3.2 Retail Store Components (Each Store) .......................................................................................... 6
3.3 POS Terminals ............................................................................................................................... 7
4 Deployment........................................................................................................................................... 8
4.1 Retail Head Office Configurations ................................................................................................. 8
4.1.1 Verify Stores ........................................................................................................................ 10
4.1.2 Verify Workers & Permissions ............................................................................................ 11
4.1.3 Verify Commerce data exchange configurations in Dynamics AX ...................................... 16
4.1.4 Verify Retail Server configurations ..................................................................................... 23
4.2 Install Head Office Retail Components ....................................................................................... 26
4.2.1 Certificate management ..................................................................................................... 26
4.2.2 Install CDX: Async Server..................................................................................................... 30
4.2.3 Install CDX: Real-time Service ............................................................................................. 42
4.3 Install Store Components............................................................................................................ 52
4.3.1 Install the retail channel database ...................................................................................... 52
4.3.2 Install Async client............................................................................................................... 59
4.3.3 Install Retail Server ............................................................................................................. 66
4.3.4 Install Retail Modern POS ................................................................................................... 76
4.3.5 Install Hardware Station ..................................................................................................... 91
4.3.6 Retail Media Server ........................................................................................................... 100
1 SOLUTION TOPOLOGY
1. Key components
a. Commerce Data Exchange
i. Real-time Service
ii. Async Server
iii. Async Client
b. Retail channel database
c. Retail server
d. Retail offline database
e. Retail Modern POS
f. Retail online channel
2. Other components and utilities
a. Retail hardware station
b. Retail channel configuration utility
c. Retail salt utility
d. Retail mass deployment toolkit
e. Retail management pack
2 DOCUMENT OVERVIEW
This hands-on lab relates to the deployment of Microsoft Dynamics AX 2012 R3 in a retail environment.
The following sample topology and business requirements are used to illustrate the steps in this process.
Prerequisites
o Headquarters: Standard 1-box Dynamics AX installation including:
1 Dynamics AX database
1 AOS
1 Dynamics AX client
Deployment plan
o Deploy brick and mortar channel
1 retail store
1 retail Point of Sale register
1 retail Modern POS register
1 store manager and 1 cashier
3 SERVER REQUIREMENTS
a. The Async Service (Commerce Data Exchange) is a service that shares data
among retail components. These components include the head office, stores, and
individual point of sale (POS) terminals. When you install Async Service, the Retail
Salt Utility and Retail Scheduler are also installed. The Retail Salt Utility provides
extra encryption for the passwords and credentials that are associated with the
Retail system. Retail Scheduler is used to manage the distribution of data between
the head office and the stores.
b. The Async service runs on IIS
c. We recommend deploying 2 instance Async Service (Retail Store Connect) to
handle the workload of 48 stores and 108 POS terminals and provide High
Availability. Use Windows Azure Load Balancing for IIS cluster.
Dynamics AX Retail Store Connect Please see latest Dynamics AX 2012 R2 for
Retail for pre-requisites
Dynamics AX Retail Transaction Service Please see latest Dynamics AX 2012 R2 for
Retail for pre-requisites
Dynamics AX Retail Transaction Service Please see latest Dynamics AX 2012 R2 for
Retail for pre-requisites
4 DEPLOYMENT
1. On the Start screen, launch the Dynamics AX client by clicking Microsoft Dynamics AX 2012.
Tip: You can also find the Dynamics AX client by typing ax32 on the Start screen.
2. In the Dynamics AX Client, click Company name > Retail from the top navigation bar.
4.1.1 Verify Stores
1. Message database configuration: Click Retail > Setup > Parameters > Retail
scheduler parameters.
2. Under Message database, the following fields need to be filled:
Server name: This field is used to specify the name of the database
server where the Async Server Message database is located. We have to
give the name of the machine where Async Server Message database
installed. Verify that this field is correctly populated.
Database instance: This field can be left empty when using the default
instance of the database server or be populated with the SQL Server
instance name (The default SQL Server instance name is usually
“MSSQLSERVER”). We will leave this field empty.
Database name: This field is used to specify the name of the Async
Server Message database that AOS needs to connect to. We will verify
that the message database is called AxRetailMsgHQ. We will also need
to use this exact name during installation, when configuring the Async
Server Message database.
3. Navigate to Retail > Setup > Retail scheduler > Channel integration.
o Async Server profile
Click to launch the Async Server profile form
This is the location profile for where all outgoing data from AOS to Async Server and all
incoming data from Async Server to AOS will be staged, on the computer where Async
Server Message database is installed.
On the Retail Area Page, navigate to Setup > Retail scheduler > Channel
integration and click on Working Folders.
Check the Download and Upload path fields to ensure there is sufficient storage
space available on the Async Server Message Database Server, in the specified
drive and folders. You will verify that the following record exists:
Name: The unique identifier of this record. We will use “File storage” as
the name.
Description: Description of the record. We will call this “File storage”
Download path: In this case we will verify this is called
“C:\DemoFiles\Retail\CDX\Upload”
Upload path: In this case we will verify this is called
“C:\DemoFiles\Retail\CDX\Download”
Note: both the AOS and the Async Server service account need to have permissions to access this folder.
o Channel datagroup:
On the Retail Area Page, navigate to Setup > Retail scheduler > Channel
integration and click on Channel datagroup.
Channel database entities can be aggregated together for more efficient
data synchronization between the head office and the channels. This is
used to create a datagroup where we require to push same type of data
to a group of stores. This will be helpful for pushing different set of data
for FP stores and different data for Outlet Stores. Verify that the
following exist:
o On the Channel data group form, in this lab you will need to
have a data group with the following values:
o Name: Here data group will be called
“HoustonDataGroup”. Name is the identifier of this
datagroup.
o Retail channel schema: We will need “AX 2012 R3” as
the schema, since that corresponds to the version of
the product which you are deploying.
o Working folders: We will need the previously verified
File Storage as the working folders.
o Channel database
On the Retail Area Page, under Retail > Setup > Retail scheduler > Channel
integration, click Channel database to launch the Channel database form. This
form allows you to define which “channels” should have their data made
available on which databases. Here we will be deploying a single store (Houston)
to a single channel database.
Verify that the following fields are correctly configured:
Channel database ID: Primary identifier for the channel database. We
will call it “HoustonStore”
Chanel data group: We will need the previously verified channel data
group record HoustonDataGroup
User name/Password: The user name is an identifier used to identify
this channel database entity. The user name/ password values entered
here must match the values specified when installing an Async Client
instance for the corresponding Channel Database. The purpose of
having a password here is data isolation, so that when installing channel
side components, inadvertent misconfiguration with the wrong
databases is prevented.
o Here we will be using “SynchClientHouston” and
“pass@word1” as the identifier and password.
Async Server profile: In this field, you will ensure that the previously
verified Async Server profile, AX2012R2A is selected.
Retail channel: In the Retail Channel field, we will verify that the
previously verified store, Houston has been selected, since this
database corresponds to the Houston store.
Retail Server: The purpose of this configuration is to be able to have
active database assignments for each channel. Although queries from
Modern POS in a store can be made to any Retail Server/Channel DB
pair, queries will be routed to the correct Channel Database based on
this assignment.1
o Server name: Name of the computer hosting the active channel
database for that channel. Here the server name will be
AX2012R2A.
o Database name: Name of the channel database to be used as
the active channel database for that channel. Here the database
name will be RetailHoustonStore.
1
This functionality is likely to be surfaced differently in the final release of the product. The active database
assignment will be done at the channel level on the channel forms, instead of on the channel database forms.
2. In the Channel profiles form, verify that the following records exist:
Name: This is the identifier of the Channel profile. Here we will use Retail server
channel profile as the name.
Profile type: We will select Retail Server profile type to use for the corresponding
properties.
Profile properties:
[Property key, Property value]
Retail server URL: This URL will be used by Modern POS for subsequent
connections to a Retail Server instance. This value should typically refer
to an active instance of Retail Server. This value can be changed to refer
to a newer instance of Retail Server, in case the original instance gets
pulled out of service. Note: Changing this value will not automatically
create or deploy a Retail Server instance.
o Use the following value:
http://ax2012r2a.contoso.com:35080/Retailserver
Where “http” is the protocol being used. In this
scenario, when you deploy the media server, you will
bind it to http.
AX2012R2A is the computer on which your Retail Server
instance will be installed.
35080 is the port on which Retail Server will be listening
for http connections.
“Retailserver” corresponds to the name of the
webapplication that you will use when deploying Retail
Server.
Hardware station URL: Hardware station is used by Retail Modern POS
to connect with peripheral devices such as printers and bar code
scanners. You will follow a similar pattern as you do for Retail Server.
o Here we will use the following value for the hardware station
url:
http://ax2012r2a.contoso.com:25080/RetailHardware
Station
When installing Hardware Station, we will use
25080 as the port number and
“RetailHardwareStation” is the name we will
use for the web application.
Media base URL: Media files such as images that show up in Retail
Modern POS are typically hosted in a separate location than on the
Retail Server. We will be hosting these on a simple IIS website. The
subsequent sections will describe how to actually setup the website.
o In this case the Media server website will be setup on a
computer called ax2012r2a, bound on port 8989, so the URL
you will use will be http://ax2012r2a.contoso.com:8989
4.2 INSTALL HEAD OFFICE RETAIL COMPONENTS
4.2.1 Certificate management
Before you begin installing Async Server, you must first configure SSL certificates to use for this
component. As we are installing the Retail components in a non-production environment we may use a
self-signed certificate to secure Async Server communication with Async Client. To do so, perform the
following steps:
Note: Self- Signed Certificate is required for development purpose. Self-Signed Certificate is valid for 1
year. For Vince case, we require a SSL certificate.
5. On the certificate creation screen, specify a friendly name and select the type of
certificate to create.
create the certificate in the Personal store.
6. After the certificate is created, double-click to view the certificate.
7. Navigate to the Details tab.
8. Scroll down to view the Thumbprint.
9. Click on Export tab. Export this certificate to desktop also, this certificate will be
required to MPOS devices later on.
Note: Do not use the thumbprint value from this walkthrough document. Each
certificate is generated with a random thumbprint.
Additional notes:
Message database configuration: The message database configuration
creates a new message database for use by Async Server. If the message
database already exists, it will simply re-use that database. Keep in mind
that each AX partition works with only 1 instance of Message Database.
Installing multiple Async Servers: To install multiple instance of Async
Server across different computers, be sure to specify the same Async
Server Message database server and database name in all installations.
The first installation will actually create the database. And all
subsequent installs will simply use the existing message database.
9. Verify that all second-screen validations pass and click Next to proceed to the next
screen.
Note: If any of the prerequisite validation fails, setup itself will provide you the link to download
the required setups and install it.
10. Confirm the installable component one final time and click Install.
11. After installation successfully completes, you will see the following confirmation screen:
12. Click Finish to close the installation.
Tip: For best results, limit the application name to alphanumeric characters with no spaces.
o App pool name: This will be used to assign the Real-time Service web
application to an application pool. We will call the app pool RealtimeService.
There are a few key deployment strategies that you can employ:
Shared application pools: If you are deploying multiple web applications
on a resource constrained computer, sharing a single application pool is
likely to provide the most optimal overall performance. But since the
application pool is shared, the load on one application is likely to impact
performance of the other application.
Unique application pools: To isolate the effects of load between
different applications, it’s best to use unique application pools for each
application.
o Website name: The folder name to which the Real-time Service web application
is deployed. We will call the website RealtimeService. Each web application
within a website needs to have a unique name. You may add multiple web
applications to the same website or create unique websites for each application.
We will create a unique website for each application that we deploy.
o User name: Enter a username under which the specified application pool will
run. This needs to be in the domain\username format. We will use svcRealtime
as the user account.
o Password: Specify the account password. We will use pass@word1 as the
password.
o HTTPS port: Specify an HTTPS port on which you would like the web application
to listen for connections. We will use port 8400. You must ensure that the port
you specify is not already bound to a different website.
Warning: If you decide to use port 443, this may clash with the default
IIS website which is usually bound to standard port sets for HTTP/HTTPS
(80/443). You can optionally disable or delete the Default Website if you
no longer need it, by going to IIS Manager.
o TCP port (optional): You can optionally specify a TCP port to bind Real-time
Service. We will use 809 as the tcp port.
o AOS service user: You will need to provide a domain user account that has
access to AOS. We will use contoso\administrator as the user account.
o SSL certificate thumbprint: You will need to specify the certificate thumbprint
of an SSL certificate that you have already installed on the computer. We will
navigate back to IIS, click on Server Certificates and double click on the
certificate to view the thumbprint of the previously existing certificate
(RetailConfSelfSigned) and then copy/paste it into the installer configuration
screen.
4.3 INSTALL STORE COMPONENTS
4.3.1 Install the retail channel database
Note: If there is any error, check for the user if “dbcreator” permissions are provided.
After Async Client is installed and configured, run the Distribution Schedule to send the data down to
the channel.
1. Click Retail > Periodic > Data distribution > Distribution schedule.
2. In the Distribution schedule form, select 9999, and then click Run Now to run the schedule for
full data sync.
Alert: Due to a known issue with Retail Server installation, use the modified installation procedure
below to ensure that the Retail Server works as expected.
The default install path for Dynamics AX Setup Support and corresponding Dynamics AX components is
under the Program Files(x86) and Program Files folders. However, due to current issues with Retail
Server, the install file path must be changed.
If Dynamics AX Setup Support files have already been installed, you must first uninstall those files.
1. Navigate to Control Panel > Programs and Features, or open the form directly by typing
Programs and Features on the start screen.
2. Select Microsoft Dynamics AX 2012 Setup Support Files (64- bit), and then click Uninstall.
3. After this, return to the DVD and then click autorun.hta to launch the Setup again.
4. When prompted to install Setup Support files specify an install location other than C:\Program
Files or C:\Program Files (x86). For this lab, use C:\Microsoft Dynamics AX\60 and then click
Next.
5. Verify that all prerequisites have been met and then click Next.
6. On the Configure Retail Server page, enter the configuration information to install Retail Server:
Application name: The identifier used to identify the Retail Server web application.
Enter a unique Application name and Website name combination. We will call the
application RetailServer.
Tip: For best results, limit the application name to alphanumeric characters with no
spaces.
App pool name: This will be used to assign the Retail Server web application to an
application pool. We will use RetailServer as the app pool name. There are a few key
deployment strategies that you can employ:
Shared application pools: If you are deploying multiple web applications on a
resource constrained computer, sharing a single application pool is likely to
provide the most optimal overall performance. However, because the
application pool is shared, the load on one application is likely to impact
performance of the other application
Unique application pools: To isolate the load effects between different
applications, use unique application pools for each application.
Website name: The folder name to which the Retail Server web application is deployed.
We will use RetailServer as the website name. Each web application within a website
needs to have a unique name. You may add multiple web applications to the same
website or create unique websites for each application. In this scenario, create a unique
website for each application that is deployed.
User name: Enter a username under which the specified application pool will run. This
needs to be in the domain\username format. We will use contoso\administrator as the
username. In typical deployments however, you should use a low privilege, isolated
account for each service.
Password: Specify the account password.
HTTP port: Specify an HTTP port on which the web application will listen for
connections. We will use port 5200. Optionally, verify that the port you specify is not
already bound to a different website by navigating to “IIS” and clicking on
“AX2012R2A>Sites”.
Warning: If you use port 80, this might clash with the default IIS website which is
usually bound to standard port sets for HTTP/HTTPS (80/443). You can optionally
disable or delete the Default Website if you no longer need it, by navigating to IIS and
deleting the Default website.
HTTPS port: Specify an optional HTTPS port on which the web application should listen
for secure connections. We will use leave this blank. As before, you can optionally verify
that the port you specify is not already bound to a different website.
SSL certificate thumbprint: If you specify an HTTPS port, you will also need to specify
the certificate thumbprint of an SSL certificate that you have already installed on the
computer. We will leave this empty.
Click Next to proceed to the next configuration screen.
On the next screen, specify the channel database server and database name that
this instance of Retail Server would use as its initial channel database.
o Database server: We will call this AX2012R2A, since that is the computer
where the channel database has been deployed.
o Database name: The name of the channel database. We will call reference
RetailHoustonStore.
Tip: Avoid mistyping the server name since that will likely cause the UI to freeze
for a little while until the SQL discovery times out.
2. Verify that all prerequisites have been met.
3. Click Install to install the selected components. In case of Retail Server, Retail Salt Utility will also
be installed, if it is not already.
4.3.4 Install Retail Modern POS
Retail Modern POS is a Windows 8 style application which only runs on Windows 8.1 and above. For
x86/x64 computers, Modern POS can be installed completely using Dynamics AXSetup. Use the
following procedures to install Modern POS in this lab.
4.3.4.2 Enable loopback exemption for running Modern POS & Retail Server on the same computer
Before device activation for Modern POS can be performed, the corresponding channel must first be
published. In this lab, since you’re only dealing with a single (Brick & Mortar) channel (store), you will
publish this channel (Houston). To do this, perform the following steps:
3. When you first launch Modern POS, you are greeted with a configuration screen. Enter the
configurations as described below:
o Server URL: Enter the URL of the Retail Server that you’ll be connecting to. We
can connect to the retail server hosted on AX2012R2A using the following url:
a. http://ax2012R2A.contoso.com:5200/RetailServer
o Device number: Enter a valid Device ID from the devices form in Dynamics AX.
a. We will use HOUSTON-3 as the device ID
o Register number: Enter the register number corresponding to the device that
you wish to activate.
a. We can use HOUSTON-3 as the Register ID
o Operator ID: Enter an operator ID for a worker who has Manager POS
Permission group or has the manage devices permission enabled.
a. In this lab you will use 000160 as the personal ID.
o Password: Enter the corresponding worker password.
a. We will use 123 as the password
o Tip: To find out the correct service URL, you can navigate to IIS and locate the
Retail Server web application:
a. Navigate to IIS Server by typing IIS on the start screen.
b. Follow the steps in the screenshot below.
c. Replace “localhost” with the name of the computer. E.g.
http://AX2012R2A.contoso.com:35080/RetailServer.
In Dynamics AX, mark the device entity as approved
a. On the Devices form, change the state of the device from Pending
to Approved.
On the Modern POS app, login with the credentials mentioned above.
You should now be able to login. Select the option to “Create a new
shift”.
If we have MPOS running on tablet and tablet is attached to the docking station where
peripherals are attached, then we may not install Hardware Station.
We can use “ipc://localhost” for the Hardware station URL in AX and peripherals can work.