We've been chewing up BPEL lately in this space, so it's high time to present a more positive light on Business Process Execution Language. Namely, that BPEL can support human interactions in a workflow, and even played a part in improving processes within a children's health program. Yes, see there, BPEL does have a human side!
A team led by Peter Zadrozny, CTO of StrongMail Systems, wrote this real-life BPEL implementation story in SOA WebServices Journal, in which a government contractor sought to build a workflow system that could move data between various units of a children's health insurance agency.
Zadrozny's team reports that Oracle BPEL Process Manager was employed at State Children's Health Insurance Program (which state, they didn't say) to manage the nine-step application process that determines and responds to applicants' eligibility.
Three steps in the process involve automated tasks, such as performing calculations or generating letters. The remaining six require some degree of human intervention, such as double-checking application data against other records. Zadrozny's team said they constructed a "delegation model between BPEL and our external user application to fulfill this requirement." Information needs to be checked against paper records for quality assurance, for example.
Zadrozny and his team are clearly sold on BPEL, especially for managing the mixture of automation and human intervention this project required. . "At this point, we're creating the library of Web Services we need to complete the functionality required by the system. Orchestrating all of these Web Services with BPEL has given us a high degree of flexibility. In fact, our experience with BPEL has convinced us that it's the right solution for the workflow needs of the SCHIP application, and we're looking for other places to use it as well."
While many industry experts are concerned about BPEL's lack of humanity (shown in my previous posts), the folks working with SCHIP were able to incorporate human processes into a BPEL workflow.