Vegas bets on BPEL
Connecting state and local government leaders
Process execution language links systems and automates tasks.
When the inventory of replacement parts for the Las Vegas Water Pollution Control Facility dips below a certain threshold these days, the city's asset management system orders replacements automatically. When parts arrive, a facility employee logs them in, and the invoice for the part is automatically paid through the city's finance system.
Although the process for ordering parts involves multiple software programs, such as the accounting software and the parts-inventory system, the series of transactions is managed from a single point thanks to the use of Business Process Execution Language, or BPEL.
'All this happens behind the scenes,' said Patricia Dues, the city's enterprise program manager. 'The beauty of this is that we haven't had to train our plant people. They stick with the software they use all day long'. They don't have to learn another product that they might use once a week, or once every two weeks.'
BPEL is a standardized workflow language for automating a series of events across different applications. The city was already using the Oracle E-Business Suite for financial and human resources management and Oracle Utilities Work and Asset Management (formerly STL) to manage assets and maintenance. With the help of contractor Innowave Technologies, the city used the Oracle BPEL Process Manager to pull these applications together.
The project started in 2005 when the city was upgrading its supervisory control and data acquisition (SCADA) system. With an average of 2,500 new residents a month, Las Vegas has a tremendous growth rate so managers wanted to put an information technology architecture in place that would grow with the city.
'What we needed was to have integration with all of our applications, [whether] they are in Oracle or not,' Dues said. 'One of the major parts of this whole project was to find a tool that could help us with this integration. And that is how [the] use of BPEL came about.'
The overall plan is to integrate the outputs from the SCADA systems with the city's business applications. Feeding all the information into a central database makes it readily available to different applications. Reports and analyses can also be performed more easily. Each department of the city is working to pinpoint their lines of business and which strategic goals will support those lines of business. The city is establishing metrics and tying them to the data being collected.
When the project began in 2005, BPEL was anything but proven. The city looked at a number of business process management (BPM) tools, but because it used many Oracle applications already, it looked especially closely at Oracle's offering.
'There were some other products on the market, and our consultants were recommending products that they were familiar with,' Dues said. 'They knew nothing about BPEL, and they were telling us we were going out on a limb ' it was new technology, it was not really used in the public sector yet. We couldn't talk to references.'
'But we looked at it, it looked great. We were an Oracle shop [so] it made sense we would use an Oracle development tool.'
The move from BPM to BPEL was a step in the right direction, said Peter Doolan, vice president of technology at Oracle's public-sector division. Oracle had its own BPM, called Oracle Workflow. 'It was a proprietary component within the Oracle database itself,' he said. 'Workflow was fairly established as an industry, but it was all proprietary.'
A collection of Web services
Oracle's work with BPEL grew out of necessity. As the company took on additional software from the acquisition of PeopleSoft, J.D. Edwards and Siebel Systems, officials looked for a way to tie them together. They saw BPEL as a way to bridge these systems, so they purchased Collaxa, a company whose software could interpret and execute BPEL commands through a native BPEL engine.
BPEL, overseen by the Organization for the Advancement of Structured Information Standards, is a language that can describe a series of actions to be performed on a document. Each action is executed by a Web service.
In a sense, BPEL performs most of the same duties as BPM ' the coordination of moving information across an organization. However, unlike BPM tools, all the commands are encoded in plain-text Extensible Markup Language tags, which can be interpreted by any engine that implements the BPEL standard. When you run a process, a BPEL engine goes through the document and executes each command.
'At its fundamental core, BPEL is nothing more than an organized collection of Web services,' Doolan said. BPEL offers an organization an advantage over a specific BPM offering. If you decide to move from, say, an Oracle platform to one using open-source ActiveBPEL, SAP's Netweaver or the BPEL server in IBM's Web- Sphere, the same commands should work.
Most BPEL processes run a few hundred lines of code each. It is possible to develop a process with 10,000 lines or more, but it is better to break it up into smaller chunks at that point. 'You should encapsulate common tasks in a hierarchy and then call those tasks up from another set of Web services,' Doolan said. 'You want to get some reuse out of these components.'
Oracle ' which keeps its own collection of business processes in a repository called Application Integration Architecture ' offers a number of generic patterns that could be reused. They have specific processes for government, such as eligibility checking for child welfare services. Partners contribute and augment business processes, which then can be used by others.
New life for older systems
Now that its parts management process is in place, Las Vegas is embarking on the automation of other processes. 'Our IT people can now work on other interfaces,' Dues said. Employees no longer have to enter their hours on time cards, for instance. They can also update their W-2 information online, without the intervention of HR employees. They are working for a cashiering system. When people come in to make copies, the BPEL process routes their payments into the city's finance system.
'The IT folks take these templates and use them as a start for the other ones,' Dues said. 'They take the BPEL interfaces that have been written and use them as a foundation for other ones that need to get done, so it makes the process a lot faster, smoother.'
Las Vegas' implementation is one example of how BPEL could be used in government. BPEL could be used to extend the service of older systems, Doolan said. Their functionality can facilitate Web services and combine to generate new processes. In particular, Oracle is encouraging use of BPEL with content management systems.
The Securities and Exchange Commission has started to use Oracle's BPEL engine to store and manage 10K filings.
Capturing business processes in code could also be valuable for agencies where many longtime employees are leaving, taking with them the knowledge of how things get done. 'I get a lot of questions from state [chief information officers] on how they capture these business processes that are in people's heads, or [were] written in Cobol in the 1970s and 1980s,' Doolan said. Now he's more likely to have the answers at hand.
The Business Process Execution Language is a markup language that uses the basic Extensible Markup Language syntax. Commands, or activities, issued to BPEL engine are encoded in brackets.
Here are some basic activities.
<invoke>: Invoke a Web service.
<reply>: Generate a response for synchronous operations.
<assign>: Manipulate a variable.
<throw>: Indicate that an error has taken place.
<terminate>: Terminate the entire process.
<sequence>: Defines a set of activities invoked in an ordered sequence.
<while>: Defines a looping activity.
<pick>: Pick an alternative path.
<partnerLink>: Jump to an external BPEL process.
The basic format for a BPEL process could be structured like this:
<process name=“NameOfProcess” ... >
<partnerLinks>
<!— The declaration of partner links —>
</partnerLinks>
<variables>
<!— The declaration of variables —>
</variables>
<sequence>
<!— The definition of the BPEL business process main body —> <br>
</sequence>
</process>
On its “Hands-on Introduction to BPEL” Web page, Oracle shows how this structure could be used to generate an employee travel request (GCN.com/1032).