1 Oracle Business Process Management Suite (Oracle BPM Suite) Overview

This chapter provides a general overview of the Oracle BPM Suite.

This chapter includes these topics:

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.

  • Expands business process management to include flexible, unstructured processes. It adds dynamic tasks and supports approval routing using declarative patterns and rules-driven flow determination.

  • Enables collaboration provided by Oracle Business Process Management Process Spaces, which drives productivity and innovation.

  • 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.

    See Section 1.2, "Oracle BPM User Personas" for more information about the user personas defined for the Oracle BPM Suite.

The Oracle BPM Suite provides a seamless integration of all stages of the application development life cycle from design time and implementation to run time and application management.

The Oracle BPM Suite is layered on the Oracle SOA Suite and shares many of the same product components, including:

  • Business Rules

  • Human Workflow

  • Oracle Adapter Framework for Integration

Figure 1-1 shows a high-level architectural view of the Oracle BPM Suite.

Figure 1-1 The Oracle BPM Suite

Description of Figure 1-1 follows
Description of "Figure 1-1 The Oracle BPM Suite"

The following sections of this chapter provide more information on each of these components shown in Figure 1-1.

Section 1.2, "Oracle BPM User Personas" describes the different types of users who can use the Oracle BPM Suite. It also lists applications and components typically used by each type of user.

Section 1.3, "Oracle BPM Suite Components"describes each component of the Oracle BPM Suite.

Section 1.4, "Oracle Business Process Analysis Suite" describes the comprehensive modeling, analysis and simulation capabilities for enterprise wide business processes provided through Oracle Business Process Analysis Suite.

Section 1.5, "Introduction to the Application Development Life Cycle" describes each stage of the application development cycle using Oracle BPM Suite.

Section 1.6, "Oracle BPM Use Cases" describes the typical use cases for Oracle BPM Suite.

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, organizational 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 organizational 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.

Process participants typically use Process Workspace or Process Spaces.


1.3 Oracle BPM Suite Components

This section provides a general description of the major components of the Oracle BPM Suite. See Section 1.5, "Introduction to the Application Development Life Cycle" for information about how these components interact within the application development process.

1.3.1 Process Modeling and Implementation

This section describes the applications and components used to model and implement business processes and process-based business applications.

The Oracle BPM Suite provides two primary applications for modeling and implementing business processes: Oracle BPM Studio and Oracle Business Process Composer.

Note:

Oracle BPM can also integrate business processes created using the Oracle Business Process Analysis Suite. See Section 1.4, "Oracle Business Process Analysis Suite" for more information.

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 SOA 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.

See Oracle Fusion Middleware Business Process Composer User's Guide for Oracle Business Process Management for more information.

1.3.1.3 Oracle Metadata Service (MDS)

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.

Oracle BPM also uses a separate MDS partition to share projects and project templates between process analysts and process developers. Figure 1-1, "The Oracle BPM Suite" shows how the MDS repository fits within the overall Oracle BPM architecture.

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 SOA composite applications. For more information on working with projects and SOA 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

Human tasks are a component of Oracle Human Workflow that enable you to interleave human interactions with connectivity to systems and services within an end-to-end process flow. Human tasks are responsible for handling all interactions with users or groups participating in the business process.

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.3.1 Oracle Business Process Management Workspace (Process Workspace)

Process Workspace enable process participants to interact with the applications you create using Oracle BPM. The Process Workspace user interface provides tabs for each of the following:

  • Tasks: This page enables process participants to view and work with their assigned tasks.

  • Process Tracking: This page enables process participants to view running process instances.

  • Standard Dashboards: This page provides out-of-the-box dashboards for monitoring process performance, task performance, and workload.

  • Custom Dashboards: This page enables process participants to define and use custom dashboards based on the measurement data generated by process instances.

Process Workspace also enables business administrators to configure and maintain organizations and roles. See the Oracle Fusion Middleware User's Guide for Oracle Business Process Management for more information.

1.3.3.2 Oracle Business Process Management Process Spaces (Process Spaces)

