You are on page 1of 2

Nintex Workflow 2010

Workflows and the SharePoint services required to
run them

For a workflow to be able to successfully run on a server in a SharePoint farm, that server is required
to be running both the "Microsoft SharePoint Foundation Web Application" role and the "Microsoft
SharePoint Foundation Workflow Timer Service" role.
Problems can arise if only one service is running and not the other. For example, in a farm with two
Web Front End (WFE) servers and one application server, you would expect the WFE servers to have
both services running but the application server may, for some reason, only have the Workflow
Timer service running. You would not generally expect to have the application server running the
Web Application role as that would classify it as a WFE.
Nintex Workflows are declarative workflows run by the SharePoint workflow engine (and hence the
Windows Workflow Foundation). As such, they are governed by the functionality of the SharePoint
workflow engine. This means that a workflow is normally first executed in the World Wide Web
Publishing Service (w3wp.exe). After a delay or pause, in which the workflow "sleeps", it wakes up
and is then run by the SharePoint Timer Service (the owstimer.exe process). The only time this isn’t
the case is if the w3wp.exe is under excessive load, in which case it postpones the workflow and the
Timer Service is then used to the continue the process.
SharePoint dictates which Workflow Timer Service will run the workflow - so this could occur on any
server on which the "Microsoft SharePoint Foundation Workflow Timer Service" is enabled.
However, when Nintex Workflow is installed, it only deploys the DLLs required to run workflows to
WFE servers: specifically, those servers with the "Microsoft SharePoint Foundation Web Application"
role enabled.
The result of all this is that if the Workflow Timer Service attempts to run a workflow on a server
which does not have the “Microsoft SharePoint Foundation Web Application” role, you will see
errors.
To fix the issue, you would either need to enable the “Microsoft SharePoint Foundation Web
Application” role on the application server or disable the "Microsoft SharePoint Foundation
Workflow Timer Service" role. Our recommendation is to disable the Workflow Timer service for
that server so that you don’t force the application server to become a WFE server.

PLEASE NOTE: If Nintex LazyApproval is permitted for your SharePoint farm, the
nintexworkflow2010.wsp solution package must also be deployed to machines in the farm that run
the Central Administration Service. That will ensure that server has the Nintex DLLs that it needs.


Nintex Workflow 2010