BPEL4People and WS-HumanTask (WS-HT), while still specifications in the OASIS standardization process, can now be used in service-oriented architecture (SOA) development, said Mike Pellegrini, principal architect at Active Endpoints Inc.
He has incorporated both specifications in this month's release of his company's visual orchestration systems (VOS) product, ActiveVOS 5.0, which provides graphic tools for design, development, testing, deployment and maintenance of SOA applications. IBM and SAP AG originally co-authored a white paper on integrating the work people do into BPEL. Those two vendors were joined in the development of the specification by Active Endpoints, Adobe Systems Inc., Oracle Corp. and BEA Systems Inc. While not yet ratified OASIS standards, Pellegrini said the two specifications have come far enough from the white paper stage to be taken seriously by developers.
This past week, Pellegrini demonstrated how BPEL4People and WS-HT can be used in the orchestration of a loan processing application. The demo showed a business process application where for routine loans a filter can automate the assessment of whether an applicant is a good or bad risk. However, when the applicant's credit history is a gray area, a loan officer must review the application and sign-off on its approval or denial.
That is where BPEL4People and WS-HT come into play. Using those two specifications, the hand off from the automated process to the loan officer is tracked by the BPEL-based application, Pellegrini said.
As he showed a view of this process through his visual orchestration tool, he explained: "It has been routed through the WS-HT specification task definition. It is routed to a task management system. Now, the system is just tapping it's fingers waiting for the human to finish."
Pellegrini said this amounted to "a sort of reference implementation for WS-HT in-box APIs that allows us to get a list of the tasks at hand and the completed tasks."
While the task is not generally a long-running endeavor, the specifications do allow for that fact that humans aren't usually as fast at completing tasks as computers are. In the demo, there is allowance for the task to be saved if the loan officer cannot complete it in a day, so he can finish it the next day.
In the interest of keeping his demo down to one hour rather than 24, Pellegrini, in the role of the loan officer, sped the task to completion to the automated system could proceed with processing the loan.
"When I complete a task this is where the interaction back to the BPEL process happens," he explained as the graphical system showed the handoff from human back to machine. "Using coordination mechanisms, we return back to the process, and the process can do whatever it needs to for the final outcome of that task."
Besides showing off product functionality, Pellegrini is demonstrating progress in creating software tools that incorporate Web services standards and specifications that have been in the works for several years, first with vendors and vendor groups, and more recently with standards bodies such as OASIS and W3C.
"We're bringing together orchestration based on a standards-based model: BPEL, BPEL4People, WS-HT, plus all the Web services standards like WS-Addressing, WS-ReliableMessaging, WS-Security, and WS-Policy," the architect explained.
Asked if Active EndPoints isn't taking a risk in relying on specifications that are not yet ratified standards, Pellegrini said he took a similar path with the original BPEL spec and it worked out in the end.
"WS-BPEL 1.1 was a really just a draft specification, but we went ahead and built products on it," he said. "We had that product for four years, and when BPEL was finally ratified by OASIS four-plus years later, we were able to provide migration. We feel we can do the exact same thing for BPEL4People and WS-HT."
Active EndPoints incorporated the basic concepts of BPEL4People into versions of its tools that pre-date this month's release, he said.
"In an earlier product we had methods based on the premise of what BPEL4People is all about," Pellegrini explained. "When we got ready to release the draft specification we started to do the work of actually implementing that. We believe that at this time that there's a tremendous amount of value even in the draft specification. We can do some real work now with both of those specs, WS-HT and BPEL4People."
He predicted that the BPEL4People specification that went into the OASIS process last summer will not require a lot of additional work by the committee shepherding it toward standardization. WS-HT has farther to go in his opinion.
"WS-HT will undergo some changes," he explained. "There's quite a bit in that draft specification today to be able to build real-world stuff. That's part of the reason we went forward with it even under the draft specification."
Asked why it required two specifications to bring humans into BPEL processes, Pelligrini said, they operate a two different levels.
"The easiest way to think about this is the core of the spec effort is really going to be around the Web Services Human Task specification," he explained. "What WS-HT defines is a standardized way for creating tasks and how to be notified that tasks are complete, regardless of whether it's BPEL or your own homegrown systems or other vendors' proprietary systems."
WS-HT addresses the issue of BPM vendors having invented the own task inboxes with their own APIs, which makes interaction difficult.
"WS-HT provides a standardized way to create tasks within a task management system," Pellegrini said. "There is a level called people coordination, it is a protocol based on WS-Coordination that allows an external application to talk to a WS-HT task compliant inbox, and be able to notify when a particular task has been completed.
WS-HT provides a standard set of Web service APIs that deal with how to work with those tasks while interacting with a task inbox, he said.
"So for example, things like how to get a list of tasks, or how to start a task, how to get task data, how to add comments, how to complete a task all that has been standardized in WS-HT," the architect said. "What you have is an interoperable way to deal with how to get a task from your inbox to my inbox. What the standard is trying to do is not define the internals of the inbox, but define APIs for how to interact with these inboxes."
BPEL4People is one aspect of a client for WS-HT, Pellegrini said.
"What BPEL4People does is model within BPEL the construct of an extension activity called a people activity," he explained. "That is the ability to model people. Anytime you have people you have the concept of roles, which people can actual do a role, which roles can actually start work on tasks, which roles can manage a task. So there's a lot more information than just the invoking of a Web service."
The relation of the two specification is the WS-HT focuses on task management," Pellegrini explained, while BPEL4People is a standardized extension within BPEL for how to interact with WS-HT.