BPEL Service Engine
Similar to all the other Service Engines deployed to the JBI Container within the Sun
Java System Application Server and accessible through NetBeans, the BPEL Service
Engine is a standard JBI Compliant component as defined by JSR 208.
The BPEL Service Engine enables orchestration of WS-BPEL 2.0 business processes.
This enables a work flow of different business services to be built as shown in the
Within NetBeans, we can create BPEL modules which consist of one or more BPEL
processes. BPEL modules are built into standard JBI component, and then deployed
to the JBI container where the BPEL Service Engine allows the processes within the
module to be executed. In JBI terms, this is called a Service Unit.
A Service Unit is a deployable component (jar file) that can be deployed to a Service Engine.
New BPEL modules are created in NetBeans by selecting the File | New Project
menu option and then selecting BPEL Module from the SOA category as shown in
the following figure:
Within a BPEL module project, we add BPEL Processes. These processes describe the
orchestration of different services.
All the standard operations specified by WS-BPEL 2.0 Specification (like Providing
and Consuming Web Services, Structuring the processing logic, and performing
basic activities such as assignments and waiting) are available within the BPEL
Service Engine. The NetBeans designer provides simple drag-and-drop support for
all of these activities.
Consider, for example, a service for generating license keys for a piece of software. In
a Service Oriented Architecture, our system may consist of two services:
- A Customer Service: this service would be responsible for ensuring that
license requests are only made by valid customers.
- A License Generation Service: this service would be responsible for
generating valid license keys.
Within NetBeans, we can create a BPEL process that ties these services together
allowing us to return valid license keys to our customers and details of purchasing
options to non-customers.