47
Solution Design Document Dynamics AX Email Approvals

Solution Design Document Dynamics AX Email Approvals

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solution Design Document Dynamics AX Email Approvals

Solution Design Document

Dynamics AX Email Approvals

Page 2: Solution Design Document Dynamics AX Email Approvals

Page 2 of 47

Preface

It is my pleasure to share this document and the knowledge contained within with our community. The

purpose of this Solution Design Document is to set forth an industry best practices approach for utilizing a

single document to capture a comprehensive strategy for requirements, analysis, design, and implementation

in support of implementing Email based notifications and approvals for Dynamics AX 2012 R3. Should you

have any questions or feedback about the content of this document, feel free to contact me.

Ranny Grubb

Chief Technologist

Pillow Rock Group, LLC

[email protected]

Page 3: Solution Design Document Dynamics AX Email Approvals

Page 3 of 47

Table of Contents

1. PROJECT OVERVIEW ..................................................................................................................................... 4

2. VISION AND SCOPE ......................................................................................................................................... 4

2.1 VISION STATEMENT ........................................................................................................................................ 4 2.2 PROJECT SCOPE .............................................................................................................................................. 5

3. REQUIREMENTS .............................................................................................................................................. 6

3.1 ACTORS/USERS ............................................................................................................................................... 6 3.2 USE CASE SUMMARY ..................................................................................................................................... 6 3.3 NON-FUNCTIONAL REQUIREMENTS ................................................................................................................ 8

4. SOLUTION ARCHITECTURE ....................................................................................................................... 10

4.1 SOLUTION OVERVIEW .................................................................................................................................. 10 4.2 APPLICATION DESIGN AND CONFIGURATION ................................................................................................ 12

4.2.1 User Option Configuration .................................................................................................................. 12 4.2.2 Email Processing Configuration .......................................................................................................... 14 4.2.3 Email Templates .................................................................................................................................. 16 4.2.4 Workflow configuration ....................................................................................................................... 19

5.1 INTEGRATION ARCHITECTURE AND DESIGN ................................................................................................. 23 5.1.1 Configure the Microsoft Azure Service Bus ......................................................................................... 24 5.1.2 Setup Inbound Port for Email Approval Service.................................................................................. 27 5.1.3 Install and Configure Dynamics AX Connector for Mobile Applications ............................................ 30 5.1.4 Configure Service Bus Namespace URL in Workflow Parameters ...................................................... 37

6.1 INFRASTRUCTURE DESIGN AND CONFIGURATION ......................................................................................... 39 7.1 SECURITY DESIGN AND CONFIGURATION ..................................................................................................... 41

7.1.1 Authentication ...................................................................................................................................... 41 7.1.2 Authorization ....................................................................................................................................... 42 7.1.3 Risks and Exposures ............................................................................................................................ 42

5. SOLUTION IMPACT ASSESSMENT ............................................................................................................ 43

6. COST DETAILS ................................................................................................................................................ 44

7. CONSTRAINTS, RISKS, AND ISSUES ......................................................................................................... 44

8. DEPLOYMENT AND IMPLEMENTATION PLAN .................................................................................... 44

9. REFERENCE..................................................................................................................................................... 46

10. CHANGE LOG .............................................................................................................................................. 47

Page 4: Solution Design Document Dynamics AX Email Approvals

Page 4 of 47

1. PROJECT OVERVIEW

In the current Dynamics implementation, there are multiple workflows with approval paths

including requisition, vendor invoice, vendor invoice journal, general journal, and budget register

entries. Approvers currently get a notification within the Dynamics client that one of the documents

is awaiting their approval. For many of these approvers, the only reason they ever log into AX is to

complete these approvals. In many cases, they are unaware there are documents awaiting their

approval. The submitter may ask them to approve face to face, via phone call or via email.

This project will focus on implementing approval by email. When a document is moving through

a workflow and requires approval, the approver will be notified via email that a document is

awaiting their approval. They will then have the option to APPROVE, REJECT or click on a link to be

taken to the Work List in the AX Role Center where they can then access the document.

2. VISION AND SCOPE

2.1 VISION STATEMENT

A user will submit a purchase requisition, direct vendor invoice, vendor invoice journal, general

journal, or budget register entry for approval. The approver will receive an email similar to the

following. The email will provide details about the transactions as well as any notes from the

submitter. The approver will then be able to click on a link to “Approve” or “Reject” the document.

Page 5: Solution Design Document Dynamics AX Email Approvals

Page 5 of 47

They will then be taken to a web page where they may enter necessary comments before

approving or rejecting the document.

This will prevent the approver from having to login to AX and will allow them complete the

approval from their computer, tablet, or other mobile device resulting in more efficient and timely

approvals.

2.2 PROJECT SCOPE

This solution will support email-based approvals for the following entities:

This solution will support email-based approvals for the following types of documents in Dynamics:

Purchase Requisition

Direct Vendor Invoice

Vendor Invoice Journal

General Journal

Budget Register Entry

Page 6: Solution Design Document Dynamics AX Email Approvals

Page 6 of 47

