Skip to main content

Challenge

Service-oriented architecture (SOA) provides a breakthrough in enterprise and trans-enterprise integration. SOA has so far been focused on application-to-application integration and, as such, has lacked a certain human element. As efforts in business process orchestration and enterprise service busses expand, implementers are facing the question: what if there is no application on the other side to connect to?

As unfashionable as it may be to point out, there are still a great number of critical processes in today’s businesses that are not automated. How do we create a complete enterprise service-oriented architecture when many of the services still require human interaction or even human execution? Must we automate every service before achieving results? Is SOA an all-or-nothing proposition like so many failed technology efforts of our past? If so, SOA becomes a burden more than a boon.

What we need is a simple, standard means of integrating into an SOA those business processes that still require human interaction, approval or execution. I call this means Human Services. We must be able to treat Human Services just like other services so that they are interchangeable with other services. The interchangeability not only enables us to combine such manual processes with applications but also allows us to replace the manual processes with an application in the future with no disruption to the business process. Human Services must not dictate a particular user interface implementation. To be successful we cannot insist that Human Services user interfaces must be HTML or Java or .NET.

How are Human Services different than existing business process orchestration? Current business process orchestration efforts, most notably Business Process Execution Language (BPEL), do not address human interaction, let alone user interface. Placing humans into an automated business process raises all kinds of messy issues such as:

  • Assignment of tasks to individuals
  • Sign-on and verification of individuals
  • Notification to individuals that they have a task
  • User interface for entering the data

These messy issues are why workflow and process flow have been in different realms.

Am I just describing workflow by another name? I can answer that “yes and no.” Yes, Human Services achieve much if not all of the objectives of workflow. However, Human Services are different from the workflow reference model published by the Workflow Management Coalition (WfMC). The WfMC developed its reference model as a client-server architecture. It pre-dates SOA. Human Services most closely equate with WfMC Interface 2 and 3 which was last updated in July 1998.

Figure 1 WfMC reference model

The objective of Human Services is to enable arbitrary user interfaces to plug into a SOA. To that end, it must address the messy human things of workflow, but the resulting architecture is as different from the WfMC workflow reference model as client-server architecture is from SOA.