This chapter provides a general overview of the Oracle BPM Suite, explains Oracle BPM user personas, Oracle BPM components, integration with Oracle Business Process Analysis (BPA) Suite, and the development lifecycle of a process. Finally, it describes typical uses cases of the Oracle BPM Suite from process modeling to run time.

1.1 Introduction to the Oracle BPM Suite

The Oracle BPM Suite provides an integrated environment for developing, administering, and using business applications centered around business processes.

The Oracle BPM Suite provides the following:

Enables you to create process models based on standards with user friendly applications. It enables collaboration among process developers and process analysts. Oracle BPM supports BPMN 2.0 and Business Process Execution Language (BPEL) from modeling and implementation to run time and monitoring.

Enables process analysts and process owners to customize business processes and Oracle Business Rules.

Provides a web-based application for creating business processes, editing Oracle Business Rules, and task customization using predefined components.

Unifies different stages of the application development life cycle by addressing end-to-end requirements for developing process-based applications. Oracle BPM unifies the design, implementation, run time, and monitoring stages based on an Service Component Architecture (SCA) infrastructure. This allows different personas to participate through all stages of the application life-cycle.

1.2 Oracle BPM User Personas

Different stages of application development life cycle require interaction from different types of users. Table 1-1 outlines typical users of Oracle BPM Suite and their responsibilities. It also lists the components of the Oracle BPM they would use to perform their work.

These user personas are used within the examples in this guide.

Table 1-1 Oracle BPM User Persona

User Persona

Description

Process analyst

Process analysts are responsible for creating the initial flow of a business process and documenting its steps. This also includes identifying and defining the Key Performance Indicators (KPIs) and high-level rules that define the routing artifacts of the business process. This persona can also perform simulations to calculate and estimate the return on investment.

Process analysts typically use the Oracle Business Process Analysis Suite or Business Process Composer to create process models. They can also use process analyst role within Oracle BPM Studio.

Process developer

Process developers are responsible for implementing the process models created by process analysts. Each step in the process requires an implementation. The process developer is responsible for integrating the business process with back-end applications such as databases.

Process developers typically use Oracle BPM Studio to model and implement the components of a business application. They may occasionally use Oracle Business Process Composer (Business Process Composer) for modeling basic processes.

Business administrator

Business administrators are responsible for administering the BPM infrastructure. Typical activities include the installation and setup of BPM environments and the overall management of the Oracle BPMN Service Engines that are hosting the business processes.

This persona can be delegated the responsibilities for administering the organizational assets such as users, groups, organization units, calendars and holidays.

The main tool used by business administrators is the Oracle Enterprise Manager and automated tools such as Ant. Business administrators also use Oracle Business Process Management Workspace (Process Workspace) to manage organization units, role assignments and perform other activities like creating workflow advanced routing declarations

Process owner

Process owners are responsible for controlling and managing deployed business processes. They are responsible for the overall supervision of the running business process. They often use metric analysis tools such as dashboards to understand the current state of the managed business processes.

Process owners typically use Process Workspace. They also use Business Process Composer to change the behavior of a process by editing Oracle Business Rules. They may also use the Oracle BAM console to view metrics dashboards.

Process participant

Process participants are the people who use the business applications created with the Oracle BPM Suite.

1.3.1.1 Oracle BPM Studio

Oracle BPM Studio is a component of the Oracle BPM Suite that provides a user friendly environment where process analysts can design business process models and run process simulations. Oracle BPM Studio supports Business Process Management Notation (BPMN) 2.0.

Oracle BPM Studio also enables process developers to create working process-based applications. These applications are Oracle BPM projects that are integrated as Service Integration composite applications.

You can use Oracle BPM Studio to implement business processes with other Oracle components such as adapters, human workflow and business rules. You can then deploy these processes to Oracle BPM run time.

Oracle BPM Studio is a part of the Oracle JDeveloper IDE. Oracle BPM Studio enables IT users to use a single integrated tool to model and edit business processes, implement the required IT elements, and deploy applications to the run-time environment.

Oracle BPM Studio also provides a BPM role that enables business users to use a simplified version of Oracle JDeveloper that displays only functionality relevant to process design.

