Tuesday, December 9, 2008

Workflow with SharePoint Services and BizTalk Server

Microsoft’s foundation solution for human workflow is Windows SharePoint Services, while BizTalk Server plays that role for system workflow. It shouldn’t be surprising that these technologies can be used together to implement a process combining human and system workflow. The figure below shows a simple example of how this might look.

The first three steps in this scenario are the same as in the system workflow example shown earlier: the inventory application sends an order request to BizTalk Server (step 1), and BizTalk Server requests (step 2) and receives (step 3) a purchase order from the ERP application. Now, however, let’s assume that the PO amount is sufficient to require approval from a group of managers at this firm. A human workflow implemented using Windows SharePoint Services is used to make this decision.
Once the orchestration has determined that this PO requires managerial approval, it uses a SharePoint adapter to add a document to a particular document library (step 4). As mentioned earlier, adding a new document to a library can automatically trigger execution of a SharePoint workflow, which is exactly what happens here. This workflow then executes as described earlier, adding tasks to the participants’ task lists. Each participant approves or rejects the order (step 5), and once all responses are in, the workflow adds information to the document previously created in this document library by the orchestration, an action not shown in this figure. BizTalk Server’s SharePoint adapter retrieves this modified document, something that’s also not shown, and if the order is approved, contacts the fulfillment application to place it (step 6).
Combining human and system workflow is the right approach for improving a number of business processes. As this example shows, Windows SharePoint Services and BizTalk Server can be used together to accomplish this. Two distinct workflows must be defined, using two different design tools, and those workflows will be executed by two separate workflow engines. Still, this combination can be used for business processes that require both kinds of workflow.

No comments: