The SharePoint 2013 workflow platform
SharePoint 2013 supports two workflow platforms:
- The first platform is very similar to the SharePoint 2010 worfklow platform.
- All workflows built in SharePoint 2010 will continue to work in SharePoint 2010.
- Creating new workflows in SharePoint 2013 will be very similar to how to create workflows for SharePoint 2010.
- This is the default platform that is installed when first setting up a SharePoint 2013 environment.
- To support more than out-of-the-box workflows an on premise installation is required.
- The second platform is a separate service called Workflow Manager.
- Workflow Manager can be an on-premise set of servers or an Azure hosted service that communicates with the SharePoint server farm.
- The main advantages of using the workflow manager is that it gives the ability for workflows to scale and provides a level of isolation: i.e., in the event a rogue workflow consumes all server resources, the performance of the SharePoint farm is not impacted.
For an on-premise server architecture this is what it may look like:
Visio 2013 and SharePoint Designer 2013
Microsoft has made it easier to create workflows in Visio 2013 with a new SharePoint 2013 workflow template. The idea is that a business analyst will use Visio to document (by creating workflow actions) the behaviour of the business process. Once this is completed the same Visio file is given to a developer who will then take the workflow actions as defined by the analyst, open it in SharePoint Designer 2013, and for each action will create the necessary workflow activities. Publishing of newer activities with respect to workflow versioning (i.e., respecting updating a workflow that has instances still in progress) can be accomplished by code.
The workflow actions that are supported in SharePoint 2013 are listed here: http://technet.microsoft.com/en-us/library/jj164026.aspx.
It is important to note that it is not possible to create a custom workflow activity in code and host it on Azure for security reasons. This is only supported for on-premise platforms.
So how does Nintex Workflow fit into all of this?
Nintex has made it easy for anyone to create and publish workflows. A new workflow can be created in a browser without the need for Visio or SharePoint Designer. Nintex Workflow supports both platforms as mentioned previously:
- Similar to SharePoint 2010, there is the Nintex Workflow 2013 product that has all the Nintex Worflow 2010 actions and more options for mobile, social, and cloud.
- If none of the many Nintex actions meets the needs of the customer, this product allows for creating custom activities in code and using them in the Nintex workflow. There is an excellent SDK to help with this.
- There is a new Nintex Workflow online app (to be released soon, preview available now) that will run in the cloud.
- Essentially this is leveraging all the out-of-the-box capabilities of the SharePoint 2013 workflow coupled with cloud services exposed by the Nintex Live catalogue.
- It is not possible to create custom activities in code and upload them to the cloud due to the limitations of Azure hosted services.
- Nintex does not store the workfow in the cloud but rather the workflow definitions are stored in the SharePoint database online. The SharePoint workflow engine reads and executes these in real-time.
Although Microsoft has made it easier to create workflows in SharePoint 2013, there is still a heavy reliance on a developer creating, deploying, and supporting SharePoint workflows whether they are on-premise or in the cloud.
Nintex has made it easy for anyone to create a workflow and since their products are built on top of the Microsoft SharePoint workflow platform they are able to support both on-premise and Azure hosted workflows. Currently, the Nintex Workflow Online Preview is available at no charge, as an unsupported trial, at the SharePoint Store.