Home > Samples > Update > November 2005
Workflow Strategy Takes Shape    
   

[bio]

The following is the full text of an article published by Directions on Microsoft, an independent research firm focused exclusively on Microsoft strategy & technology. Each month we make one or more key articles available to non-subscribers.

A new workflow platform accompanying Microsoft's next client OS (Windows Vista) will let developers build workflow automation directly into Windows applications without requiring external services or servers such as BizTalk. The Windows Workflow Foundation (WWF), a workflow engine, tools, and programming interfaces, will also consolidate Microsoft's scattered workflow strategy and provide a platform for future versions of many Microsoft business applications and servers. However, the workflow platform is a developer-only technology: it does not supply any readily usable features for end users, client tools, or management and monitoring tools.

Software Automates Workflow

WWF is Microsoft's latest attempt at a software platform for automating workflow, a term that typically refers to the activities, interactions, events, and flow of information that make up business processes. (Microsoft sometimes distinguishes between system workflow that does not involve human participants and human workflow that does.) Using software to automate business processes can relieve workers of repetitive and mechanical tasks, ensure that required business procedures are followed, and improve the reliability, tracking, and transparency of those processes.

For example, in an equipment requisition process, an employee might submit a request to an enterprise resource planning (ERP) application, which might apply business rules or logic (e.g., examining whether the amount of the request exceeds the employee's spending authority) before sending an approval form to the employee's manager or electronically submitting the order to the order-entry application of an appropriate equipment supplier. In such a process, software could be used to track and expose the state of the requisition; handle communication among participants, e.g., notifying managers by e-mail of requisitions awaiting their approval; or evaluate and execute the process's decision logic.

(For an example of workflow and workflow automation, see the illustration "Workflow Guides Business Processes".)

Unique Requirements

In many business applications today, developers write custom code or build custom workflow engines to control and manage the business processes those applications support. However, in recent years, several vendors, including BEA, IBM, Microsoft, and WebMethods, have marketed general workflow platforms. These platforms are designed to help developers deal with the unique challenges of automating business processes, which change frequently, involve steps that require human judgment and decision-making, and combine both human and computer-oriented communication.

Workflow platforms typically provide the following:

Graphical languages and developer tools that enable business users and other nondevelopers to review or revise business process logic. Many platforms enable users to add or delete process steps on the fly.

Run-time engines that automate common steps (such as sending e-mail and waiting for a response to a message), reducing the amount of code a developer must write. The engines customarily support the long-running operations typical in human-oriented business processes; for example, an engine might wait several days for a response from a participant, and must do so without failing, generating an error, or blocking other process steps.

Communication mechanisms that support human-to-human, human-to-machine, and machine-to-machine interactions; for example, workflow platforms allow humans to route task requests and other information to one another or to the applications involved in a business process.

Monitoring and deployment tools that enable users to monitor workflow state, such as the status of tasks (for example, not started, in-progress, or complete), and reduce the effort required to update applications with new business logic, compared with updating and redeploying a conventional application.

Microsoft's Workflow Strategy Converges

Scheduled to accompany Windows Vista, Microsoft's next major OS revision expected in late 2006, the WWF will be a run-time engine that puts support for workflow automation directly into the Windows OS. Together with its associated API and a set of Visual Studio—based programming tools, the workflow platform will help developers build workflow automation into Windows applications.

WWF serves two primary purposes. First, it offers a common foundation for workflow in Microsoft's own applications, such as Office, SharePoint, BizTalk Server, and the Axapta ERP product, which today either need workflow capabilities but lack them or include custom workflow engines. In addition, because it is built directly into Windows, WWF will allow ISV and corporate developers to build workflow into their applications without the need to purchase and integrate separate workflow platforms or build their own.

Simplifying Workflow Application Development

The workflow platform targets a wide cross-section of developers and applications. For example, an ISV developer could use WWF to automate lead generation in a customer relationship management (CRM) application. Similarly, a corporate developer or system integrator could use the platform to automate employee time-and-expense reporting in an ASP.NET—based self-service application.

The most important characteristics and features of WWF include the following:

A hostable run-time engine. Unlike most commercial workflow platforms, the WWF run-time engine will not be a stand-alone application or set of services. Instead, it will be hosted within Windows applications, allowing developers to build workflow automation directly into those applications without the added complexity of external servers and services and their corresponding licenses.

Built into Windows. WWF will be built into Windows Vista. In addition, because the WWF API is part of WinFX, Microsoft's next generation of Windows APIs based on the .NET Framework, WWF will also be available as part of the WinFX Runtime Components—an add-on for Windows XP and Windows Server 2003. As part of Windows, WWF could see rapid adoption among ISVs and corporate developers and could help Microsoft unseat workflow rivals, such as BEA and IBM.

Workflow primitives. WWF will include a library of general purpose workflow building blocks, referred to as activities. Activities comprise the basic units of work in a workflow; graphical design tools let developers model workflows by combining and connecting activities. WWF's activity library will include functions for expressing and evaluating business rules and communicating with other software (via Web services, for instance), along with containers that allow developers to insert custom code (for example, a financial or mathematical computation). In addition, the activity library will contain basic programming constructs—for example, a While activity repeats a set of activities as long as a specified condition is true.

Support for system and human workflow. WWF aims to support both system and human workflow automation. Thus, WWF's primitives will include functions for dealing with the problems that can sometimes appear in human workflow (such as a participant taking longer than expected to perform a task), as well as features that allow developers to create workflows whose progression can be altered on the fly by users.

Tools for developers. WWF will include a set of Visual Studio—hosted developer tools for assembling and debugging workflows. Using these tools, developers assemble workflows by dragging and dropping activities onto a design surface and connecting them graphically. WWF will also provide standard debugging features—for example, developers will be able to insert and examine breakpoints in workflows.

(For a screen shot of the WWF designer and list of WWF base activities, see the illustration "Designer Simplifies Workflow Development".)

Extensibility. WWF primitives are only a starting point for workflow automation. Most applications using WWF will require custom activities to supplement those provided in the base library; WWF supplies tools to help developers build custom activities in Visual Studio 2005. For example, a developer could write a custom activity for sending e-mail to workflow participants. This extensibility could help corporate developers build libraries of custom activities for a range of WWF workflows and create an opportunity for ISVs to build and market custom WWF activities.

Microsoft Products to Build on WWF

WWF will provide a common foundation for the workflow needs of Microsoft's own products, many of which today have rudimentary features, tools, and infrastructure for automating workflow built on product-specific workflow engines. Office and Windows SharePoint Services (WSS) contain some base capabilities for document-centric workflows, such as review of business proposals (for example, WSS provides basic document check-in/out features). Exchange and Outlook let users define rules for handling incoming mail, a feature that helps users automate tasks that are tedious and time-consuming to do manually. WWF could obviate the need for these products to contain custom workflow engines and could help Microsoft add workflow automation to other products without building a custom engine for each one.

Accordingly, a number of Microsoft product teams are currently planning or building workflow capabilities on top of WWF. These include the following:

Office 12, Windows SharePoint Services, and SharePoint Portal Server will use WWF to expand on existing document processing and management capabilities. For example, Office 12 and the next release of the SharePoint products will include WWF-based workflow automation solutions for processes such as record archival and management and will include Web content-management capabilities similar to those provided today by Microsoft's Content Management Server 2002.

Microsoft Business Solutions (MBS) could find ample opportunity to build on WWF in its line-of-business and CRM applications. For example, at the 2005 Professional Developers Conference (PDC), Microsoft demonstrated a workflow that used WWF to guide users through the screens associated with adding a new vendor to Axapta, Microsoft's high-end ERP application.

BizTalk Server, Microsoft's main entry in the workflow market today, will be built on top of the WWF in future releases. Specifically, WWF will replace BizTalk's orchestration engine in a future version of the product, likely the version following BizTalk 2006 (which will ship in the first half of 2006). In addition, if future versions of BizTalk support human workflow, this support will be built around WWF and not BizTalk's current Human Workflow Services (HWS) feature, which will be removed in releases following BizTalk 2006. (For more information on the relationship between WWF and BizTalk, see the sidebar "WWF and BizTalk Server".)

Developer Customization Required

A beta of WWF appeared at the Sept. 2005 PDC. Changes are likely before the final version is released, but certain caveats are apparent.

Most obviously, WWF is a developer-oriented technology: it provides no readily usable features for end users and even developers will likely need to write considerable amounts of custom code to make use of it. For example, WWF's building blocks are quite primitive and don't include some functions that will be required in many workflows, such as an activity that sends e-mail. In addition, WWF does not include monitoring or management tools. Developers will need to use WWF's functions and services to provide their own monitoring and management features or use a more full-featured workflow product, such as BizTalk Server.

Furthermore, the introduction of WWF could cause compatibility problems with applications built on existing Microsoft technologies, such as BizTalk. WWF will replace BizTalk's current run-time engine in a future version of the product, and applications built on the BizTalk 2004 or BizTalk 2006 platforms will likely not be compatible with a WWF-based engine. Microsoft has suggested that it will include the BizTalk 2006 run-time engine (which is based on BizTalk 2004's engine) in this future BizTalk, allowing customers to run BizTalk 2004 and BizTalk 2006 applications alongside applications built on the future platform. However, BizTalk 2004 applications may need to be rewritten to run on a future BizTalk platform's WWF-based engine (Microsoft has discussed—but not committed to—delivering tools to help migrate BizTalk 2004 or BizTalk 2006 applications).

Finally, the goals of WWF are ambitious. Microsoft is targeting both system and human workflow and intends the platform to be used in a wide range of applications. Whether the company can be successful with such a one-size-fits-all approach remains to be seen—in fact, workflow automation in general may not lend itself to this approach. To be successful, the platform must be generic enough to solve a wide range of problems, yet provide enough incremental value to discourage developers from rolling their own solutions.

Availability and Resources

A beta of WWF was released in Sept. 2005. Microsoft will make the final version of WWF available with the release of Windows Vista, which is scheduled to ship in the second half of 2006. The company also plans to make WWF available for Windows XP and Windows Server 2003.

More information about Windows Workflow Foundation is at msdn.microsoft.com/workflow and www.windowsworkflow.net.

The BizTalk Server home page is www.microsoft.com/biztalk.

For more information about the BizTalk Server engine, see "BizTalk Server Engine Reworked" on page 3 of the April 2004 Update.

Details on BizTalk's Human Workflow Services can be found in "Human Workflow in BizTalk Server 2004" on page 16 of the June 2004 Update.