This chapter introduces a set of languages intended to model and run business processes. The Business Process Modeling Notation 1.1 (BPMN) is a notation used to graphically depict business processes. BPMN is able to express choreographies, i.e. the cooperation of separate, autonomous business processes to jointly achieve a larger scenario. Since BPMN is only a notation, there is no specification for a meta-model that allows rendering BPMN choreographies into an executable form. This chapter describes how the Service Component Architecture (SCA) and the Web Services Business Process Execution Language (WS-BPEL) help to close that gap. BPMN, SCA and WS-BPEL can jointly be used and combined to model, deploy and execute business process choreographies. We will also integrate the related BPEL4People specification, since BPMN allows human ‘user tasks’, but WS-BPEL focuses only on automated business process. The authors argue that, based on these specifications, the dichotomy between modeling and execution can be addressed efficiently. In this chapter, we will show that a key aspect of the future of Business Process Management is to combine graphical modeling (via BPMN) with a precise specification of an executable business process (via WS-BPEL and related standards).
Automating business processes using an IT infrastructure has three aspects: First, a model of the business process is needed, which is usually authored in a graphical way. When it comes to deploying the business processes to a runtime environment, secondly a deployment model is required. Finally, a standardized execution behavior is necessary in order to ensure portability between process runtime infrastructures. These three aspects are most essential, but do not cover the complete lifecycle of Business Process Management (BPM) yet. As shown in Figure 1, the whole lifecycle consists of four steps: designing and simulating a business process (Model and Simulate), composing the existing services (Assemble), mapping the assembly to a concrete IT infrastructure and using it (Deploy and Execute), and continuously improving the processes (Monitor and Optimize).
In this chapter, we will show how BPMN, SCA and WS-BPEL together address the pieces Modeling, Assembling, Deployment and Execution. In order to better understand the relation between these three languages, two more concepts need to be introduced: choreography of services and orchestration of services. These terms have an intentional connotation with music: choreography represents a set of services that work together to achieve a larger goal; however, each service acts in an individual way – similar to dancers in a ballet. On the contrary, in an orchestration, a set of services are orchestrated by a “conductor”, i.e. a main service that orchestrates, or “conducts”, all participating services.
When looking at the individual languages, WS-BPEL is a pure orchestration language. In turn, SCA exhibits certain aspects of a choreography language. BPMN, however, is capable of describing aspects of both concepts.
In the first section of this chapter, the reader will learn about BPMN, SCA, WS-BPEL, and a related specification (BPEL4People, extending WS-BPEL to include tasks performed by humans). The second section shows how to use BPMN for business process modeling and how to map such models to SCA and WS-BPEL for execution. The third section provides recommendations for improving this mapping. Finally, the chapter provides a summary and concludes with future considerations in the last section.