Architects and Database Developers
BUSINESS PROCESS MANAGEMENT BY LUCAS JELLEMA
Model, implement, and execute a business process for
requesting, approving, and applying salary raises.
ORACLE JDEVELOPER 11g and ORACLE SOA SUITE 11g
Today’s applications are not necessarily data-centric. Many of today’s sophisticated applications are better described
as multifaceted implementations of real-world business processes. These business processes represent sets of logically
organized activities spanning multiple I T
systems, departments, and roles. Some
activities are automated and performed by
machines, whereas others are manual and
performed by people.
Organizations that adopt a process-driven approach need to have both a methodology and supporting tools to analyze
and model business processes in a nontechnical, business-friendly manner. They
also need technology for implementing,
executing, and monitoring end-to-end
processes as well as their individual steps.
The combination of Oracle Unified Business
Process Management Suite 11 g (Oracle
Unified BPM Suite 11g) and Oracle SOA
Suite 11g provides everything organizations
need. The products are based on industry
standards and provide “design time at
runtime” support to allow for dynamic,
business-driven, on-the-fly reconfiguration
and restructuring of business processes.
This article demonstrates the design of a
very simple business process for requesting,
approving or rejecting, and implementing a
salary raise, using Oracle Unified BPM Suite
11 g in conjunction with other Oracle SOA
Suite components. Instead of designing the
database and creating a create, read, update,
delete (CRUD)–style user interface as a one-size-fits-all approach, this example shows
how to implement these requirements
by leading with a business process view.
Data services support both automated and
manual activities, and user interfaces handle
specific manual tasks.
To follow along with the example in this
article, you will need Oracle JDeveloper
11 g Release 11. 1. 1. 3 (Patch Set 2) or later,
with the Oracle SOA Composite Editor
and Oracle BPM Studio 11 g extensions. To
deploy and run the application, you will
need the Oracle SOA Suite 11 g and Oracle
Unified BPM Suite 11 g runtime environment that also includes Oracle WebLogic
Server 11 g and Oracle Database 10g Release
2 or higher with the HR sample schema. A
quick, easy way to set up the required environment is to use the Oracle VM VirtualBox
appliance, along with a preinstalled, preconfigured, ready-to-run BPM and SOA
environment. Downloads and installation
instructions are available at bit.ly/eabCsj.
Once the environment is set up, you can
find the supporting resource pack for this
column at bit.ly/hrir1G. The starter application for this column, SalaryRaiseBPM.jws,
contains a bare-bones SalaryRaiseBPM
project, along with a straightforward Model
project with an application module that
provides the HRService Web service on top
of the EMPLOYEES table in the HR schema.
This service is developed according to the
process described in Steve Muench’s column
“Services with a Smile” ( bit.ly/eNznzJ).
Note that the steps in this article focus
primarily on the modeling of business pro-
cesses with Oracle Unified BPM Suite 11 g.
The supporting resource pack also contains
an Oracle JDeveloper application that shows
the end-state project, with full implementations for every process activity.
ANALYZING THE BUSINESS PROCESS
As you work through this article, imagine
your role to be that of a business analyst
without much technical knowledge of SOA,
Web services, or XML. You will model the
process for requesting, approving, and
applying a salary increase. Your primary
focus will be on defining the logical structure
and sequence of the process itself, rather
than its underlying implementation.
In Oracle JDeveloper, launch the
SalaryRaiseBPM.jws starter application.
Navigate to the SalaryRaiseBPM project, and
open the composite.xml file. The Oracle SOA
Composite Editor will appear for this file.
Drag a BPMN Process (BPMN stands for
Business Process Modeling Notation) component from the Component Palette and
drop it in the Components area of the editor.
The BPMN Process wizard appears. Select
From Pattern, and select Asynchronous
Service as the pattern. Click Next.
On the next screen, specify
SalaryRaiseApprovalProcess as the
process name. Provide a description, and enter
any text for the process definition author.
Figure 1: The logical definition of the SalaryRaiseApproval process
ORACLE MAGAZINE MAY/JUNE 2011