Setup Microsoft ServiceBus / Workflow Manager

High-Level steps for installing Service Bus / Workflow Manager

  • Create Service Account (Recommended)
  • Create Admin Group (Optional)
  • Download / Install binaries from media using Web Platform Installer
  • Run Workflow Manager Configuration Wizard

Before you begin

This guide assume you install Service Bus/Workflow Manager on Windows Server 2016.

  • MS SQL Server installed and accessible.
  • The account running the wizard should have approprate access to the SQL Server to create databases and configure user logins.
  • The account running the wizard should have local admin rights to server.
  • You must update values appropriate to your environment.

Create Service Account

A service account is necessary for running the Service Bus / Workflow Manager services.

Import-Module ActiveDirectory
New-ADUser -Name '<username>' -SamAccountName '<username>' -Description "Workflow Manager Service Account" -PasswordNeverExpires:$true -AccountPassword (ConvertTo-SecureString -String "Passw0rd1" -AsPlainText -Force) -Enabled:$true

Create Admin Group (Optional)

You can either use the BUILTIN\Administrators group or create a new AD group for being granted database access to the workflow manager/service bus databases.

Import-Module ActiveDirectory
New-ADGroup -Name '<groupname>' -Description "ServiceBus/Workflow Manager Admins" -GroupScope Global -GroupCategory Security

Download Service Bus / Workflow Manager

Download Web Platform Installer from Microsoft in order to install Workflow Manager/ Service Bus.

Install Service Bus / Workflow Manager binaries

  1. Run "Web Platform Installer" and install Workflow Manager 1.0 Refresh (CU2).

Example

Example

After you click Finish, the Workflow Manager Configuration Wizard will automatically start.

Tip

If you close this wizard, you can find it by searching for "Workflow Manager Configuration"

Offline media installation of Service Bus / Workflow Manager

If you can't run Web Platform Installer from the application server, you can download the media offline from another server.

# Downloads WorkflowManager Refresh to the folder C:\Media\WorkflowManagerRefresh
PS C:\> & 'C:\Program Files\Microsoft\Web Platform Installer\WebpiCmd.exe' /offline /products:WorkflowManagerRefresh /path:C:\Media\WorkflowManagerRefresh
# Installs Workflow Manager Refresh using cached location
."C:\Media\WorkflowManagerRefresh\bin\WebpiCmd-x64.exe" /Install /products:"WorkflowManagerRefresh" /XML:C:\Media\WorkflowManagerRefresh\feeds\v001\webproductlist.xml /AcceptEula /SuppressPostFinish

Workflow Manager Configuration Wizard

Select Configure Workflow Manager with Custom Settings

Example

Select SQL Server Instance

Enter SQL Server instance details. Optionally you can change database names of the workflow manager databases. We recommend adding a prefix "DEV" or "TEST" for test environments.

SelectDatabase

Enter Service Account details / Generate certificate

  • Enter the service account details of the service account to use for running the service bus/workflow manager services.
  • Enter a certificate generation key.

Note

You must use the same key if you join an additional node to the service bus farm. We recommend saving this key in a secure location.

ConfigureServiceAccountAndCertificate

Configure Admin Group

  • Enter AD group details. Use either default BUILTIN\Administrators or create your own AD Group

ConfigureAdminGroup

Service Bus Configuration

Now that we've configured the details for the workflow manager farm, we continue with configuring the service bus.

Select SQL Server Instance

Enter SQL Server instance details. Optionally you can change database names of the service bus databases. We recommend adding a prefix "DEV" or "TEST" for test environments.

Example

Enter Service Account details / Generate certificate

We recommend you use the same service account / certificate generation key

Example

Configure Admin Group

  • Enter AD group details. Use either default BUILTIN\Administrators or create your own AD Group

Example

Summary

Example

Review or save the setup details for documentation purposes and then click the install button.

After the installation the following databases should've been created.

  • WFManagementDB
  • WFInstanceManagementDB
  • WFResourceManagementDB
  • SBManagemenDB
  • SBGatewayDatabase
  • SBMessageContainer01

You can verify the installation status of ServiceBus/Workflow Manager with the Get-WFFarmStatus and Get-SBFarmStatus cmdlets.

Tip

If you get the error "KeySet does not exist" - make sure you run powershell with elevated rights and that you are member of the worflow manager admin group.

PS C:\> Get-WFFarmStatus

HostName                              ServiceName             ServiceStatus
--------                              -----------             -------------
zptempappvm01.demo.zervicepoint.local WorkflowServiceBackend        Running
zptempappvm01.demo.zervicepoint.local WorkflowServiceFrontEnd       Running

PS C:\> Get-SBFarmStatus

HostId HostName                              ServiceName                   Status
------ --------                              -----------                   ------
1      zptempappvm01.demo.zervicepoint.local Service Bus Gateway           Running
1      zptempappvm01.demo.zervicepoint.local Service Bus Message Broker    Running
1      zptempappvm01.demo.zervicepoint.local Service Bus Resource Provider Running
1      zptempappvm01.demo.zervicepoint.local Service Bus VSS               Running
1      zptempappvm01.demo.zervicepoint.local FabricHostSvc                 Running

Note

You can run the following commands to see what cmdlets are available for managing the service bus / workflow manager service.

Get-Command -Module ServiceBus
Get-Command -Module WorkflowManager

Create Namespace for zervicepoint

After the ServiceBus / Workflow Manager is deployed - we must create a namespace for Zervicepoint to use.

The namespace should be called Zervicepoint and the following accounts should be added as "ManageUsers".

  • Service account running workflow manager/service bus
  • Service account running ProcessSystemWeb (Typically the frontend account)
  • Service account running ProcessSystem (Typically the backend account)
New-SBNamespace -Name ZervicePoint -ManageUsers @("demo\svc-mwm","demo\svc-zp-backend","demo\svc-zp-frontend") -Verbose

Common issues / Troubleshooting

Refer to Troubleshooting