3. REQUIREMENTS

This section of the document is intended to capture the requirements for support of email-based

approvals in Dynamics. These requirements will identify the users(actors) involved in the approval

process, specific use cases these users are involved in through the approval process, and any non-

functional requirements such as technical or security requirements which must be considered when

implementing this functionality.

3.1 ACTORS/USERS

The following users are presented as roles so that the individual’s filling the role can change over

time. These users are the players in the use cases in the following sections.

ACTOR/USER DESCRIPTION

1. Submitter The submitter is the user who will be creating and submitting a document

for approval. This may involve preparation and submission of a purchase

requisition, direct vendor invoice, vendor invoice journal, general journal, or

budget register entry.

2. Approver The approver is the user responsible for approving a transaction. Once a

document is submitted into workflow for approval, the approver will get a

popup notification in Dynamics notifying them they have a document ready

for approval.

3. Dynamics(AX) Microsoft Dynamics AX application.

4. SMTP

Gateway

SMTP Mail Relay

5. Azure Microsoft Azure is a cloud computing service created by Microsoft for

building, testing, deploying, and managing applications and services

through a global network of Microsoft-managed data centers.

3.2 USE CASE SUMMARY

A use case is a list of actions or event steps typically defining the interactions between an actor and

a system to achieve a goal. The actor can be a human or other external system.

ID USE CASE DESCRIPTION

UC1 Purchase Requisition Notification Once a purchase requisition is submitted for

approval by the Submitter, AX should notify

the Approver via email they have a requisition

awaiting their approval. This email should

have detailed information about the

transaction including:

Description of the transaction

Description of each line on the transaction

Financial dimensions for each line on the

transaction

Status of budget check

Comments from Submitter

Page 7: Solution Design Document Dynamics AX Email Approvals

Page 7 of 47

ID USE CASE DESCRIPTION

UC2 Direct Invoice Notification Once a direct vendor invoice submitted for

approval by the Submitter, AX should notify

the Approver via email they have an invoice

awaiting their approval. This email should

have detailed information about the

transaction including:

Description of the transaction

Description of each line on the transaction

Financial dimensions for each line on the

transaction

Status of budget check

Comments from Submitter

UC3 Vendor Invoice Journal Notification Once a vendor invoice journal is submitted for

approval by the Submitter, AX should notify

the Approver via email they have an invoice

journal awaiting their approval. This email

should have detailed information about the

transaction including:

Description of the transaction

Description of each line on the transaction

Financial dimensions for each line on the

transaction

Status of budget check

Comments from Submitter

UC4 General Journal Notification Once a general journal is submitted for

approval by the Submitter, AX should notify

the Approver via email they have a general

journal awaiting their approval. This email

should have detailed information about the

transaction including:

Description of the transaction

Description of each line on the transaction

Financial dimensions for each line on the

transaction

Status of budget check

Comments from Submitter

UC5 Budget Register Entry Notification Once a budget register entry is submitted for

approval by the Submitter, AX should notify

the Approver via email they have a budget

register entry awaiting their approval. This

email should have detailed information about

the transaction including:

Description of the budget register entry

Page 8: Solution Design Document Dynamics AX Email Approvals

Page 8 of 47

ID USE CASE DESCRIPTION

Comments from Submitter

UC6 Email Relay and Distribution AX should forward email notifications to the

SMTP Gateway for distribution. For internal

addresses, the gateway will forward the

message to Groupwise. For external

addresses such as or users, the

gateway should forward the message to the

appropriate Internet mail relay for delivery.

UC7 Approver Approves Transaction The Approver will receive an email notification

from AX that a document is ready for their

approval. Once they review the information in

the email, the Approver should have the

ability to click on a link to approve the

transaction.

UC7.1 The Approver should receive

acknowledgement that the transaction has

been approved.

UC8 Approver Rejects Transaction The Approver will receive an email notification

from AX that a document is ready for their

approval. Once they review the information in

the email, the Approver should have the

ability to click on a link to reject the

transaction.

UC8.1 The Approver should have the ability

to provide comments as part of the rejection

process.

UC8.2 The Approver should receive

acknowledgement that the transaction has

been rejected.

UC9 AX Notifies Submitter Transaction is

Rejected

If a transaction is rejected by the Approver,

the Submitter should be notified the

transaction has been rejected.

3.3 NON-FUNCTIONAL REQUIREMENTS

This section of the solution design contains a summary of the non-functional requirements. Non-

functional requirements are requirements that are not directly tied to a functional use case. This

may involve technical requirements, security requirements, process requirements, or other types of

requirements.

ID REQUIREMENT DESCRIPTION

NF1 Support for Mobile Devices Approvers should be able to use a mobile

device such as an iPad or iPhone to receive a

Page 9: Solution Design Document Dynamics AX Email Approvals

Page 9 of 47

ID REQUIREMENT DESCRIPTION

notification and complete the subsequent

approval or rejection of the transaction.

NF2 Support for Selectable Notifications Some users may wish to handle all approvals

from within Dynamics. The system should

support the ability to choose to have an

Approver receive or not receive notifications

