Chapter 1. Hello BPEL
Web Services Business Process Execution Language (WS-BPEL), also BPEL or BPEL4WS, is an orchestration language for composition, orchestration, and coordination of services. BPEL is not used for actual programming of functionalities. Rather, it is used to orchestrate and compose functionalities, exposed through services, into larger units and composite applications.
Composition or orchestration usually follows a certain order of activities; it forms a process. Therefore, this language is called business process execution language. Particularly in information systems, BPEL has an important role. It is used to orchestrate business processes which consists of several activities. Some of them are automated, some are not. For automated activities, a BPEL process would invoke a specific service that provides the corresponding operation. For manual activities, a BPEL process would call a human task. We will explain human tasks later in this book.
As BPEL is not suitable for actual programming of functionalities, it is much easier to learn and understand than traditional languages, such as Java, C#, or C++. However, BPEL still provides a rich vocabulary for expressing the behavior of business processes. In BPEL, it is much easier to implement specifics of business processes, such as parallel or asynchronous invocations of activities, fault handling, and compensations.
BPEL is usually considered as a part of Business Process Management (BPM) with Service Oriented Architecture (SOA). It is used to weave the bits and pieces of the SOA technology together into a more useful and business-friendly whole. BPEL is as important for SOA as SQL is for relational databases.
In this chapter, we will get familiar with the basic concepts and develop our first Hello BPEL process. We will cover the following topics:
- Understanding what BPEL is and how it differs from traditional languages
- Learning how to install Oracle JDeveloper and SOA Suite
- Creating a domain on the SOA Suite server
- Developing a simple BPEL processes
- Having an understanding of the BPEL source code
- Understanding some of the basic construct of BPEL
- Deploying the BPEL processes to the SOA Suite server
- Using the Enterprise Manage console to test the BPEL processes
Let's get started...