Nintex Workflow 2007
Ease MOSS Development Pains and Reduce Development Cycle Times
One of the most painful areas of Microsoft Office SharePoint Server (MOSS) development is related to workflow, particularly using Visual Studio and Workflow Foundations (WF). This development environment provides developers with unparalleled power to code against the ubiquitous .NET Framework, while leveraging the MOSS workflow and task management APIs.
However, coding and deploying workflows in this manner does come with downsides: It has a considerably steep learning curve; it s an environment plagued by incomplete or nonexistent documentation; it has few relevant examples on the Web; and, it has a very complex deployment and debugging environment. This complexity has led many to resort to using the workflow functionality in SharePoint Designer; however, that environment, while reasonably useful and simple to deploy with its no-code approach, has limited ability for custom or advanced functionality. So what is a developer to do spend weeks (or more) toiling through the trial and error world of WF, or simply limit workflows to the most basic functionality?
Fortunately, as MOSS 2007 continues to become more pervasive in the market, products are starting to surface that attempt to ease MOSS development pains and reduce development cycle times. Workflow 2007 by Nintex is one such product that allows you to create powerful workflows using an intuitive Web-based user interface. The intent of this product seems clear: provide the ease of use and intuitive interface of SharePoint Designer while leveraging the enterprise workflow features of the WF framework. It s important to note that Workflow 2007 is not a server, nor is it a separate workflow engine. It is a workflow designer tool based on the Workflow Foundations API, built to run inside the MOSS environment and use the MOSS workflow engine.
Having experienced the pains of MOSS workflow development firsthand, I was eager to see what Nintex could offer. Installation was very simple, as Nintex has used the standard feature framework to deploy their product. Once installed, the features are available throughout the farm and must be activated at both the site collection and site level (see Figure 1). Administration is handled by extending the Application Management page in Central Administration (see Figure 2). Fortunately, there is little administrative overhead. Most of the items in the administration menu will be addressed only once during the initial installation. All the heavy lifting is done within the workflow designer interface.
Figure 1: Features must be activated at both site collection and site level after installation.
Figure 2: The Nintex administration menu is provided as an extension in Central Administration.
Once the product is installed, configured, and activated at the collection and site level, you are ready to start designing a workflow. As noted earlier, this product is designed exclusively for the MOSS environment, which is a significant implementation difference from standard WF. Additionally, workflows are created and deployed at the list level, so activating the workflow designer is achieved through two custom menu options within the Settings menu of a list within the activated site (see Figure 3).
Figure 3: Workflows are activated by custom options under the Settings menu.
When creating a new workflow, you may start with a blank canvas or load one of the many available templates, which then can be modified to suit your needs (see Figure 4). Creating a typical sequential workflow is straightforward, as the product provides a toolbox of drag and drop objects that provides most all of the expected functions of a business workflow, including approval branches, conditions, loops, and various objects to query and manipulate MOSS sites, lists, and items (see Figure 5). There also are integration objects that allow you to call an external Web service, query a SQL data source, query XML, and even integrate with Active Directory. Manipulating the objects when they are on the palette also is simple, with a consistent menu for editing the object display and configuring the functionality.
Figure 4: Workflows can be based on templates or created from scratch.
Figure 5: The workflow designer provides an intuitive drag-and-drop interface.
In my first workflow I was able, in about an hour, to call an external ASP.NET Web service, query XML, apply a regular expression, set some workflow variables, and create a simple two-level approval flow. Deployment was equally as simple: Simply select Publish from the Actions menu. As noted earlier, a workflow is created against a single list and activated from the Settings menu of that same list. When published, the workflow is deployed to the list and, at that point, functions in the same manner as any other MOSS workflow. Workflow task forms, for approvals or reviews for example, are automatically created by the tool as custom ASP.NET pages, and links to such are conveniently included in task e-mails. E-mail notifications are customizable and can include custom links and related workflow values. An existing workflow can be easily reopened, modified, and republished.
Workflow 2007 is available in three editions: workgroup, standard, or enterprise the latter of which includes greater integration functionality and some reporting/monitoring features. However, the look and feel remains the same throughout the different editions. My experience, using the standard edition, was quite positive. I was able to produce a typical workflow of moderate complexity in about an hour. Subsequent updates were applied and deployed with only a few mouse clicks; there was no uninstalling or redeployment of solutions or features. To some, however, this level of abstraction would classify as a negative, as the product provides no way to package a workflow as a solution file and deploy it for re-use across the farm. While this is true, there is the ability to import and export saved workflows and save common workflows as templates.
A compelling aspect of this tool is that it not strictly for developers; a tech-savvy business analyst or project manager easily could create powerful workflows without the slightest exposure to writing code. Ease of use is a double-edged sword, however, so it s important to have a good governance model in place to control who has the ability to create workflows.
Overall this is a good, affordable product that dramatically improves the workflow development experience in MOSS 2007. Both IT and line of business managers will appreciate the reduced cycle times, and developers will appreciate the speed and power of a tool that allows them to do something easily in MOSS 2007.
Rating: « « « «
Web Site: http://www.nintex.com
Price: Available in workgroup, standard, and enterprise editions. Contact sales for licensing costs at mailto:[email protected].
Cole Shiflett is a Solutions Architect for a large financial services organization in Atlanta, GA. Currently pursuing a graduate degree in Computer Science, Cole holds several certifications, including Microsoft Certified Technology Specialist in MOSS 2007, Sun Certified Java 2 Programmer, and IBM Certified Application Developer in Websphere, and he is a Six Sigma Green Belt. He can be reached at mailto:[email protected].
§ Simple installation and deployment
§ Intuitive drag-and-drop Web interface
§ Fully integrated into MOSS environment
§ Based on Workflow Foundations API
§ Supports sequential and state machine workflows
§ Cannot be used outside of MOSS
§ Does not allow for solution packaging and deployment
§ Ease of use necessitates a strong governance policy if open to non-developers