Why should both IT and business organizations care about Business Process Execution Language (BPEL)? While no one would argue that BPEL is the "secret sauce" to a successful service-oriented architecture implementation, "I believe the authors of BPEL thought it was a foundational element of an SOA solution," said Dave Ings, program director of emerging software standards in the IBM Software Group, who has been guiding IBM's participation in SOA and Business Process Management (BPM) standards.
"The promise of SOA is only available if you can very quickly create new business capabilities from existing services; I think that is best accomplished using BPEL," said Michael Rowley, CTO of Active Endpoints Inc., Waltham, Mass. "If you try to accomplish that using Java or C# you won't get a lot of the value. That is true even if you haven't SOA-enabled everything in the enterprise."
When you want to take a BPM model and execute it, it makes sense to use BPMN as the notation and BPEL as the execution.
Michael Rowley, CTO of Active Endpoints Inc.,
An executable language for specifying actions within business processes with Web services, BPEL's roots go back to separate efforts from IBM and Microsoft, which later combined to form BPEL4WS and was backed by BEA Systems, SAP and Siebel Systems. In September 2004, OASIS accepted the spec as a standard, now dubbed WS-BPEL 2.0.
What BPEL did not include was the people part of a business process. BPEL "didn't have a way of incorporating the human element," said Ings. "In any business process, approvals are a human issue. All the workflow vendors did this in a proprietary way."
Ings is chair of the OASIS Web Services BPEL4People Technical Committee effort to extend BPEL to incorporate human activities. BPEL4People comprises the BPEL4People specification and the WS-HumanTask specification as published by Adobe, Active Endpoints, BEA, IBM, Oracle and SAP. Active contributors to the BPEL4People TC include: Active Endpoints, Adobe, IBM, Microsoft, Oracle, Red Hat, SAP, Software AG and TIBCO.
About a month ago, the BPEL4People spec was accepted as complete and "officially blessed" by the TC, Ings said.
So why should IT and business concern themselves with BPEL and BPEL4People, and products that support the standards?
Active Endpoint's Rowley spelled it out in a nutshell:
Why IT should care about BPEL:
- "It's a language where Web services is a first-class citizen."
- "It makes asynchrony very easy; to have a service offered over the course of a long conversation where there are multiple operations all related to the same idea, whether that's a shopping cart, a purchase order, etc. You can have an operation do a bit of work and nothing happens for while, then there is more work later. That's much easier to do in BPEL; it's really easy to see and understand the flow of work for an asynchronous service that takes place over a long period of time."
Why business should care about BPEL:
- "The reason you agreed to fund the use of services, and the SOA effort in your company, was so you could have greater agility. If that's why you bought into services, then BPEL is the right way to complete it."
- "BPEL can be visualized using BPMN [Business Process Modeling Notation], so it's possible for you as a business person to understand what's happening in the system in a way you could not do if it was using something other than BPEL."
Why IT should care about BPEL4People:
- "If BPEL is the language that allows Web services to be first-class citizens, BPEL4People makes it so you can create applications more like a classic workflow."
Why business should care about BPEL4People:
- "It's the easiest way to create a business process that includes people in a standards-based way. You aren't beholden to a single vendor. If you feel the need to change [vendors] there are other vendors that can take your business process and task definitions and still use them and you're not stuck."
Moreover, Rowley said, the Object Management Group's Business Process Modeling Notation (BPMN) 2.0 spec "has been designed with the goal that it can be used as a notation for processes that execute using BPEL. When you want to take a BPM model and execute it, it makes sense to use BPMN as the notation and BPEL as the execution."
Currently, Ings said, further extensions to BPEL have been discussed, but nothing is planned at the moment. However, he said "There has been a lot of intellectual effort in the last two years in the [business process] modeling domain and making sure it's aligned [with BPEL]. He added that several of the SOA runtime vendors have been involved with the BPMN work at the OMG. "There's more opportunity for providing customer value in the modeling domain while making sure it's aligned with the runtime programming standard; the modeling now matches the runtime [BPEL] environment, so there is no immediate need for another extension for BPEL."
As for BPEL4People, the next step in the OASIS standards process, Ings explained, is for the Technical Committee to provide statements of use and then put it to the broader OASIS vote to be accepted as a standard.
Rowley said BPEL adoption and understanding is growing, based on search statistics such as how often the term "BPEL" is used in resumes or job postings. "It's a good sign of adoption," he said. "A number of vendors are supporting it, and a lot of customers consider it a minimum bar when you choose a solution for orchestration or BPM. But there are still a lot of enterprise IT organizations that haven't yet discovered that BPEL will help them get the promise of an SOA initiative."