via email.

Page 10: Solution Design Document Dynamics AX Email Approvals

Page 10 of 47

4. SOLUTION ARCHITECTURE

This section of the solution design defines the solution architecture which will be utilized to

accomplish the project and realize the requirements which were identified in the previous section.

The solution architecture will vary across types of projects and can have unique components related

to a specific project. Typically, the solution design should cover the following design components.

Solution Overview

Application Design and Configuration

Interface and Integration Design and Configuration

Infrastructure Design and Configuration

Security Design and Configuration

These are the foundational components which typically make up a solution. Depending on the type

of project, one or more of these components may not be applicable. In addition, for some solutions,

there may be other design components that should be included.

4.1 SOLUTION OVERVIEW

Microsoft Dynamics AX 2012 R3 “Workflow Approval via Email” is a feature that will be utilized to

achieve the results for this solution.

This feature builds on the existing workflow capability to send email workflow instructions to

approvers who have been assigned by workflow. This feature is enabled by providing Approve and

Page 11: Solution Design Document Dynamics AX Email Approvals

Page 11 of 47

Reject links in the email message that is sent to approvers. The Approve and Reject links in the

message are action URLs that trigger the Approve or Reject workflow action when the approver

to whom the message is sent clicks the corresponding link.

The action URL is designed to work on any email client, and it works whether the email client is on

the internal network (for example, on a desktop computer) or outside off the network (for example,

on a mobile phone or tablet or at or ). As such, the action URL is based on the capabilities

of the Microsoft Windows Azure Service Bus. The Service Bus relays the action from the client to

the Microsoft Dynamics AX Connector for Mobile Applications (The Connector). The connector

receives the action and then makes a call to Microsoft Dynamics AX to record the action in workflow.

At that point, the action is completed in workflow, just as if the user were using the Microsoft

Dynamics AX client or Enterprise Portal for Microsoft Dynamics AX.

Page 12: Solution Design Document Dynamics AX Email Approvals

Page 12 of 47

4.2 APPLICATION DESIGN AND CONFIGURATION

For the email notification and approval to work, there are a number of configuration items which

need to be completed in Dynamics. The following sections outline the necessary configuration to

support email notification and approval.

User Option Configuration

E-mail Processing Configuration

E-mail Templates

Workflow Configuration

4.2.1 USER OPTION CONFIGURATION

A user’s ability to receive a workflow email notification is dependent upon a setting in the user’s

profile. This must be set for each user that needs to receive notifications via email.

After opening the user profile, click on Options to show the following configuration. On the General

tab, you must ensure a valid E-mail address is configured.

Page 13: Solution Design Document Dynamics AX Email Approvals

Page 13 of 47

Next, click on the Notifications tab and ensure the “Send notifications in email” is checked under

Workflow notifications.

This must be completed for each user that needs to receive workflow notifications through email.

Page 14: Solution Design Document Dynamics AX Email Approvals

Page 14 of 47

4.2.2 EMAIL PROCESSING CONFIGURATION

In order for AX to process email, it is necessary to implement the Email Distribution Batch Job. This

batch job runs at the selected interval and will process the sending of email messages that are in

the queue. There are a few configuration steps which need to occur.

First, you must configure AX’s general capability to send email. If you have an existing internal

SMTP server/relay, it will be as simple as going to System Administration>Setup\System\Email

Parameters and supplying the appropriate information for the SMTP server as shown below.

If there is no existing SMTP server, then you can implement the Microsoft SMTP Server which is

part of Internet Information Services(IIS) on Windows Server.

After setting these parameters, the next step is to configure the email batch processing job. This

can be completed by going to System Administration>Periodic\E-mail processing. You will see

several options as follows.

Click on Batch to configure the batch job which will process email messages as follows. Make

sure you click on Recurrence to configure the job to run frequently.

Page 15: Solution Design Document Dynamics AX Email Approvals

Page 15 of 47

Once this job is configured, you should then be able to go to System

Administration>Inquiries>Batch Jobs>Batch jobs and see the job in the batch queue as follows.

If you want to be able to monitor the status of email messages, you can simply click on System

Administration>Periodic\E-mail processing and then click on E-mail sending status.

Page 16: Solution Design Document Dynamics AX Email Approvals

Page 16 of 47

The following window will appear where you can see the status of email waiting to be sent as well

as a log of email messages which have been successfully sent. From this window, you can also

click and view the actual message content that was sent as well.

4.2.3 EMAIL TEMPLATES

An email template functions as the structure within which additional information is embedded and

sent. The email template is used to specify basic information such as Sender Name, Sender E-mail

Address, and Priority of the message. In addition, you can also include basic text you want to

appear in every email as well as embedding content specific messages which are specific to the

workflow which is in progress. Once an email template is created, that email template is then

associated to the workflow. The workflow will then use that email template to send alerts and

notifications. You could have a single email template which is used for all workflows but I have

found that having one template per workflow makes more sense because there is some information

that is unique to the respective workflow.

To create the E-Mail Templates, go to Organization Administration>Setup and click on E-Mail

