This chapter provides a general overview of the Oracle Business Process Management (BPM) Suite.
This chapter includes the following sections:
Section 1.1, "Introduction to the Oracle Business Process Management Suite"
Section 1.5, "Introduction to the Application Development Life Cycle"
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 between process developers and process analysts. Oracle BPM supports BPMN 2.0 and 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 by providing integration with 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. Oracle BPM enables different personas to participate through all stages of the application life-cycle.
See Section 1.2, "Oracle BPM User Personas" for more information on 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.
Section 1.3, "Oracle BPM Suite Components" provides more information on each of these components shown in Figure 1-1.
Different stages of the application development life cycle require interaction from different types of users. Table 1-1 outlines the 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 KPIs and high level rules that define the routing artifacts of the business process. This persona may also perform simulations to calculate and estimate ROI. Process analysts typically use the Oracle Business Process Analysis (BPA) Suite or Business Process Composer to create process models. They may also use the 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 like databases. Process developers typically use Oracle BPM Studio to model and implement the components of a business application. They may occasionally use 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 BPM Engines that are hosting business processes. This persona may be delegated responsibilities for administering the organization structure assets like users, groups, organizational units, calendars and holidays. The main tool used by business administrators is the Oracle Enterprise Manager and automated tools like Ant. Business administrators also use 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 like 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. |
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 on how these components interact within the application development process.
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.
Note:
Oracle BPM can also integrate business processes created using the Oracle Business Process Analysis (BPA) Suite. See Section 1.4, "Oracle Business Process Analysis (BPA) Suite" for more information.
Oracle BPM Studio is a component of the Oracle BPM Suite that provides a user-friendly environment where process analysts can create 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 only displays functionality relevant to process design.
See the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management for more information.
Oracle 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 projects to the Oracle 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 that business processes.
See the Oracle Fusion Middleware Business Process Composer User's Guide for more information.
Oracle Metadata Service (MDS) provides a repository that is used to store date about applications deployed within an Oracle Fusion Middleware environment. Oracle BPM uses this repository 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.
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
Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite
Oracle BPM run time is responsible for controlling deployed applications. Oracle BPM run time includes the following components.
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 Service Engine
The BPMN engine provides an environment for running BPMN processes.
BPEL Service Engine
The BPEL engine provides an environment for running BPEL processes.
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
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.
Oracle Business Rules enable dynamic decisions at runtime allowing you to automate policies, computations, and reasoning while separating decision logic from underlying process orchestration layer. This allows more agile rule maintenance and empowers business analysts with the ability to modify rule logic without programmer assistance and without interrupting business processes.
Oracle WebLogic Server is an application server that provides a platform for creating and running J2EE-compliant applications.
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.
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.
Oracle Business Process Management Workspace and Oracle Business Process Management Process Spaces allow process participants to interact with the applications you create using Oracle BPM. The Process Workspace user interface provides tabs for each of the following:
Process Instances: This tab enables process participants to view running process instances.
Task List: This tab enables process participants to view and work with their assigned tasks.
Process Dashboards: This tab provides out-of-the-box dashboards for monitoring process performance, task performance and workload.
Custom Dashboards: This tab enables process participants to define and use custom dashboard 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.
Process Spaces is a collaborative workspace built on top of Web Center Spaces and enables more productivity by increasing collaboration.
See the Oracle Fusion Middleware User's Guide for Oracle Business Process Management for more information.
The following sections describe other components of the Oracle BPM Suite.
Business Process Analytics enables process participants to monitor the performance of a 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.
Guided Business Processes enable process analysts and developers to group the interactive activities in a business process into a set of milestones that are meaningful to the process participants. They outline the steps the process participants have to 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
The Oracle BPA Suite is a separate Oracle product suite based on the Aris platform from IDS Scheer. The Oracle Business Process Analysis (BPA) Suite provides comprehensive modeling, analysis and simulation capabilities for enterprise wide business processes. Oracle BPA 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 BPA Suite supports the following:
Alignment of business processes with business strategy.
Service discovery & linking to business processes. Drives service requirements for the Oracle SOA Suite.
Loading and creating simulation scenarios which allow you to determine optimal resource allocation. Simulations allow 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 BPA Suite is the formal link between strategic objectives and the actual business applications created using Oracle BPM. The Oracle BPA 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/IT alignment. It provides tremendous value as 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 business strategy.
The Oracle BPA 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 BPA 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 BPA within Oracle BPM Studio.
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
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 BPA 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 (BPA) Suite
The Oracle BPA 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 on how each of these tools fit within the typical Oracle BPM uses cases. See Section 3.2, "Overview of the Application Development Life Cycle" for more information on how Oracle Business Process Composer and Oracle BPM Studio interact within the application development life cycle.
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 of the application, it is compiled and deployed like other SOA composite applications. It can be compiled and deployed using Oracle BPM Studio.
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. The 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 BPM Studio within a test or development environment.
See the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for more information on deploying SOA composite applications.
Deployment directly from Oracle 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. Deploying from Business Process Composer enables process analysts to easily 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 run time 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.
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 two 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 Process Analytics to monitor the real-time performance of business processes.
Process creation
Process participants who have the necessary permissions can create new processes using Process Workspace orProcess 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.
This section describes typical uses cases of the Oracle BPM Suite from process modeling to run time.
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
Determine the business requirements. (process analyst)
Model the required business processes using Oracle BPM Studio (process analyst / process developer)
Process analyst can use the Process Analyst role in Oracle JDeveloper.
Implement the processes by integrating each element of the process with back-end systems and reusable services. (process developer).
Create a project template using Oracle BPM Studio. (process developer)
Publish the project template to the Oracle BPM MDS repository (process developer).
Create a new Oracle BPM project based on a project template (process analyst)
Implement the required reusable services defined by the project template (process analyst)
Deploy the project to Oracle BPM run time (process analyst)
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
Determine the business requirements (process analyst).
Model the required business processes using Oracle BPM Studio (process analyst / process developer)
Process analyst can use the Process Analyst role in Oracle JDeveloper.
Run simulations to test and improve process performance. (process analyst / process developer).
Implement the processes by integrating each element of the process with back-end systems and reusable services. (process developer).
Compile the Oracle BPM project as a composite application. (process developer)
Deploy the application to the run time environment (process developer, business administrator).
Interact with the deployed processes as part of a running business application (process participants, process owner)
Maintain and monitor the running process-based applications (business administrator, process owner)
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
Create process blueprints using Business Process Composer. (process analyst)
Provide implementation details for the business process and prepare the process-based business application for deployment. (process developer)
Create project templates and publish them to the Oracle BPM Metadata Store repository using Oracle BPM Studio. (process developer)
Create a project based on a the project template. (process analyst)
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)
The 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 Business 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)
This use case involves using the Oracle BPA Suite to model your business processes. These processes can be imported into Oracle BPM Studio.
Typical Workflow for Using the Oracle BPA Suite and Oracle BPM Suite to Model Processes
Determine the business requirements (process analyst).
Design your business architecture by capturing strategic objectives, process maps, value chain diagrams using Oracle BPA. (process analyst).
Perform strategic analysis to determine potential process candidates for Oracle BPM projects. (process analysts)
Design detailed process flows for the process candidates identified above. (process analyst)
Import your process models into Oracle BPM Studio (process analyst, process developer).
Implement the processes by integrating each process component with back-end systems and reusable services. (process developer).
Deploy the business processes, as a BPM project, to the run time environment (process developer, business administrator).
Interact with the deployed processes as part of a business application (process participant, process owner)
Maintain the processes (business administrator, process owner)