See the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management for more information.

1.3.1.2 Oracle Business Process Composer (Business Process Composer)

Business Process Composer is a Web-based application that enables business users to collaborate with process developers and designers. It provides a user friendly environment for editing processes and process templates created in Oracle BPM Studio.

Process developers can create a catalog of preconfigured components such as services, tasks, and rules in Oracle BPM Studio. This catalog can be included in project templates that process analysts can use to create new projects using Business Process Composer.

After creating a project based on a project template, process analysts can incorporate business catalog elements and perform other required edits defined by the project template. Process analysts can then deploy these project to theOracle BPM run time.

Business Process Composer also enables process analysts to create process blueprints. These are initial drafts of a process that can be used by process developers who use Oracle BPM Studio to add further implementation details and refinement to the project.

Business Process Composer also enables you to edit Oracle Business Rules at run time. This is important because policies tend to evolve faster than business processes.

1.3.1.3 Oracle Metadata Service (MDS) Repository

MDS provides a repository that is used to store data about applications deployed within an Oracle Fusion Middleware environment. Oracle BPM uses this repository, called Oracle Business Process Management Metadata Store, to store information about deployed applications.

1.3.1.4 Oracle BPM Projects

Oracle BPM projects are containers for the business processes and related resources used to create a process-based business application. An Oracle BPM project can contain the following:

Organizational data

Activity guides

BPMN process models

Business catalog

Simulation models

Other resources

Oracle BPM projects are deployed at run time as Service Integration composite applications. For more information on working with projects and Service Integration composite applications see the following documentation:

"Working with Projects and Project Templates" in Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management

"Working with Projects and Project Templates" in Oracle Fusion Middleware Business Process Composer User's Guide for Oracle Business Process Management

Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite

1.3.2 Oracle BPM Run Time Components

Oracle BPM Run Time is responsible for controlling deployed applications. Oracle BPM run time includes the following components:

1.3.2.1 Oracle BPM Engine

The Oracle BPM Engine provides a run-time environment for running business processes. It provides native support for both BPMN and BPEL processes.

The BPM engine is composed of three separate components:

BPMN Engine

The BPMN engine provides an environment for running BPMN processes.

BPEL Engine

The BPEL engine provides an environment for running BPEL processes.

Process Core

The Process Core provides engine functionality that is shared by the BPMN and BPEL engines. Some of the key functionality performed by the process core includes:

Manage security

Generate audit trails

Invoke services

Manage persistence

1.3.2.2 Oracle Human Workflow

Many end-to-end business processes require human interactions with the process. For example, humans may be needed for approvals, exception management, or performing activities required to advance the business process. The human workflow service provides features such as:

Task routing to users, groups or application roles.

Deadlines, escalations, notifications, and other features required for ensuring the timely performance of a task.

Task forms for presentation of tasks to end users through a variety of mechanisms, including a workspace and portals.

Organization, filtering, prioritization, dispatching rules and other features required for end users to productively perform their tasks.

1.3.2.3 Oracle Business Rules

Oracle Business Rules are a component of the Oracle SOA Suite that enable dynamic decisions at run time allowing, among other features, applications to rapidly adapt to regulatory and competitive pressures. This increased agility is possible because process analysts using Oracle Business Rules can create and change business rules that are separated from the application code. By using Oracle Business Rules, process analysts can change business rules without stopping business processes. Also, externalizing business rules enables process analysts to manage business rules directly, without involving process developers.

1.3.2.4 Oracle WebLogic Server

Oracle WebLogic Server is an application server that provides a platform for creating and running J2EE-compliant applications.

1.3.2.5 Oracle Enterprise Manager

The Oracle Enterprise Manager is a Web-based application that enables system administrators to control and manage applications running on the Oracle SOA Suite. Enterprise Manager enables business administrators to configure and manage business applications and process instances.

1.3.3 Oracle BPM Suite Process Participant Applications

The following sections describe the components of the Oracle BPM Suite that are used by process participants to perform their day-to-day work. These applications enable process participants to interact with running business applications managed by Oracle BPM run time.

