In this article, and for the sake of simplicity, we will use the term “On-Premise” to mean
a deployment where you have design-time development access to the
instance, including administration of the technology components, the
applications filesystem, and the database. In reality this might be a
local development instance that is then supported by a team who can
deploy your customizations to the restricted production instance
equivalents.
Tools Overview
Firstly let’s look at the Design-Time tools within JDeveloper for customizing and extending the artifacts of a Business Process. In essence this falls into two buckets; SOA Composite Editor for working with BPEL processes, and the BPM Studio.
The SOA Composite Editor
As a standard extension to JDeveloper, this graphical design tool
should be familiar to anyone previously worked with Oracle SOA Server.
With easy-to-use modeling capability, backed-up by full XML source-view
(for read-only), it provides everything that is needed to implement the
technical design. In simple terms, once deployed to the remote SOA
Server the composite components (like Mediator) leverage the Event
Delivery Network (EDN) for interaction with the application logic.
If you are customizing an existing Fusion Applications BPEL process
then be aware that it does support MDS-based customization layers just
like Page Composer
where different customizations are used based on the run-time context,
like for a specific Product or Business Unit. This also makes them safe
from patching and upgrades, although only a single active
version of the composite is available at run-time. This is defined by a
field on the composite record, available in Enterprise Manager.
Obviously if you wish to fire different activities and tasks based on
the user context then you can should include switches to fork the flows
in your custom BPEL process.
Figure 1 – A BPEL process in Composite Editor
The following describes the simplified steps for making
customizations to BPEL processes. This is the most common method of
changing the business processes of Fusion Applications, as over 400
BPEL-based composite applications are provided out-of-the-box.
Setup your local Fusion Applications JDeveloper environment.
The SOA Composite Editor should be installed as part of the
Fusion Applications extension. If there are problems you can also find
it under the ‘Check for Updates’ help menu option.
Since SOA Server is not part of the JDeveloper integrated WebLogic Server, setup a standalone WebLogic environment for deploying and testing. Obviously you might use a Fusion Applications development instance also.
Package
the existing standard Fusion Applications SOA Composite using
Enterprise Manager and export it as a complete SOA Archive (SAR) file,
resulting in a local .jar file. You may need to ask your system
administrator for this.
Import the exported SAR .jar file into JDeveloper using the File menu, under the option ‘SOA Archive into SOA Project’.
In JDeveloper set the appropriate customization layer values, and then change from the default role to the Fusion Applications Customization Developer role.
Make the customizations and save the application project.
Finally redeploy the composite application, either to a direct
Application Server connection, or as a fresh SAR (jar) file that can
then be re-imported and deployed via Enterprise Manager.
The Business Process Management (BPM) Suite
In addition to the relatively low-level development environment
associated with BPEL process creation, Oracle provides a suite of
products that allow business process adjustments to be made without the
need for some of the programming skills. The aim is to abstract much of
the technical implementation and to provide a Business Analyst tools
for immediately implementing organization changes. Obviously there are
some limitations on what they can do, however the BPM Suite
functionality increases with each release and for the majority of the
cases the tools remains as applicable as its developer-orientated
sister.
At the current time business processes must be explicitly coded to
support just one of these use-cases, either BPEL for developer use or
BPM for business analyst use. That said, they both run on the same SOA
Server in much the same way. The components bundled in each SOA
Composite Application can be verified by inspection through Enterprise
Manager.
Figure 2 – A BPM Process in JDeveloper BPM Suite.
BPM processes are written in a standard notation (BPMN) and the
modeling tools are very similar to that of BPEL. The steps to deploy a
custom BPM process are also essentially much the same, since the BPM
process is bundled into a SOA Composite just like a BPEL process. As
such the SOA Composite Editor actually has support for both artifacts
and even allows use of them together, such as a calling a BPM process as
a partnerlink from a BPEL process. For more details see the references
below.
Business Analyst Tooling
In addition to using JDeveloper extensions for BPM development, there
are run-time tools that Business Analysts can use to make adjustments,
so that without high costs of an IT project the system can be tuned to
match changes to the business operation.
The first tool to consider is the BPM Composer, deployed
with the middleware SOA Server and accessible online, and for Fusion
Applications it is under the Business Process icon on the homepage of
the Application Composer.
Figure 3 – Business Process Composer showing a CRM process flow.
The key difference between this and using JDeveloper is that the BPM Composer has a Business Catalog
prepopulated with features and functions that can be used, mostly
through registered WebServices. This means no coding or complex
interface development is required, simply drag-drop-configure. The items
in the business catalog are seeded by either Oracle (as a BPM Template)
or added to by your own custom development. You cannot create or
generate catalog content from BPM Composer directly. As per the
screenshot you can see the Business Catalog content in the BPM Project
browser region.
In addition, other online tools for use by Business Analysts include the BPM Worklist application for editing business rules and approval management configuration, plus the SOA Composer which focuses on non-approval business rules and domain value maps.
At the current time there are only a handful of BPM processes shipped
with Fusion Applications HCM and CRM, including on-boarding workers and
processing customer registrations. This also means a limited number of
associated BPM Templates provided out-of-the-box, therefore a limited
Business Catalog. That said, BPM-based extension is a powerful
capability to leverage and will most likely develop going forwards,
especially for use in SaaS deployments where full design-time JDeveloper
access is not available.
Further Reading
For BPEL – Fusion Applications Extensibility Guide – Section 12
For BPM – Fusion Applications Extensibility Guide – Section 7
The product-specific documentation and implementation guides for Fusion Applications
Fusion Middleware Developers Guide for SOA Suite
Modeling and Implementation Guide for Oracle Business Process Management
User’s Guide for Oracle Business Process Composer
Oracle University courses on BPM Suite and SOA Development