InfoQ Interviews BPEL4People Representatives
Since before it was first announced that BPEL4People/WS-HumanTask were heading for a standards body, there has been a lot of interest around this new attempt to provide a standard in BPM. BPEL (aka WS-BPEL) has continued to split the workflow community, so isn't this the same fate for BPEL4People? Well the technical committee has had its first face-to-face meeting, so we took the opportunity to talk with several of the people behind the work.
Manoj Das is Director of BPM Product Management at Oracle. His focus is on BPMN, BPEL, Workflow, and Business Rules. Manoj joins Oracle from the Siebel acquisition where he was responsible for driving the next generation process-centric application platform.
Dave Ings is a Program Director in the IBM Software Standards group. In between games of squash racquets, his passion is Business Process Management and SOA standards. He is currently the chair of the OASIS BPEL4People technical committee.
Ivana Trickovic is a standards architect in SAP's Industry Standards Group. Her work focuses on technology standards concerning the area of business process management and Web services. Ivana has represented SAP in several standards efforts including OASIS WS-BPEL TC and OASIS BPEL4People TC. She is co-author of the BPEL4People specification and the WS-HumanTask specification.
(IBM, Dave Ings) The OASIS WS-BPEL standard provides a model for describing the behavior of a business process based on stateful, long-running interactions between the process and its partners. In more concrete terms, this means that if in a SOA environment there are a collection of Web Services representing components of a business process, BPEL provides a way to compose the services together into a complete business process.
(Oracle, Manoj Das) The Web Services Business Process Execution Language (WS-BPEL), popularly referred to as BPEL, provides a broadly adopted process orchestration standard that is supported by many vendors today and used to define business processes that orchestrate services, systems and people into end-to-end business processes and composite applications.
At a high level, BPEL is an XML language that provides a rich set of activities to describe an executable business process. The processes and activities can be synchronous or asynchronous, short-lived or long-running; BPEL provides a sophisticated language for defining the process flow, system interactions, data manipulation, exception handling, compensation rules, etc.
(SAP, Ivana Trickovic) BPEL is a key building block of an enterprise service-oriented architecture as it introduces needed process capabilities. It is an XML based language primarily designed for types of processes that are automated and composed of reusable (Web) services.
Q: Can you summarize BPEL4People?
(IBM, Dave Ings) "BPEL4People" is in fact two complementary specifications - "WS-BPEL Extension for People" and "WS-HumanTask". Together these specifications extend WS-BPEL 2.0 to integrate and support human-executed activities ("human tasks") in business processes.
(Oracle, Manoj Das) BPEL4People is a proposed standard BPEL extension to address human interactions in BPEL as a first class citizen. Most real world business processes involve human interactions for approvals, exception management, and other manual tasks, as well as notifications. The BPEL4People specification adds a new People activity and related concepts to BPEL that enables specification of human activities in BPEL – what task needs to be performed, who should perform the task, who are the stake holders, when should it be performed, and what happens if it is not performed on time.
(SAP, Ivana Trickovic) BPEL4People is a proposal to extend the capabilities of BPEL to support human interactions in more direct manner. It encompasses two aspects: the definition of service-enabled human tasks and integration of human tasks within BPEL processes.
Q: Why do we need BPEL4People? Can't we just use BPEL for this anyway?
(IBM, Dave Ings) WS-BPEL is primarily concerned with defining Web services-based executable processes. The primary goal of BPEL4People was to extend BPEL to support human user interactions as part of a BPEL process.
(Oracle, Manoj Das) As mentioned earlier BPEL4People is an extension layered on top of BPEL. While BPEL provides all the mechanisms needed to orchestrate people interactions, it does not differentiate between people activities and system activities. What we find is that people activities have many particular characteristics, which are mentioned in the earlier response; while these can be addressed in BPEL, it would be a lot more complicated. In many ways, an analogy is trying to do object-oriented programming with C.
By addressing the important aspect of people interactions in a powerful and intuitive manner, BPEL4People will pave the way for BPEL to become the lingua franca for BPM.
(SAP, Ivana Trickovic) Typically, business processes require human involvement, e.g. to comply with some regulations it is necessary to implement the 4-eyes principle. For these kinds of business processes a more direct integration of different human interaction patterns in WS-BPEL is needed. BPEL4People addresses exactly that.
Q: Why is your company interested in BPEL4People?
(IBM, Dave Ings) Business processes frequently involve human tasks (for example, approval of a purchase order by a manager). Many business process and workflow products support human task scenarios, but do so in a proprietary way. A standards based approach to integrating human tasks addresses important customer requirements for interoperability and portability.
(Oracle, Manoj Das) Many of our customers leverage the people activities currently supported in our BPEL product, which are in line with BPEL4People. With the broad and growing usage of these capabilities by our customers, standardizing this aspect is of interest not only for portability and interoperability benefits, but for the ability to increase choice and drive down costs. Standardization can also help to decrease training costs and increase availability of skilled resources.
(SAP, Ivana Trickovic) SAP was one of co-authors of the BPEL4WS 1.1 specification, an early adopter of the BPEL technology, and played an important role in the OASIS WS-BPEL TC. SAP has initiated the standardization of BPEL4People as it addresses important customer requirements. One important requirement is, for example, interoperability which enables using the task infrastructure of one vendor together with the process infrastructure from another and the task list client from a third.
Q: If you had to pick one important aspect of BPEL4People, what would it be?
(IBM, Dave Ings) From a technical perspective, it's the extension of BPEL 2.0 to support human tasks. From an industry perspective, it's the fact that the leading BPM vendors worked closely together to produce and donate a specification that once standardized will benefit the entire industry.
(Oracle, Manoj Das) The handling of timeouts and escalations (technically part of the WS-HumanTask). One of the benefits of orchestrating human interactions, as opposed to leaving them adhoc, is to make sure that tasks are performed in accordance with SLAs and other objectives, and to take corrective actions if there is a risk of the task not being performed as per the desired goal. The timeout and escalation mechanism enable multiple timers to be associated with a task, regarding its start or completion, and notifications and escalation actions to be (conditionally) associated with the timeouts. Going back to the earlier question, this is an excellent example of something that could possibly be done in BPEL, but would be very difficult.
(SAP, Ivana Trickovic) The unified view on service interactions and human interactions is one that should be emphasized. It means that invocations of human tasks are seen in the same way as service invocations. Details, such as the coordination between processes and human tasks, do not have to be explicitly modeled in BPEL processes. Instead, the coordination protocol is implemented underneath, as part of process and task infrastructures. This simplifies modeling of business processes a lot.
Q: What happened to WS-HumanTask?
(IBM, Dave Ings) It never went away! In casual conversation "BPEL4People" refers to both specs, not just the one actually named BPEL4People.
(Oracle, Manoj Das) While BPEL4People deals with the people-process interaction, the WS-Human Task deals with presentation and performance of Tasks. It is this part of the spec which details how Tasks are assigned, presented, and rendered, as well as the associated deadlines, notifications, and escalation.
(SAP, Ivana Trickovic) It is part of the BPEL4People standardization activity. It is an important part as it addresses a number of scenarios where human tasks are used without BPEL processes.
Q: It's fair to say that BPM has had a checkered history so far. Some analysts scream out for it, whereas others don't. Do you see BPEL4People helping in those debates?
(IBM, Dave Ings) BPM is following a path typical for many emerging technologies - rarely is any new technology an overnight success. However it is fair to observe that some analysts were critical of BPEL for not explicitly supporting human tasks. By addressing this important requirement, BPEL4People will help move BPEL based solutions into the mainstream.
(Oracle, Manoj Das) Markets benefit from standardization, in particular a market like BPM, which is heavily fragmented. The benefits of having end-to-end process visibility and ability to monitor and proactively take corrective actions are obvious. What has been the issue is the risk and the cost involved. BPEL, BPEL4People, and related standards can increase choice, decrease cost, limit risk, and thus help drive BPM to mainstream.
(SAP, Ivana Trickovic) In one of his blogs Bruce Silver, one of the most respected BPM analysts, wrote “The world of BPMS is divided into BPEL-lovers and BPEL-haters, and the thing that BPEL-haters seem to hate most is that the OASIS standard “excludes” human tasks“. So I believe that BPEL4People addresses this very concern.
Q: Why has it taken so long to get to BPEL4People (BPEL came out in 2003, for instance)?
(IBM, Dave Ings) The authors felt that it was important that BPEL 2.0 be an approved standard before finishing BPEL4People. That only happened in 2007, with BPEL 2.0.
(Oracle, Manoj Das) First, to correct the record, while BPEL4WS 1.0 was first published in July of 2002 and the 1.1 version was submitted to OASIS in May, 2003, it became a standard on April 12th 2007. During this period, time was spent helping to a robust BPEL standard – one that would be poised to become for process orchestration what SQL is to RDBMS. Additionally, the technical committee working out the details for the three year period was one of the biggest technical committees at OASIS. Only after the BPEL work was done, the drive to standardize BPEL4People kicked into full gear. Therefore, it has not taken much time to make good progress.=
(SAP, Ivana Trickovic) We know that standardization activities are complex. SAP and IBM started the BPEL4People activity by publishing the BPEL4People white paper in 2005, as we wanted to get early feedback on the ideas from our customers and the community. We also wanted to see the outcome of the OASIS WS-BPEL TC before we completed the work on the BPEL4People and WS-HumanTask specifications that were finally published last summer.
Q: Good BPM solutions tend to be driven through feedback from the end-user. How much end-user support have you had with BPEL4People so far?
(IBM, Dave Ings) We developed BPEL4People in response to requirements received by many customers, and so early feedback has been positive.
(Oracle, Manoj Das) Many customers use a similar approach to including people interactions in BPEL. Their use cases and their inputs have informed our work in this effort.
(SAP, Ivana Trickovic) Since the BPEL4People white paper was published we got positive feedback from customers, partners and end users. One of the most important aspects seems to be interoperability with different task list clients.
Q: Are there any implementations of BPEL4People?
(IBM, Dave Ings) Several BPEL products, including those from the BPEL4People authors, already provide support for human tasks. So one answer is implementations of the key concepts are already available! Of course the more complete answer is that before any vendor can release a compliant implementation the standardization process at OASIS must complete.
(SAP, Ivana Trickovic) SAP NetWeaver already provides capabilities to model and execute business processes that include both automated activities as well as human-executed activities. As the BPEL4People standardization progresses we will presumably see more and more compliant implementations.
Q: One of the main concerns many people perceived with BPEL was its reliance on WSDL. Presumably that remains with BPEL4People?
(IBM, Dave Ings) BPEL uses WSDL to define messages to be exchanged between a business process and the invoked services. BPEL4People similarly uses WSDL to define the structure of the data a person participating in a business process needs to work on. If WSDL wasn’t used, something else would have to be invented and our general philosophy is to reuse existing standards wherever reasonable and possible.
(Oracle, Manoj Das) BPEL4People does rely on WSDL. However, it is up to implementing tools to provide the right end user experience.
(SAP, Ivana Trickovic) BPEL has been primarily designed for Web services-based processes and WSDL is simply the description language for Web services. In BPEL4People human tasks can be seen as “services” so WSDL will also be used to describe the task interface. This is important as it enables to use those human tasks from other SOA-based applications.
Q: What's the timeline for the technical committee?
(IBM, Dave Ings) The OASIS technical committee held its first meeting on March 5, 2008. The timeline will be determined by the committee itself.
(SAP, Ivana Trickovic) As stated in the TC Charter, the standardization activity should take about 18 months. We believe that this work can be completed within the scheduled time.
Q: Are there likely to be any changes to BPEL as a result of this work?
(IBM, Dave Ings) We don't foresee any changes, given the authors waited for BPEL 2.0 to be completed before finishing BPEL4People.
(Oracle, Manoj Das) We do not anticipate changes to BPEL. BPEL was designed for such extensions to be layered on top of it, and the BPEL4People is consistent with BPEL’s extension mechanisms.
(SAP, Ivana Trickovic) The intent is that BPEL4People utilizes the extensibility model of BPEL. Consequently, no changes in the OASIS WS-BPEL 2.0 standard are expected.
Q: What's next after BPEL4People?
(IBM, Dave Ings) The donation of BPEL4People to OASIS marks an important milestone in the development of BPM standards. We think the next big step for BPM standards is to provide a similar level of standardization for modeling notation. Towards this goal several of the BPEL4People authors are actively participating in the Business Process Modeling Notation (BPMN) 2.0 work at the Object Management Group.
(Oracle, Manoj Das) The next major piece of work is in the area of process notation, including its alignment with BPEL and BPEL4People. First class support for common human workflow patterns may also emerge.
(SAP, Ivana Trickovic) Parallel with the BPEL4People standardization activity we would like to make sure this extension of BPEL and the related OMG work on Business Process Modeling Notation (BPMN) are aligned so that human interactions can be modeled with BPMN as well.
Alternative BPEL4People implementation
The Tempo project follows the BPEL4People architecture to provide all the necessary workflow functions. At this time, Tempo does not rely on any BPEL extensions and uses fully interoperable WSDL and REST interfaces as its core APIs. Over time, we intend to implement the full BPEL4People specification.