1.3.4 Other Oracle BPM Suite Components

The following sections describe other components of the Oracle BPM Suite.

1.3.4.1 Process Analytics

Business Process Analytics enables process participants to monitor the performance of running process-based applications. It measures the key performance indicators defined in a BPM project and stores them in a database. Process participants and analysts can view the metrics stored in the process analytics databases using Process Workspace dashboards or Oracle BAM.

1.3.4.2 Guided Business Processes

Guided Business Processes enable process analysts and developers to group the interactive activities in your BPM process into a set of milestones that are meaningful to the process participants. They outline the steps the process participants must complete, hiding the complexity of the business process.

1.4 Oracle Business Process Analysis (BPA) Suite

The Oracle Business Process Analysis Suite is a separate Oracle product suite based on the Aris platform from IDS Scheer. It provides comprehensive modeling, analysis, and simulation capabilities for enterprise wide business processes. It also supports capturing business architecture artifacts such as strategic objectives, goals, higher level KPIs, risks and controls, and conceptual models such as value chain diagrams.

Additionally, the Oracle Business Process Analysis Suite supports the following:

Alignment of business processes with a business strategy.

Service discovery and linking to business processes. Drives service requirements for the Oracle SOA Suite.

Loading and creating simulation scenarios which enable you to determine optimal resource allocation. Simulation enables you to perform throughput analysis, activity based costing, and resource utilization. Additionally, you can create simulation analysis reports for easy analysis of simulation results.

Comprehensive version management including check-in, check-out, and change management capabilities.

The business architecture defined by the Oracle Business Process Analysis Suite is the formal link between strategic objectives and the actual business applications created using Oracle BPM. The Oracle Business Process Analysis Suite supports modeling of business architecture artifacts such as strategy maps, goals, objectives, risk and controls and linking them to business processes.

This provides the ability to prioritize efforts, justify decisions, and trace activities of the business process improvement initiatives to strategic goals of the business, hence improving business and IT alignment. It provides tremendous value because it offers a clear understanding of which BPM projects to undertake, which processes are currently most strategic to the company, and which services are most aligned with the business strategy.

The Oracle Business Process Analysis Suite complements the functionality of the Oracle BPM Suite by adding orthogonal dimensions to the modeling phases including organization goals. See the Oracle BPA Quick Start Guide for more information.

Processes created in the Oracle Business Process Analysis Suite can be imported into the Oracle BPM Suite. Using Oracle BPM Studio, you can integrate your business process with other Oracle technologies including adapters, business rules, and human tasks.

1.5 Introduction to the Application Development Life Cycle

This section outlines the stages of the development life cycle of an Oracle BPM application. It describes how different components of Oracle BPM are used within each stage.

Figure 1-2 lists the four stages of the application development life cycle, the user personas applicable to each stage, and the Oracle BPM tools and applications that are used.

Figure 1-2 Stages of the Oracle BPM Application Development Life Cycle

1.5.1 Process Modeling

The first stage of the application development life cycle is process modeling. During this stage a process analyst creates process models based on real-word business processes and problems.

Oracle BPM provides three distinct tools for modeling business processes. Each tool has a different role within the Oracle BPM Suite. The tool you use depends on your business requirements, the stage of the application development cycle, and your user persona.

Oracle BPM Studio

Oracle BPM Studio runs on the Oracle JDeveloper IDE platform. Oracle BPM Studio provides a process analyst role that displays a simplified set of JDeveloper functionality that focuses on designing process models.

Oracle BPM Studio enables process analysts and process developers to design and implement detailed process flows that are deployed to Oracle BPM run time and run as working applications. Additionally, detailed process flows from Oracle Business Process Analysis Suite or Business Process Composer can be brought inside Oracle BPM Studio for further implementation, then deployed to the Oracle BPM run time.

Oracle Business Process Composer

Business Process Composer is a collaboration tool that enables process analysts to collaborate with process developers.

Oracle Business Process Analysis Suite (BPA)

The Oracle Business Process Analysis Suite enables you to create robust models of your business processes from high-level models of your entire organization down to lower level business processes that you can implement as running processes.

1.5.2 Implementation