templates. From there, you can click on File>New to create a new template.

Page 17: Solution Design Document Dynamics AX Email Approvals

Page 17 of 47

From there, you will supply the highlighted information as shown below.

Once the basic information is completed, you will then be able to further customize the template

in the lower pane of the window where you can specific a Subject for the email and choose

whether the email template will be in HTML or XSLT format. You can then click on the E-Mail

Message button to further customize the body of the email.

Page 18: Solution Design Document Dynamics AX Email Approvals

Page 18 of 47

The message can be formatted, and can include %variables% that are replaced by data when the

workflow notification email is transmitted. A full list of the placeholders can be found on Technet

at: https://technet.microsoft.com/en-us/library/aa834423.aspx, Below are the basic variables

which can be utilized.

You can also include these placeholders in the ‘Subject’ line of the E-mail template as shown

above.

Page 19: Solution Design Document Dynamics AX Email Approvals

Page 19 of 47

4.2.4 WORKFLOW CONFIGURATION

In general, to enable notifications on workflows, you will simple need to associate a template you

created to the workflow and then enable notifications on specific types of events within the

workflow. These actions coupled with enabling notifications via email on the given user’s profile,

will allow the user to receive notifications from the workflow.

To associate an email template to the workflow, simply click on Basic Settings and then select the

email template from the list of templates as shown below.

Notifications may occur throughout different steps in the workflow. To configure notifications for

a specific step, you simply need to click on the step to assign focus to the step and then configure

notifications as shown below.

Page 20: Solution Design Document Dynamics AX Email Approvals

Page 20 of 47

When configuring Notifications, you must configure the Notification Text and the Recipient which

is who you want to receive the notification. When configuring the Notification Text, you have the

ability to click on the Insert Placeholder button to insert variables which represent information

about the specific transaction into the notification.

With an Approval, there will be at least one step in the approval. It is on this step that you can

interrogate the workflow to provide details about the transaction in the notification email that goes

to the approver requesting their approval. Each step will have two sections within Basic Settings;

Work item subject and Work item instructions. Anything that is specified in Work item subject

will be injected into the Email Notification Template through the %subject% variable. Anything that

is specified in the Work item instructions section will be injected into the Email Notification

Template through the %message% variable. The examples below show the configuration of the

workflow and the result which will appear in the notification email.

Work item subject

%Ledger journal table.JournalName% %Ledger journal table.JournalNum% Awaiting Approval

Page 21: Solution Design Document Dynamics AX Email Approvals

Page 21 of 47

Work item instructions

Please approve %Ledger journal table.JournalName% %Ledger journal table.JournalNum%

submitted by %Workflow.Workflow originator%. Below are the details of this transaction.

Budget check results: %Ledger journal table.Budget check results%

Journal Line Description: %Ledger journal table.Journal lines.Txt%

Main Account: %Ledger journal table.Journal lines.OffsetLedgerDimension.MainAccount%

OL1: %Ledger journal table.Journal lines.OffsetLedgerDimension.OL1%

Department: %Ledger journal table.Journal lines.OffsetLedgerDimension.Department%

Division: %Ledger journal table.Journal lines.OffsetLedgerDimension.Division%

Fund: %Ledger journal table.Journal lines.OffsetLedgerDimension.Fund%

Function: %Ledger journal table.Journal lines.OffsetLedgerDimension.Function%

Subdivision: %Ledger journal table.Journal lines.OffsetLedgerDimension.Subdivision%

Program: %Ledger journal table.Journal lines.OffsetLedgerDimension.Program%

Project: %Ledger journal table.Journal lines.OffsetLedgerDimension.Project%

Note from Submitter: %Workflow.Last note%

%Workflow.Link to approve with comment%

%Workflow.Link to reject with comment%

Page 22: Solution Design Document Dynamics AX Email Approvals

Page 22 of 47

If you wish to allow the Approver to approve the transactions using a link in the notification email,

you must also add two special variables which are:

%Workflow.Link to approve with comment%

%Workflow.Link to reject with comment%

These items result in the Approve and Reject links appearing in the notification email. These links

utilize the

Notice that none of these options for sending notifications refer to the crucial step of letting you

know that a purchase requisition has been assigned to you for approval. That notification occurs

automatically.

Page 23: Solution Design Document Dynamics AX Email Approvals

Page 23 of 47

5.1 INTEGRATION ARCHITECTURE AND DESIGN

The previous section reflects the configuration of the application within Dynamics in order to have

a workflow transmit an email notification out of Dynamics. This section of the document sets forth

the design which picks up the email notification from Dynamics, transmits it to the approver, and

then provides the integration necessary to allow the approver to either approve or reject the

transaction from their email.

As shown in the figure above, the APPROVER will receive an email similar to the email below which

has an APPROVE or REJECT link in the email. These will be clickable links. The following shows an

example of the URL for each link.

Page 24: Solution Design Document Dynamics AX Email Approvals

Page 24 of 47

APPROVE

https:// axwfapproval.servicebus.windows.net/Email/applyURLActionWithComment?action=A

