To use business process parlance, most applications of recent years have "hard-coded" the associated business process logic. An example is the Save As feature of Microsoft Word that allows you to save a Word document as HTML—the result is a deluge of nonstandard HTML tags! But some of us need standard HTML for our business processes. Complexities like this have forced enterprise users to bend their processes to match those embedded in shrink-wrapped software, but this situation is about to change in a quiet way with the advent of web services and BPEL-based products.
Service-oriented architecture (SOA) has been around for years. Its premise is simple: Software should be built and used as a set of interconnected services—getSharePrice, buyShares, bookPlaneTicket, and so on. The services are available as reusable blocks that you combine as needed into service-oriented applications. The resulting software should facilitate your enterprise business processes. But the lack of a standard flexible business process definition and execution language has hindered the migration from monolithic/custom applications to the more dynamic requirements of our volatile times.
This state of affairs may be about to change.
A relatively mature standard called Business Process Execution Language (BPEL) may help usher in an era of web services that are tightly and easily integrated with true business process flows and activities. This new era of process-centric web services may well integrate a wide range of existing standards and technologies; underpinning this migration is a set of standards and specifications based on J2EE and application servers—a solid foundation indeed!
Web services use XML schemas for data models, SOAP for communication, and WSDL for defining the location and capabilities of services. A BPEL product such as Oracle's BPEL Process Manager combines all of these technologies with the ability to design, code, test, debug, and deploy advanced automated business processes.
In this article, we'll consider how to define and merge business process logic with external web services. Most people are pretty much experts at business processes because of wide exposure to the processes of numerous organizations (tax, insurance, finance, and so on). But a key aspect of business processes is that they're specific to a given organization and can be arbitrarily complex. BPEL-based products accommodate this need for specificity and complexity.