After process analysts model business processes, process developers are responsible for creating business applications based on these models. Using Oracle BPM Studio, process developers implement reusable services and integrate other business systems.

Implementation may include the following types of tasks generally performed by process developers:

After a process developer finishes the implementation, the application is compiled and deployed like other Service Integration composite applications. It can be compiled and deployed using Oracle BPM Studio.

1.5.3 Deployment

Deployment is the process of transferring an Oracle BPM project from the development environment to the run-time environment. This can be either a testing or production run-time environment.

After finishing the integration of business processes with back-end systems and reusable services, process developers create and compile a working process-based application. This application is then deployed to Oracle BPM Run Time.

Oracle BPM Suite contains the following typical scenarios for deploying to Oracle BPM Run Time:

Deployment directly from Oracle BPM Studio

Applications created with Oracle BPM can be deployed directly to the run-time environment like any other Service Integration composite application. This is typically performed by a process developer using Oracle BPM Studio within a test or development environment.

See the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for more information about deploying Service Integration composite applications.

Deployment directly from Business Process Composer

Oracle BPM enables you to deploy projects created from project templates directly to the same run time environment where Business Process Composer is installed. When creating a project, you can specify an approval workflow that must be completed before the project is deployed.

You can deploy from Business Process Composer when it is installed in the same server infrastructure as Oracle BPM Run Time. This enables process analysts to deploy and test process-based business applications. The is generally done in a testing environment.

Deployment using an exported SAR file

Oracle BPM Studio and Business Process Composer enable you to export applications using a SAR file. The SAR file can be deployed to a run time environment by business administrators using Oracle Enterprise Manager.

In a production environment, this is generally how applications are deployed.

1.5.4 Oracle BPM Run Time

After an application is deployed, the run-time environment makes the Oracle BPM application available to process participants based on the roles assigned in the organization where the business processes were deployed. This stage is divided into these distinct functions:

User interaction

Process participants and process owners are responsible for interacting with the running application using Process Workspace.

Process analysts and owners can also monitor the process and revise Oracle Business Rules at run time using Business Process Composer.

Process management and monitoring

Process owners are responsible for monitoring and maintaining running processes using Process Workspace. Process analysts and owners use Oracle Business Process Analysis to monitor the real-time performance of business processes.

Process creation

Process participants who have the necessary permissions can create new processes using Oracle BPM Workspace or Oracle Process Spaces

System administration

Business administrators are responsible for maintaining running business applications and the overall run-time infrastructure using Oracle Enterprise Manager and the Oracle WebLogic Server administration console.

1.6 Oracle BPM Use Cases

This section describes typical uses cases of the Oracle BPM Suite from process modeling to run time.

1.6.1 Use Case: Using Oracle BPM Studio to Create Project Templates

This use case involves using Oracle BPM Studio to create project templates. These templates are used by process analysts to create new projects using Business Process Composer.

1.6.3 Use Case: Using Business Process Composer to Create Process Blueprints

This use case involves creating process blueprints using Business Process Composer. These blueprints are then shared with process developers who import them into Oracle BPM Studio, where they perform further refinement and implementation.

Typical Workflow for Using Business Process Composer to Create Process Blueprints

Edit the project as defined by the edit policies of the project template (process analyst).

Deploy the project to Oracle BPM Run Time (process analyst, process administrator).

1.6.4 Use Case: Using Business Process Composer to Revise Oracle Business Rules

This use case involves using Business Process Composer to edit Oracle Business Rules at run time. After an application is deployed, process analysts and owners can open the deployed project and edit Oracle Business Rules.

Typical Workflow for Using Process Composer to Revise Oracle Business Rules

Model a set of business processes (process analyst).

Implement and deploy an application (process developer).

Edit the Oracle Business Rules at run time using Business Process Composer. (process owner).

1.6.5 Use Case: Using the Oracle Business Process Analysis Suite to Model Your Business Processes

This use case involves using the Oracle Business Process Analysis Suite to model your business processes. These processes can be imported into Oracle BPM Studio.

Typical Workflow for Using the Oracle Business Process Analysis Suite and Oracle BPM Suite to Model Processes