pprove&workflowDocumentId={85DA0519-9898-4B4F-8844-

4FADA1D2E498}&userId=b82accba2 a932760e e93c1c6174b1b1cd0558cd

045d3&url=https%3a%2f%2f axwfapproval.servicebus.windows.net%2fEmail%2fapplyURLActi

on&actionLabel=Approve&commentLabel=Comment&cancelLabel=Cancel&RTL=false

REJECT

https:// axwfapproval.servicebus.windows.net/Email/applyURLActionWithComment?action=Re

ject&workflowDocumentId={85DA0519-9898-4B4F-8844-

4FADA1D2E498}&userId=b82 a932760ed32 93c1c6174b1b1cd0558cd

045d3&url=https%3a%2f%2f axwfapproval.servicebus.windows.net%2fEmail%2fapplyURLActi

on&actionLabel=Reject&commentLabel=Comment&cancelLabel=Cancel&RTL=false

Both of these URLs point to https:// axwfapproval.servicebus.windows.net. This is a Microsoft

Azure Service Bus. The Microsoft Azure Service Bus is a web service which is designed to provide a

mechanism to integrate applications utilizing a messaging architecture. For a comprehensive

description of the Azure Service Bus, please see https://docs.microsoft.com/en-us/azure/service-

bus-messaging/service-bus-fundamentals-hybrid-solutions. Azure will then communicate back to

the Dynamics application running in the internal network via an Inbound Port configured using the

Services and Application Integration Framework. This communication is brokered by the Dynamics

AX Connector for Mobile Applications which is a software/service running on an internal server.

Please see https://www.microsoft.com/en-us/download/details.aspx?id=36776 for additional

details on this application. The following sections outline the steps which are necessary to configure

this integration framework.

5.1.1 CONFIGURE THE MICROSOFT AZURE SERVICE BUS

This section outlines the steps necessary to setup an Azure account and to configure the Azure

Service Bus namespace.

1. Register for Azure Account and Subscription

If you already have an active Azure account and subscription, this stepped can be skipped.

You can sign up for a free Azure account with a 90-day subscription but eventually you will

need to convert to a paid model.

2. Submit Support Request to Microsoft to Have Subscription Whitelisted

The Dynamics AX Connector for Mobile Applications requires an Azure Service Bus

Namespace and a companion Access Control Service(ACS) Namespace. Azure currently

supports ACS as an authentication mechanism for service bus applications. Microsoft will

eventually transition away from this architecture supporting Access and Identity

Management toward the use of Azure Active Directory. This will require a change to the

Connector. There is no documented timeframe as to when this will be occurring.

Additional details on this change can be found at:

Page 25: Solution Design Document Dynamics AX Email Approvals

Page 25 of 47

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-acs-

migration

Long story short, you will need to contact Microsoft to have them whitelist your Azure

subscription which will then allow you to create the required Service Bus Namespace and

companion ACS namespace.

3. Install Azure PowerShell Cmdlets

Creation of the Service Bus and ACS namespaces must be done through PowerShell. In

order to access/manage Azure through PowerShell, you will need to install the Azure

PowerShell Cmdlets from https://azure.microsoft.com/en-us/downloads/.

4. Connect to Azure Account

In Windows PowerShell, run the Add-AzureAccount command, and provide the user name

and password for the Azure account created in Step 1.

5. Create Azure Namespace and Companion ACS Namespace

PS C:\> New-AzureSBNamespace -name AXWFApproval -location 'East US' -

CreateACSNamespace $true -NamespaceType Messaging

Upon successful completion, you will see a screen similar to the following:

6. Login to Azure Portal and Verify Existence of Service Bus Namespace

After creating the namespace, you can login through the Azure Portal at

https://portal.azure.com or https://portal.azure.us for the Government Portal and view the

new namespace. You should see something similar to the following:

Page 26: Solution Design Document Dynamics AX Email Approvals

Page 26 of 47

You can then click on the Service Bus and then click on Properties to verify provisioning

was successful.

Page 27: Solution Design Document Dynamics AX Email Approvals

Page 27 of 47

7. Login to ACS Management Portal to Verify Creation of ACS Service

When the namespaces were created in Step 5, the link to the ACS endpoint was shown as

follows:

You can login to this site to verify the ACS endpoint. You should see a screen similar to the

following.

5.1.2 SETUP INBOUND PORT FOR EMAIL APPROVAL SERVICE

This step will be completed on the on-premise Dynamics AX environment. The result of this step

will be AIF Inbound Port that will listen for incoming communication from the Dynamics AX

Connector for Mobile Applications which is configured in the following step.

1. In Microsoft Dynamics AX, click on System Administration > Services and Application

integration framework > Inbound ports.

Page 28: Solution Design Document Dynamics AX Email Approvals

Page 28 of 47

2. Click New, and enter a name and description.

3. Under Service contract customizations, click Service operations. The WSDL URI is

populated.

4. In the list of operations on the right side of the Select service operations form, select the

SysWorkflowApprovalService.applyUrlAction service operation, and then click < to add it

to the list on the left side of the form.

5. Close the Select service operations form, and then, in the Inbound ports form, click

