Many organizations strive to reduce costs by streamlining their business processes. One method that helps improve process management is workflow automation. By creating systems that automate the process of moving business data from one step to another, an organization can reduce the overhead costs that come with manual tasks.

The Workflow Management Coalition (WfMC) was created to help define and standardize the various aspects of managing workflow. One of the WfMC’s standards is Wf-XML, which is an XML approach to regulating workflow data.

Getting workflow systems to talk to each other
One of the goals for Wf-XML is to provide an interoperability interface between multiple workflow systems. This means enabling organizations to communicate with other organizations via their respective automated workflow systems. This is important in many business-to-business environments where several companies need to communicate with each other. Wf-XML supplies the interoperability interface that the workflow systems use to communicate.

Various components make up the complete Wf-XML specification. Obviously, one component defines the various XML elements you can use to compose Wf-XML documents. Wf-XML is used when multiple systems are interacting, so it expects a certain infrastructure to handle the transport and implementation of the XML documents.

Wf-XML uses the HTTP protocol to transfer documents between systems. If you’re familiar with HTTP, you know that it’s built around a request/response model. This means that an HTTP request to a server initiates every interaction. When the server receives the request, it processes the incoming document and provides the results of the request in another XML document encapsulated by an HTTP response. Your organization can use HTTPS if there’s a concern about the workflow interface. Wf-XML can also support other transport mechanisms like e-mail, TCP/IP network connections, and Message Oriented Middleware (MOM).

Wf-XML allows a system to interact with a workflow system to carry out a variety of tasks. The system using Wf-XML to communicate with the workflow system can send an XML document to create a new workflow process, determine the progress of an existing process, and receive notification about the changes in an existing workflow process.

Document and data transfer
When Wf-XML is using HTTP as its document transport mechanism, it doesn’t always use a synchronous request/response method. Some workflow interactions are based on synchronous request/response mechanisms, in which case the request and response are synchronized through the HTTP protocol. However, there are cases in which one system may simply send a document to another system and not expect a synchronous response (if it even expects a response). This method still uses the HTTP protocol to accept the incoming data, and the response is negligible.

It’s less obvious how the transfer of data occurs when the response comes back to a system in an asynchronous scenario. In this case, the context is a little broader. Rather than a single HTTP server, the context includes two HTTP servers—each representing the interface for the respective workflow systems. When the response from an asynchronous request is “ready,” it’s sent to the other HTTP server, and at that point the HTTP request is actually the response from the other system.

Each of the tasks available via Wf-XML is encoded as an XML document. We can categorize the three operations available as registration, reference, and control:

  • The registration operation allows a system to send Wf-XML requests and responses.
  • The reference operations include functionality for asking for and sending the status of a previous Wf-XML request.
  • The control operations provide cancel, stop, and resume requests and responses related to previous Wf-XML requests.