This document is intended to provide a comparison between the following workflow technologies utilized with SharePoint:
- SharePoint Designer Workflows
- Nintex Workflows
- Visual Studio Workflows
- Black Pearl Workflows
A brief overview of each follows.
The out of the box SharePoint workflow engine that allows for basic workflow actions. This baseline set of actions allows for modeling of most business processes in a segmented format (large processes maps broken up into smaller sub processes modeling a stage or event). SPD workflows are a good fit for simple processes where the goal is to increase the velocity of a process. SharePoint does not provide deep analytics about how a process is running. SPD workflows are not a Business Process Management solution. The principle focus of SPD workflows is to get the work in front of the actor who needs to process it.
A SharePoint Workflow add-on that layers analytics and custom actions on top of out of the box features. This product focuses on adding integration and automation features to SharePoint that are missing from the base product. A true SharePoint only product. Workflows are created using an in browser based GUI. Nintex operates very similarly to SharePoint designer workflows in that a user constructs the workflow from a toolbox of actions but there are 5 times more actions available and many of the actions allow for interaction with other systems. Nintex also handles deployment of workflows between environments as well as auditing of workflows (both missing from SPD workflows)
The kitchen sink of BPM. This is a much larger and more complex product than Nintex and is designed for horizontal integration across multiple platforms. The version quoted for the Database integration project is a partially licensed version that allows for SharePoint workflow and integration. K2 also makes a SharePoint only product called BlackPoint that resembles Nintex in feature set but prefers to sell a licensed limited version of Black Pearl to customers to allow for expansion via licensing rather than reinstall. There is no upgrade path from BlackPoint to BlackPearl.
If you can dream it you can do it. Write code to do anything you need to (for a steep development and maintenance cost). A good fit if you have a small number of complex workflows and don’t need instrumentation or BPM surrounding them. Suffers from the shortfalls of all custom built software:
- High intellectual capital expense
- Multi-step deployment in a non-intuitive format (SharePoint features do not install like any other software in the Microsoft stack)
- Still need to hand code common integration features (site provisioning, account creation, permission mgmt., etc…)
Once you utilize a product other than SPD your capabilities increase significantly. Most core integration operations (provisioning, database operations, audit, etc.) are covered in both Nintex and Black Pearl. Any operation you could do in Nintex and Black Pearl could be replicated in Visual Studio Workflows with great developmental effort.
Nintex is the simplest Workflow engine add-on. It is designed to run on top of a SharePoint farm and interact with other systems from SharePoint. It is designed to fill the gaps present in the SharePoint base product.
Visual Studio Workflows are the next level of complexity. They require coding and deployment for functionality. While they are very flexible and powerful they lack basic instrumentation, and process management. They come with no dashboards or web parts to surface performance information. Any integration is coded and maintained by hand. Visual Studio workflows lack a framework that allows for reporting and analysis beyond individual workflows.
Black pearl is by far the most complex and feature rich of the product lineup. It has deep analytics and process visibility built in. It also is the most complicated to run at an enterprise level. It is built as a horizontal integration platform that allows process management across multiple platforms and vendors.
Figure 1 Complexity Continuum
|Web Farm Installation||y||y||na|
|Licensed Team Sites 5 Team Sites Unlimited Unlimited||y||na||na|
|Drag and drop designer||y||y||y|
|Zoom to view||y||y||y|
|Reporting and management|
|User-based Workflow tracking web parts Site level Site level Farm level||y||y||n|
|Summary statistics, report web parts and chart web parts||y||y||n|
|Individual workflow history and verbose logging option||y||y||n|
|Log in the History List||y||y||y|
|User access control||y||y||n|
|Workflow change approval||y||y||n|
|Logic and Flow|
|Loop, Switch, and Parallel Actions||y||y||y|
|Run If, Condition, and Filter||y||y||y|
|Custom Actions in Visual Studio||y||y||y|
|Excel/Word Inline Functions||n||y||n|
|InfoPath form generation/support||y||y||n|
|Delegate Workflow Task||y||y||n|
|Create SharePoint Task||y||y||y|
|Approval, Review, and Multi Outcome Tasks||y||y||y|
|Notifications and Reminders||y||y||y|
|Working Hours and Time Zone Capabilities||n||y||n|
|String, Date, and Math operations||y||y||y|
|Pause, Stop, and Wait for Update||y||y||y|
|Copy to Fileshare, Copy to SharePoint||y||y||hc|
|Submit to record center||y||y||hc|
|User Profile Management|
|Query SharePoint User Profiles||y||y||hc|
|Update SharePoint User Profiles||y||y||hc|
|Create / Delete / Compile Audience||y||y||hc|
|Sites, Libraries and Lists|
|Create / Delete Sites and Site Collections||y||y||hc|
|Check in / Check out / Cancel Checkout on items||y||y||hc|
|Create / Copy / Update / Delete an Item||y||y||hc|
|Set Approval Status||y||y||hc|
|Set Field Value||y||y||hc|
|Set Item Permissions||y||y||hc|
|Site Archiving Tools||n||y||hc|
|Add / Remove User from AD Group||y||y||n|
|Create / Update / Decommission AD Account||y||y||n|
|Create / Remove AD Security Group||y||y||n|
|Enable OCS / LCS||y||y||n|
|Provision User on Exchange||y||y||n|
|Dynamics CRM integration actions||y||y||n|
|Query Nintex Reporting / Nintex Analytics||y||n|
|Execute web service, Web Request, SQL, LDAP queries||y||y||n|
|Query / Update XML||y||y||n|
|Start / Stop other workflows||y||y||y|
|Query the BDC / BCS||y||y||n|
|Query Excel Services||y||y||n|
|Word Services actions||y||y||n|
|Query Enterprise Search||y||y||n|
|Send / Receive BizTalk messages||y||y||n||Exchange Server Integration|
|Create Calendar Appointment||y||y||n|
|Create Outlook Task||y||y||n|
|Get meeting suggestions||y||y||n|
|Customization and re-use|
|Content type, Reusable, and Site workflows||y||y||y|
|User Defined Actions||y||y||n|
|Custom context data||y||y||n|
|Export to visual studio||y||y||n|
Not all products are focused on being a BPM hypervisor. SPD, and Visual Studio are designed to enable simple and complex workflows. They do not attempt to provide clear insight into process maps and performance. Modeling and measuring processes as a whole falls under the category of BPM. Nintex offers some BPM and may be sufficient. Black Pearl is the Cadillac of BPM.
All products above SharePoint Designer Workflows allow for release management and change control.
SharePoint Designer and Visual Studio require a bit of work to integrate with other systems. They are truly designed to operate on content inside of SharePoint. Nintex provides the ability to connect to systems outside of SharePoint natively. Black Pearl is actually a product that lives outside of SharePoint and is designed from the ground up as an integration technology.
Business process management (BPM)
Often uses workflow as a foundation and expands the solution in dimension, scope and capability.
- More complex scenarios
- Use information in multiple systems
- Great visibility and reporting
- Flexibility to change and improve
On its most basic level, this involves routing documents and tasks electronically between people and systems. People can access their tasks in a Web-based task list on their laptop or mobile. Workflows save time, save paper, reduce errors and provide some level of visibility.