Activate.

Page 29: Solution Design Document Dynamics AX Email Approvals

Page 29 of 47

You should see a green checkmark beside the service. You will also see the WSDL URI

which will be utilized later in the configuration of the Dynamics AX Connector for Mobile

Appliations.

Page 30: Solution Design Document Dynamics AX Email Approvals

Page 30 of 47

5.1.3 INSTALL AND CONFIGURE DYNAMICS AX CONNECTOR FOR MOBILE APPLICATIONS

This step will focus on installing the Connector which runs on an on-premise server. It can run on

any server including but not limited to one of the Dynamics AOS’s. This application will run as a

Windows Service and will connect to the Azure Service Bus created in a previous step. It will

initiate and maintain a connection to the Azure Service Bus. When the Azure Service Bus receives

a message when an Approver clicks on a link in the email, Azure will then forward the

authenticated message into the Connector. The Connector will then communicate with Dynamics

through the AIF port configured in the previous step.

1. Download the Connector

The Connector can be downloaded from Customer Source at:

https://mbs.microsoft.com/customersource/northamerica/AX/news-

events/news/MSDYN_MobileAppsAX

2. Provision Service Account in Dynamics

Create a new service account user, and make sure that the service account user is

present in the machine’s Administrator group before you deploy the Microsoft

Dynamics AX Connector for Mobile Applications service on the machine. This user will

run the connector service. This account can be a local machine account or a domain

account.

Make sure that this new service account user has a record in Microsoft Dynamics AX

and has been given System administrator privileges.

3. Install Connector

Double click on AXConnectorForMobileApplications.msi to start the installation. The

following window will appear. Click on Next to continue.

Page 31: Solution Design Document Dynamics AX Email Approvals

Page 31 of 47

Accept the license terms and click on Next to continue.

Accept the default for the destination folder and click on Next to continue.

Enter the service account information as follows.

Page 32: Solution Design Document Dynamics AX Email Approvals

Page 32 of 47

Click on Install to complete the installation.

After the installation is complete, it will be necessary to start the Connector service. Go to

Start > Administrative Tools > Service to open the Windows Services list. Click Start to

start the Microsoft Dynamics AX Connector for Mobile Applications service. The service will

run under the context of the service user account.

4. Configure Connector

Once the installation is complete you the Connector service has been started, you should

have a new item under Apps for the Microsoft Dynamics AX Connector for Mobile

Applications as follows.

Page 33: Solution Design Document Dynamics AX Email Approvals

Page 33 of 47

Click on this item to open the Connector to complete the configuration. You will see a

window similar to the following.

To complete the configuration, you will click on the parameter in the list, enter the

appropriate value for the parameter and then click on Save. The following parameters are

the ones that are required to support email approvals.

Page 34: Solution Design Document Dynamics AX Email Approvals

Page 34 of 47

Azure service namespace – This is the name of the namespace which was configured in a

previous step. This can be found in the Azure portal as follows.

Azure service identity name – By default, this will be “owner” unless it has been modified.

You can find this information in the ACS Management Portal as set forth on Page 26. After

logging into the portal, you will see the following screen. Click on Service Identities.

There you will see the Service Identify for the service bus which will include the Name.

Page 35: Solution Design Document Dynamics AX Email Approvals

Page 35 of 47

Azure service identity password – This password provides the authentication for this

service. This password can be found by click on the Service Identify Name, “Owner” as

shown above. You will then see the following window.

The Symmetric Key and Password are essentially the same by default unless they are

changed. This will provide a 256-bit symmetric key that will be utilized to authenticate to

the service bus.

Page 36: Solution Design Document Dynamics AX Email Approvals

Page 36 of 47

Click on Password. The following window will appear. You can then click on the Show

Password button to display the password. You can then copy/paste this password into the

Azure service identify password value in the Connector.

Endpoint URI of EmailApprovalsService – This is the URI of the AIF Inbound Port which

was configured in Dynamics beginning on Page 26. WSDL port, 8101, should not be used

as the endpoint URI of EmailApprovalsServices, because it is used as the default inbound

port for an instance of AOS. It is recommended that port 8201 be used instead so the URL

would be similar to the following:

net.tcp://DAXTST:8201/DynamicsAx/Services/RocoEmailApproval

Page 37: Solution Design Document Dynamics AX Email Approvals

Page 37 of 47

While not utilized for this specific configuration, the following parameters must not be

blank. I would recommend just putting an “x” in for their value. If these are blank, you will

get an error when you attempt to start the service.

Thumbprint of X509 certificate used to sign SAML token

ADFS URL

Support Email

After completing the configuration of each of these parameters, you should be ready to

start the Connector service. Click on Start to start the service. You should see a window

similar to the following showing a green “Started” along with the related URL’s for the

service below.

Make note of the https:// axwfapproval.servicebus.windows.net/Email/ URL. This will

be carried forward to the next step.

5.1.4 CONFIGURE SERVICE BUS NAMESPACE URL IN WORKFLOW PARAMETERS

This is the final step in the configuration. This step will configure the workflow parameters with the