Process Spaces is a collaborative workspace built on top of Oracle WebCenterSpaces and enables more productive BPM by increasing collaboration.

See the Oracle Fusion Middleware User's Guide for Oracle Business Process Management for more information.

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.

See "Introduction to Guided Business Processes" in Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management

1.4 Oracle Business Process Analysis 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.

See the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management for more information on using business processes created in Oracle Business Process Analysis within Oracle BPM Studio.

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

This graphic is described in the text.
Description of "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.

See Section 1.6, "Oracle BPM Use Cases" for more information about how each of these tools fit within the typical Oracle BPM uses cases. See Oracle Fusion Middleware Business Process Composer User's Guide for Oracle Business Process Management for more information about how Business Process Composer and Oracle BPM Studio interact within the application development life cycle.

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:

  • Data mapping and transformation

  • System fault handling

  • Designing and implementing user interfaces using Oracle Human Workflow

  • Designing Oracle Business Rules

  • Creating dashboards

After a process developer finishes the implementation, the application is compiled and deployed like other SOA 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 SOA 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 SOA 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.

  • Deployment Using the WebLogic Scripting Tool (WLST)

    Oracle BPM provides customized WLST commands for managing and deploying Oracle BPM projects.

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.

  • 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.

Typical Workflow for Using Oracle BPM Studio to Create Project Templates

  1. Determine the business requirements (process analyst).

  2. Model the required business processes using Oracle BPM Studio (process analyst or process developer)

    A process analyst can use the Process Analyst role in Oracle JDeveloper.

  3. Implement the processes by integrating each element of the process with back-end systems and reusable services (process developer).

  4. Create a project template using Oracle BPM Studio (process developer)

  5. Publish the project template to the Oracle BPM MDS repository (process developer).

  6. Create a new Oracle BPM project based on a project template (process analyst).

  7. Implement the required reusable services defined by the project template (process analyst).

  8. Deploy the project to Oracle BPM run time (process analyst).

1.6.2 Use Case: Using Oracle BPM Studio to Model Processes and Deploy an Application

This use case involves using Oracle BPM Studio to create process models. These models are used to create working business applications that are deployed to the Oracle BPM Run Time.

Typical Workflow for Using Oracle BPM Studio to Model Processes

  1. Determine the business requirements (process analyst).

  2. Model the required business processes using Oracle BPM Studio (process analyst or process developer)

    A process analyst can use the Process Analyst role in Oracle JDeveloper.

  3. Implement the processes by integrating each element of the process with back-end systems and reusable services (process developer).

  4. Compile the Oracle BPM project as a composite application (process developer).

  5. Deploy the application to the run-time environment (process developer, business administrator).

  6. Interact with the deployed processes as part of a running business application (process participants, process owner).

  7. Maintain and monitor the running process-based applications (business administrator, process owner).

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

  1. Create process blueprints using Business Process Composer (process analyst).

  2. Provide implementation details for the business process and prepare the process-based business application for deployment (process developer).

  3. Create project templates and publish them to the Oracle BPM Metadata Store repository using Oracle Business Process Management Studio (process developer).

  4. Create a project based on a the project template (process analyst).

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

  6. Deploy the project to Oracle BPM Run Time (pro cess 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

  1. Model a set of business processes (process analyst).

  2. Implement and deploy an application (process developer).

  3. 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

  1. Determine the business requirements (process analyst).

  2. Design your business architecture by capturing strategic objectives, process maps, value chain diagrams using Oracle Business Process Analysis (process analyst).

  3. Perform strategic analysis to determine potential process candidates for Oracle BPM projects. (process analysts)

  4. Design detailed process flows for the process candidates identified previously (process analyst)

  5. Import your process models into Oracle BPM Studio (process analyst, process developer).

  6. Implement the processes by integrating each process component with back-end systems and reusable services (process developer).

  7. Deploy the business processes, as a BPM project, to the run time environment (process developer, business administrator).

  8. Interact with the deployed processes as part of a business application (process participant, process owner)

  9. Maintain the processes (business administrator, process owner)