URL from the previous step. The workflows will then pull this URL into the email templates for the

APPROVE and REJECT links as described on Page 23.

Page 38: Solution Design Document Dynamics AX Email Approvals

Page 38 of 47

To configure, go to System Administration > Setup > Workflow > Workflow parameters.

Paste the URL into the configuration as shown above and click on Close to complete the process.

Page 39: Solution Design Document Dynamics AX Email Approvals

Page 39 of 47

6.1 INFRASTRUCTURE DESIGN AND CONFIGURATION

This section of the Solution Design identifies the design and configuration of the infrastructure

components necessary to support the solution design as set forth below.

Component Description

Dynamics AX 2012 R3 This represents a functional Dynamics AX 2012 R3

platform. At a minimum, this will include one or more

AOS’s as well as the database. These services may be

running on one or more physical or virtual servers.

The AX-PROD environment consists of the following

virtual machines:

Dynamics Connector for Mobile

Applications

This is a Windows Service that will be installed and

configured to run on one of the existing AX

Page 40: Solution Design Document Dynamics AX Email Approvals

Page 40 of 47

Component Description

application servers. This application will be installed

on:

DAXTST – For Test Purposes

– For Production Operation. It makes sense

to install on this AOS since this AOS is responsible for

batch and workflow processing.

SMTP Mail Relay This role will be handled by an internal SMTP relay.

smtp.roanokecountyva.gov

This SMTP relay has been configured to accept and

relay messages from the following hosts:

Groupwise This represents the internal Groupwise Email system.

No additional configuration is necessary on this

system.

Azure This represents the Microsoft Azure environment. This

is a cloud-based service hosted by Microsoft.

Firewall The firewall shown in the above diagram represents

the security perimeter between the internal network

and the public Internet. No configuration changes are

required on the firewall to support this service.

Page 41: Solution Design Document Dynamics AX Email Approvals

Page 41 of 47

7.1 SECURITY DESIGN AND CONFIGURATION

This section of the Solution Design identifies design and configuration items that relate to the

security of this solution. While the implementation of this solution does not require any specific

changes to security or implementation of additional authentication or authorization mechanisms,

the solution does present a few minor exposures that must be addressed along with the

mechanisms that will be implemented to address these exposures.

7.1.1 AUTHENTICATION

As shown in the following diagram, the Dynamics Connector for Mobile Applications Windows

Service will communicate to the Azure Service Bus and establish a persistent connection.

This connection is authenticated via symmetric private keys. In order to establish this connection,

it uses three parameters which were entered when the Connector was configured as follows:

Azure service namespace Provide the “address” of the web service or Azure Service

Bus.

Azure service identify name The Connector uses this parameter as one of the two

components necessary to authenticate to the Azure

Page 42: Solution Design Document Dynamics AX Email Approvals

Page 42 of 47

Service Bus. The identity name essentially functions as a

“public key”.

Azure service identity password The Connector uses this parameter as the other

component of the credentials to authenticate to the Azure

Service Bus. The service identity password essentially

functions as the “private key”.

The initial communication from the Connector to Azure occurs over an HTTPS connection so the

information above is passed through an encrypted tunnel. Once the connection is authenticated,

the Connector then establishes a persistent connection between the Connector and Azure over two

random TCP ports. This can be seen by interrogating the connections to the server which the

Connector is running on. Below is an example.

TCP 192.168.XX.XX:52717 52.168.133.227:9351 ESTABLISHED

[Microsoft.Dynamics.Framework.RapidStart.Connector.exe]

TCP 192.168.XX.XX:52722 52.168.133.227:9351 ESTABLISHED

[Microsoft.Dynamics.Framework.RapidStart.Connector.exe]

This essentially creates a “tunnel” between the Connector and Azure for secure communication of

messages.

7.1.2 AUTHORIZATION

The user will receive an email with links to APPROVE or REJECT the transaction. When they click on

either of these links, their client will launch their default web browser initiating a connection to the

Azure Service Bus through an encrypted HTTS connection through the Internet. The call to the

Service Bus via the action URL from the email message is not authenticated. However, the action

URL does contain a considerably long secret GUID as shown below that is required for the APPROVE

or REJECT action.

https://r axwfapproval.servicebus.windows.net/Email/applyURLActionWithComment?action=A

pprove&workflowDocumentId={85DA0519-9898-4B4F-8844-

4FADA1D2E498}&userId=

&url=https%3a%2f%2f axwfapproval.servicebus.windows.net%2fEmail%2fapplyURLActi

on&actionLabel=Approve&commentLabel=Comment&cancelLabel=Cancel&RTL=false

The Connector also applies throttling if it detects repeated failed attempts. The Application

Integration Framework (AIF) service is protected by requiring that a value GUID (which is embedded

in the action URL) be presented. If the GUID is not valid, no action is taken.

7.1.3 RISKS AND EXPOSURES

While overall, the solution provides a secure architecture for the approval of transactions, there is

an exposure in that the action URL that is included in the email message is not authenticated to the

Page 43: Solution Design Document Dynamics AX Email Approvals

Page 43 of 47

intended user. The original email will be delivered to the intended user based upon the email

address that is on their Options in their user profile. However, any user who has access to the

message can click the action link. For example, if a user forwards the message to another user, the

recipient of the message could complete the approve or reject action. This risk is mitigated by the

fact that a user must authenticate to the email system in order to receive the email.

5. SOLUTION IMPACT ASSESSMENT

This section of the document is intended to define the impact of this project on the overall

technology footprint, Finance processes or procedures, or processes and procedures.

ITEM IMPACT SUMMARY

ROLES AND RESPONSIBILITIES LOW This solution will require no additional roles

or responsibilities nor any changes in

existing roles or responsibilities.

USER SUPPORT MEDIUM This solution will extend additional

functionality to the user by providing the

ability to complete approvals via email. As a

result, additional support issues may occur

and be required to be addressed as a result

of the implementation of this solution.

DISASTER RESILIENCE LOW This solution will take advance of the

existing DR capabilities which are already in

place and will not require any additional

capabilities.

INITIAL SOFTWARE COST LOW There is no additional software cost for this

solution.

RECURRING SOFTWARE COST LOW There is no recurring software cost for this

solution.

RECURRING SERVICE COST LOW Based on testing of this solution, this

solution will require an Azure subscription.

The solution will incure a minimal monthly

cost for the messages which flow through

the Azure service bus.

INFRASTRUCTURE COST LOW There is no additional infrastructure cost

related to this solution.

APPLICATION AND INFORMATION SECURITY LOW Please see Section 7.1 for a full explanation

of the overall security risks and mitigations.

PERMITER SECURITY ATTACK SURFACE LOW No additional inbound ports on the

perimeter firewall are required.

NETWORK BANDWIDTH AND PERFORMANCE LOW This solution will result in minimal impact to

network bandwidth usage.

CLIENT ACCESS LOW This solution will not impact client access.

INFORMATION RETENTION AND RECORDS

MANAGEMENT

LOW This solution will not impact information

retention and records management.

PROCESS LOW This solution will not require any process

changes.

Page 44: Solution Design Document Dynamics AX Email Approvals

Page 44 of 47

6. COST DETAILS

This section if the document defines any capital or recurring operations costs related to the

implementation of this solution.

7. CONSTRAINTS, RISKS, AND ISSUES

This section of the document is intended to capture any constraints, risks or issues that are

identified during the Analysis and Design Phase.

ITEM DESCRIPTION RISK

1. Use of Azure ACS Namespaces Support for the use of the Azure ACS

namespaces will be discontinued as of

November 2018. At the current time, the

Connector requires the use of an ACS

namespace. Microsoft will need to release

a version of the Connector that will support

another authentication method prior to this

date.

MEDIUM

2.

3.

4.

5.

8. DEPLOYMENT AND IMPLEMENTATION PLAN

This section of the document is intended to provide a deployment and implementation plan for

this project. This is not intended to be a comprehensive project plan. If this level of detail is

required, a separate project plan will be developed outside of this document.

TASK ECD ASSIGNED STATUS

APPLICATION CONFIGURATION

1. Configure Email and Notification Options for Users

2. Complete Email Processing Configuration in AX

3. Complete Configuration of Email Templates

4. Complete Workflow Configuration to Support Email

Notification and Approvals

INTEGRATION CONFIGURATION

5. Provision Production Azure Account and Subscription

6. Complete Azure Service Request to have Subscription

Whitelisted for Implementation of ACS Namespace

7. Complete Configuration of Azure Service Bus

8. Configure Inbound AIF Port to Support Email

Approval in AX

Page 45: Solution Design Document Dynamics AX Email Approvals

Page 45 of 47

TASK ECD ASSIGNED STATUS

9. Install and Configure Dynamics AX Connector for

Mobile Applications

10. Configure Service Bus Namespace URL in Workflow

Parameters

TESTING

11. Test ability to successfully send email notifications

from workflow to validate email processing

configuration

12. Test ability to successfully APPROVE or REJECT a

document utilizing link in Email

Page 46: Solution Design Document Dynamics AX Email Approvals

Page 46 of 47

9. REFERENCE

About setting up alert email templates [AX 2012]

https://technet.microsoft.com/en-us/library/aa834423.aspx

Overview of Azure Service Bus

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-fundamentals-

hybrid-solutions

Microsoft Dynamics AX 2012 White Paper: Configure the Microsoft Dynamics AX environment for

companion apps

https://www.microsoft.com/en-us/download/details.aspx?id=36776

Microsoft Dynamics AX Connector for Mobile Applications Download

https://mbs.microsoft.com/customersource/northamerica/AX/news-

events/news/MSDYN_MobileAppsAX

Azure Portal

https://portal.azure.com

Azure Government Portal

https://portal.azure.us

Azure PowerShell Cmdlets

https://azure.microsoft.com/en-us/downloads/.

Page 47: Solution Design Document Dynamics AX Email Approvals

Page 47 of 47

10. CHANGE LOG

DATE CHANGE SECTION/

PAGE

CHANGED BY