Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Oracle BPM Suite 11g Developer's cookbook
Oracle BPM Suite 11g Developer's cookbook

Oracle BPM Suite 11g Developer's cookbook: Over 80 advanced recipes to develop rich, interactive business processes using the Oracle Business Process Management Suite with this book and ebook

eBook
₹799.99 ₹4230.99
Paperback
₹5287.99
Subscription
Free Trial
Renews at ₹800p/m

What do you get with a Packt Subscription?

Free for first 7 days. ₹800 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Oracle BPM Suite 11g Developer's cookbook

Chapter 1. Process Modeling

In the first chapter, you will start with laying the foundation for, and demonstrating how to implement the modeling of, business processes for a Use Case of a fictitious organization that needs Oracle BPM to be implemented at their site. Recipes will demonstrate how to create and model business processes using Business Process Management Notation and Modeling (BPMN) within the Oracle Business Process Management Suite and how to create an organizational model that mimics your real-world organization.

In this chapter you will learn the following:

  • Modeling business processes with BPM

  • Simulating the BPM Application development lifecycle

  • Modeling a fictitious organization

  • Creating Business Process Flow

  • Creating and defining Projects

  • Defining Role and Organization Units

  • Organizing processes using swimlanes

  • Adding user interaction to Process Flow

  • Controlling Process Flow—Defining exclusive gateways

  • Controlling Process Flow—implementing exclusive gateways

  • Controlling Process Flow—Parallel gateways

  • Controlling Process Flow—Sequence flows

  • Communicating with external processes and services

  • Changing the value of Data objects in your process

  • Creating Business objects in Business Catalog

  • Adding documentation to the Flow Element

  • Creating MDS for BPM

  • Publishing a BPM Project in BPM Studio to MDS

Introduction

Business Process Management (BPM) is for process transparency, process intelligence, business empowerment, and business alignment. This chapter explores recipes to carry out a model business process, using Oracle BPM Suite 11g. Business Architecture lays the blueprint for operating and transforming the Enterprise. Business Architecture includes various models that define business goals, objectives, initiatives, and metrics. Business Architecture models business functions, both internal and external. They also encompass organizational models to depict roles, responsibilities, and collaborations to define how, and by whom, defined functions will be provided and used. Along with this, Business Architecture defines the business rules and policies to infuse governance, so that stakeholders can adhere and enforce policies. Steps to achieve business transformation objectives are also defined.

However, one Business Architecture element that is of interest for us in this book is, Business Process Models. Business Process Models define the activities, steps, and information flow between processes, to carry out business functions.

As BPM is a part and element of Enterprise architecture, they need to be designed so that the Enterprise can fully reap the rewards of Oracle BPM. While designing business processes, we are not just automating and managing processes; it's more about how an enterprise adapts to a comprehensive view of business processes, where one has to take the overall Enterprise architecture into account and not just automating and managing business processes. Hence, you can look at BPM adoption in an Enterprise as an element of Enterprise architecture.

With BPM, an enterprise can achieve the goal of automation. It can now model a business process, make associations with human workflow and IT applications, and infuse Business Rules Management Systems (BRMS). In combination with SOA and BRMS, enterprises can achieve extremes of agility. Oracle BPM will offer business agility whose process impact is directly proportional to process complexity. BPM is used for continuous process improvement as well.

Oracle BPM methodology is an agile strategy and an iterative approach to Business Process Management. It is well-suited to this era of ever-changing business processes, where there is a demand for continuous incremental improvement. Traditional methodologies were code-centric, rarely Model Driven; they always overlook the KPI, lacked continuous improvement, and had no vision beyond the current single project. For BPM, a methodology was required that could address these inadequacies; that could bridge the gap between IT and Business.

Oracle BPM methodology as a foundation for Business Process Implementation, as an Enterprise element, offers many benefits, such as the following:

  • Business-driven: You will witness, in the BPM lifecycle, that business leadership and the Enterprise Architect work closely. This leads to process improvements with continuous alignment with business needs.

  • Evaluation: Evaluation of IT assets enables effective planning. Gaps in the IT landscape can be identified and accessed, and required enhancements can be specified.

  • Predictability: With simulation and analysis of processes, BPM incorporates predictability, so that results and costs can be determined in advance and with a high degree of accuracy and confidence.

  • Bridging the Business-IT gap: Business stakeholders are involved at every step of process design and development. Information is exchanged at every engineering step. A Process or Business Analyst always works with Process Architects. Business Process Analysts, with their process, business and modeling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPI's, and work with Process Architects for technical coordination.

  • Traceability: With Process Analysis, you can capture the key decisions and associated motivation artifacts to support impact analysis and enable traceability throughout the business process lifecycle.

  • Measurablity: With Process Analysis you can monitor your business processes, which enables a feedback loop, enabling continuous improvement.

  • Adaptability: BPM methods and activities can be integrated with existing methods and new methods, with ease.

  • Role Definition: Clear definition of duties.

The prerequisites to explore modeling, implementation, and deployments, using Oracle BPM Suite through recipes in this book, are that the following software be installed at your machine/site:

  • Oracle Weblogic Server

  • Oracle SOA Suite (includes Oracle BPM Suite)—BPM Suite gets installed when you install Oracle SOA Suite.

  • Oracle Database

  • Oracle Jdeveloper (with updates for SOA and BPM configured)

    Note

    Demos and examples used throughout this chapter and book are created on WebLogic server 10.3.5, SOA Suite 11.1.1.5.0, and JDeveloper 11.1.1.5.0 on a Windows 7, 64-bit machine.

BPM Application development lifecycle

Just as SOA enables IT Agility, BPM enables Business Agility. Process Impact is directly proportional to Process Complexity. BPM allows for continuous process improvement.

It is argued that BPM enables organizations to be more efficient, more effective, and more capable of change than a functionally focused, traditional, hierarchical management approach. It's the BPM that provides Process Management to serve business agility and manage complex business processes. An Oracle BPM Application's development lifecycle has many phases, such as:

  • Vision

  • Model

  • Implementation

  • Deployment

  • Runtime

This application development lifecycle is equally applicable to any type of BPMN Process, be it a Standard process, Orchestration process, or Choreographic process. Most process modelers, and even you, after reading this book and creating a model, must be more familiar with defining the flow of activities. This is called a Standard process or an Orchestration process. In Choreography processes, the focus is not on orchestrations of work performed by the participants but rather on the exchange of messages/information between participants.

User personas

There are user personas for every phase of the Application Development lifecycle, as different phases require interaction from different types of users.

Vision

Making BPM adoption Enterprise business-driven, is the vision laid by the leadership and coordinated by Enterprise-wide Architects. It brings both business and process agility. As you can see in the preceding diagram for Vision & Mission, the business leadership and Enterprise Architect work closely, and this leads to process improvements with continuous alignment with business needs.

This phase lays the foundation for BPM adoption in the Enterprise with automation and continuous improvement guaranteed, at the same time staying aligned with business needs. You can term it as planning, strategy, analysis, or design. Planning is must for a BPM initiative to succeed. BPM planning needs to go beyond a departmental level and must incorporate a comprehensive view of the entire enterprise—it's goals, operations, processes, and IT Systems.

Alignment with business objectives must be the strategy for a BPM vision. Business leadership, along with process owners, must analyze the processes and find other high-value processes that are amenable to automation and have a high benefit-to-risk ratio. These high-value processes are BPM process candidates.

An Enterprise Architect will then analyze the technical aspects of the BPM process candidates and create a BPM road map. This road map will describe the current state and future vision, and identify the gaps between the two. A road map to get from the current state to the desired state is defined as the mission.

Participants in this phase are—Business leadership and Enterprise Architects.

  • Business leadership (Business Participant) will drive the requirements by setting business goals, objectives, and priorities. Business leadership provides initial inputs, such as high-level vision definition and mission statements. They fund the BPM initiative. Business leadership may include many roles, such as Executive Management, Line-of-Business, and so on. However, let's define them as Enterprise Process Officers, who are responsible for developing a process-centric culture, system, and behaviors. They use BPM Analytics to determine business process changes. Business leadership is supported by Enterprise Architects.

  • Enterprise Architects ensure that IT strategies and standards are applied. Along with Business Leadership, they identify business architecture inputs to BPM and help determining the needs for major business process changes.

Model

During this stage, a Process Analyst creates process models based on real-world 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 Business Process Composer

  • Oracle Business Process Analysis Suite (BPA)

Models are simply a way for Process Analysts to document processes in a structured way. Process Analysts model the flow of a business process and document its steps. They are assisted by Process Architects with their technical skills. Process Analyst and Process Architect are the critical roles in the automation of business process. One has a greater business focus and the other has a technical orientation.

This bridges the business-IT gap. Business Process Analysts, with their process, business, and modeling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPI, and work with the Process Architect for technical coordination.

The participants in modeling are as follows:

  • Process Analysts: They are also termed as Business Process Analysts. They are involved in Process Modeling and have the relevant skills. They are responsible for:

    • Capturing and managing the graphical business process models

    • Driving process optimization

    • Recommending changes

    • Handling process change requests from the business

    • Incorporating incremental process improvements

    • Identifying and coding business rules

    • Working in User Acceptance Testing.

    They work closely with the Process Architect for technical coordination.

  • Process Architects: They coordinate with the Process Analysts in Process Modeling. It's a role that we also identify as Solution Architect. However, they have modeling skills and process implementation skills, too.

    They are responsible for:

    • Analysis and design of technical aspects for the process

    • Defining technical integration strategies

    • Technical specification for new IT capabilities

    • Directing system and integration testing

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:

  • Refining the process model

  • Making technical configurations

They implement defined rules. They can create a user interface and can incorporate Exception management. However, they have secondary developers to perform specialist technical tasks, for example, an Oracle ADF expert can create dynamic ADF pages to be used as Task Forms. Some other developer with Exception Handling expertise can perform that on the process. An integration expert can incorporate SOA stuff into the process, and so on.

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.

Process Developers: Also termed as Process Designers, they implement the process model to make it executable by configuring data mappings, defining data, and transforming activity input and output. They may not be knowledgeable about business processes, but rely on Process Models for implementations. They have the following responsibilities:

  • Rapidly create business processes using tools. Tools Required: BPM Studio

  • Creating implementation Artifacts.

  • Populating business catalog with rich implementation artifacts.

Deployment

This phase includes testing and deployment. Process Developers or a supporting deployment team can perform process deployment.

For testing, either a developer or a QA can be involved. Different phases involve participation from different people. Generally, developers will perform the Unit testing. System and Integration testing will be performed by the QA and directed by Process Architects. User Acceptance Testing (UAT) will witness involvement of Process Analysts and QAs. Once UAT is completed, the process is deployed to runtime.

Deployment is the process of transferring an Oracle BPM project from the development environment to the runtime environment. This can be either a testing or production runtime environment. After finishing the integration of business processes with backend systems and reusable services, Process Developers create and compile a working, process-based application. This application is then deployed to Oracle BPM Runtime. Oracle BPM Suite contains the following typical scenarios for deploying to Oracle BPM Run Time:

  • Deployment directly from Oracle BPM Studio

  • Deployment directly from Business Process Composer

  • Deployment using an exported SAR file

  • Deployment using the WebLogic Scripting Tool (WLST)

Once the process is deployed to runtime, it's available to end users.

Runtime

After an application is deployed, the runtime 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 the following distinct functions:

End 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 runtime.

End user participants: Process participants are the end users or process performers in a business process who perform the human aspects of the business process task and perform interactive activities. They provide task execution details to the Process Analyst and are involved in Acceptance Testing. They should be contacted and interviewed at the time of Process Automation, as it's a must for process design to know what they actually do. They have many roles, such as supervisor, sales manager, sales representative, business analyst, agents, clerks, and so on.

Oracle BPM flow will automatically route these tasks to a participant, based on his/her role, and they have to log in (either to Oracle BPM workspace or Process Spaces) and perform their activity. End user interaction to running process is performed by logging on to either Oracle BPM Workspace or Process Spaces.

Administrators are responsible for maintaining running business applications and the overall runtime infrastructure, using Oracle Enterprise Manager and the Oracle Weblogic Server administration console.

Administrators or Operation Managers are responsible for the following:

  • Configuring and Monitoring SOA Infrastructure

  • Configuring BPMN Process Service Engine

  • Integrating Oracle BPM with External Monitoring, such as Oracle Business Activity Monitoring, and many more.

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. The participant is process owner in this phase.

Process owners are the subject matter experts for the business process (es). They own a process or processes. They are responsible for:

  • Assisting the Business Process Analyst (B) throughout the modeling

  • Assisting the Business Process Administrators (IT) throughout runtime they require considerable business knowledge

  • Managing Process flow

  • Assigning tasks

  • Defining rules and objectives

  • Analyzing end-to-end Business Process Performance

  • Making process-specific decisions to resolve conflicts like the gap between departmental silos of business process activities where ownership is undetermined and knowledge is sparse. Process owners resolve such issues, as they are the process experts responsible for the end-to-end flow of key business processes.

  • Advocating recommendation for Enterprise-wide process improvements.

  • They are also responsible for the monitoring business process(es) that they own.

Introduction


Business Process Management (BPM) is for process transparency, process intelligence, business empowerment, and business alignment. This chapter explores recipes to carry out a model business process, using Oracle BPM Suite 11g. Business Architecture lays the blueprint for operating and transforming the Enterprise. Business Architecture includes various models that define business goals, objectives, initiatives, and metrics. Business Architecture models business functions, both internal and external. They also encompass organizational models to depict roles, responsibilities, and collaborations to define how, and by whom, defined functions will be provided and used. Along with this, Business Architecture defines the business rules and policies to infuse governance, so that stakeholders can adhere and enforce policies. Steps to achieve business transformation objectives are also defined.

However, one Business Architecture element that is of interest for us in this book is, Business Process Models. Business Process Models define the activities, steps, and information flow between processes, to carry out business functions.

As BPM is a part and element of Enterprise architecture, they need to be designed so that the Enterprise can fully reap the rewards of Oracle BPM. While designing business processes, we are not just automating and managing processes; it's more about how an enterprise adapts to a comprehensive view of business processes, where one has to take the overall Enterprise architecture into account and not just automating and managing business processes. Hence, you can look at BPM adoption in an Enterprise as an element of Enterprise architecture.

With BPM, an enterprise can achieve the goal of automation. It can now model a business process, make associations with human workflow and IT applications, and infuse Business Rules Management Systems (BRMS). In combination with SOA and BRMS, enterprises can achieve extremes of agility. Oracle BPM will offer business agility whose process impact is directly proportional to process complexity. BPM is used for continuous process improvement as well.

Oracle BPM methodology is an agile strategy and an iterative approach to Business Process Management. It is well-suited to this era of ever-changing business processes, where there is a demand for continuous incremental improvement. Traditional methodologies were code-centric, rarely Model Driven; they always overlook the KPI, lacked continuous improvement, and had no vision beyond the current single project. For BPM, a methodology was required that could address these inadequacies; that could bridge the gap between IT and Business.

Oracle BPM methodology as a foundation for Business Process Implementation, as an Enterprise element, offers many benefits, such as the following:

  • Business-driven: You will witness, in the BPM lifecycle, that business leadership and the Enterprise Architect work closely. This leads to process improvements with continuous alignment with business needs.

  • Evaluation: Evaluation of IT assets enables effective planning. Gaps in the IT landscape can be identified and accessed, and required enhancements can be specified.

  • Predictability: With simulation and analysis of processes, BPM incorporates predictability, so that results and costs can be determined in advance and with a high degree of accuracy and confidence.

  • Bridging the Business-IT gap: Business stakeholders are involved at every step of process design and development. Information is exchanged at every engineering step. A Process or Business Analyst always works with Process Architects. Business Process Analysts, with their process, business and modeling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPI's, and work with Process Architects for technical coordination.

  • Traceability: With Process Analysis, you can capture the key decisions and associated motivation artifacts to support impact analysis and enable traceability throughout the business process lifecycle.

  • Measurablity: With Process Analysis you can monitor your business processes, which enables a feedback loop, enabling continuous improvement.

  • Adaptability: BPM methods and activities can be integrated with existing methods and new methods, with ease.

  • Role Definition: Clear definition of duties.

The prerequisites to explore modeling, implementation, and deployments, using Oracle BPM Suite through recipes in this book, are that the following software be installed at your machine/site:

  • Oracle Weblogic Server

  • Oracle SOA Suite (includes Oracle BPM Suite)—BPM Suite gets installed when you install Oracle SOA Suite.

  • Oracle Database

  • Oracle Jdeveloper (with updates for SOA and BPM configured)

    Note

    Demos and examples used throughout this chapter and book are created on WebLogic server 10.3.5, SOA Suite 11.1.1.5.0, and JDeveloper 11.1.1.5.0 on a Windows 7, 64-bit machine.

BPM Application development lifecycle

Just as SOA enables IT Agility, BPM enables Business Agility. Process Impact is directly proportional to Process Complexity. BPM allows for continuous process improvement.

It is argued that BPM enables organizations to be more efficient, more effective, and more capable of change than a functionally focused, traditional, hierarchical management approach. It's the BPM that provides Process Management to serve business agility and manage complex business processes. An Oracle BPM Application's development lifecycle has many phases, such as:

  • Vision

  • Model

  • Implementation

  • Deployment

  • Runtime

This application development lifecycle is equally applicable to any type of BPMN Process, be it a Standard process, Orchestration process, or Choreographic process. Most process modelers, and even you, after reading this book and creating a model, must be more familiar with defining the flow of activities. This is called a Standard process or an Orchestration process. In Choreography processes, the focus is not on orchestrations of work performed by the participants but rather on the exchange of messages/information between participants.

User personas

There are user personas for every phase of the Application Development lifecycle, as different phases require interaction from different types of users.

Vision

Making BPM adoption Enterprise business-driven, is the vision laid by the leadership and coordinated by Enterprise-wide Architects. It brings both business and process agility. As you can see in the preceding diagram for Vision & Mission, the business leadership and Enterprise Architect work closely, and this leads to process improvements with continuous alignment with business needs.

This phase lays the foundation for BPM adoption in the Enterprise with automation and continuous improvement guaranteed, at the same time staying aligned with business needs. You can term it as planning, strategy, analysis, or design. Planning is must for a BPM initiative to succeed. BPM planning needs to go beyond a departmental level and must incorporate a comprehensive view of the entire enterprise—it's goals, operations, processes, and IT Systems.

Alignment with business objectives must be the strategy for a BPM vision. Business leadership, along with process owners, must analyze the processes and find other high-value processes that are amenable to automation and have a high benefit-to-risk ratio. These high-value processes are BPM process candidates.

An Enterprise Architect will then analyze the technical aspects of the BPM process candidates and create a BPM road map. This road map will describe the current state and future vision, and identify the gaps between the two. A road map to get from the current state to the desired state is defined as the mission.

Participants in this phase are—Business leadership and Enterprise Architects.

  • Business leadership (Business Participant) will drive the requirements by setting business goals, objectives, and priorities. Business leadership provides initial inputs, such as high-level vision definition and mission statements. They fund the BPM initiative. Business leadership may include many roles, such as Executive Management, Line-of-Business, and so on. However, let's define them as Enterprise Process Officers, who are responsible for developing a process-centric culture, system, and behaviors. They use BPM Analytics to determine business process changes. Business leadership is supported by Enterprise Architects.

  • Enterprise Architects ensure that IT strategies and standards are applied. Along with Business Leadership, they identify business architecture inputs to BPM and help determining the needs for major business process changes.

Model

During this stage, a Process Analyst creates process models based on real-world 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 Business Process Composer

  • Oracle Business Process Analysis Suite (BPA)

Models are simply a way for Process Analysts to document processes in a structured way. Process Analysts model the flow of a business process and document its steps. They are assisted by Process Architects with their technical skills. Process Analyst and Process Architect are the critical roles in the automation of business process. One has a greater business focus and the other has a technical orientation.

This bridges the business-IT gap. Business Process Analysts, with their process, business, and modeling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPI, and work with the Process Architect for technical coordination.

The participants in modeling are as follows:

  • Process Analysts: They are also termed as Business Process Analysts. They are involved in Process Modeling and have the relevant skills. They are responsible for:

    • Capturing and managing the graphical business process models

    • Driving process optimization

    • Recommending changes

    • Handling process change requests from the business

    • Incorporating incremental process improvements

    • Identifying and coding business rules

    • Working in User Acceptance Testing.

    They work closely with the Process Architect for technical coordination.

  • Process Architects: They coordinate with the Process Analysts in Process Modeling. It's a role that we also identify as Solution Architect. However, they have modeling skills and process implementation skills, too.

    They are responsible for:

    • Analysis and design of technical aspects for the process

    • Defining technical integration strategies

    • Technical specification for new IT capabilities

    • Directing system and integration testing

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:

  • Refining the process model

  • Making technical configurations

They implement defined rules. They can create a user interface and can incorporate Exception management. However, they have secondary developers to perform specialist technical tasks, for example, an Oracle ADF expert can create dynamic ADF pages to be used as Task Forms. Some other developer with Exception Handling expertise can perform that on the process. An integration expert can incorporate SOA stuff into the process, and so on.

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.

Process Developers: Also termed as Process Designers, they implement the process model to make it executable by configuring data mappings, defining data, and transforming activity input and output. They may not be knowledgeable about business processes, but rely on Process Models for implementations. They have the following responsibilities:

  • Rapidly create business processes using tools. Tools Required: BPM Studio

  • Creating implementation Artifacts.

  • Populating business catalog with rich implementation artifacts.

Deployment

This phase includes testing and deployment. Process Developers or a supporting deployment team can perform process deployment.

For testing, either a developer or a QA can be involved. Different phases involve participation from different people. Generally, developers will perform the Unit testing. System and Integration testing will be performed by the QA and directed by Process Architects. User Acceptance Testing (UAT) will witness involvement of Process Analysts and QAs. Once UAT is completed, the process is deployed to runtime.

Deployment is the process of transferring an Oracle BPM project from the development environment to the runtime environment. This can be either a testing or production runtime environment. After finishing the integration of business processes with backend systems and reusable services, Process Developers create and compile a working, process-based application. This application is then deployed to Oracle BPM Runtime. Oracle BPM Suite contains the following typical scenarios for deploying to Oracle BPM Run Time:

  • Deployment directly from Oracle BPM Studio

  • Deployment directly from Business Process Composer

  • Deployment using an exported SAR file

  • Deployment using the WebLogic Scripting Tool (WLST)

Once the process is deployed to runtime, it's available to end users.

Runtime

After an application is deployed, the runtime 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 the following distinct functions:

End 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 runtime.

End user participants: Process participants are the end users or process performers in a business process who perform the human aspects of the business process task and perform interactive activities. They provide task execution details to the Process Analyst and are involved in Acceptance Testing. They should be contacted and interviewed at the time of Process Automation, as it's a must for process design to know what they actually do. They have many roles, such as supervisor, sales manager, sales representative, business analyst, agents, clerks, and so on.

Oracle BPM flow will automatically route these tasks to a participant, based on his/her role, and they have to log in (either to Oracle BPM workspace or Process Spaces) and perform their activity. End user interaction to running process is performed by logging on to either Oracle BPM Workspace or Process Spaces.

Administrators are responsible for maintaining running business applications and the overall runtime infrastructure, using Oracle Enterprise Manager and the Oracle Weblogic Server administration console.

Administrators or Operation Managers are responsible for the following:

  • Configuring and Monitoring SOA Infrastructure

  • Configuring BPMN Process Service Engine

  • Integrating Oracle BPM with External Monitoring, such as Oracle Business Activity Monitoring, and many more.

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. The participant is process owner in this phase.

Process owners are the subject matter experts for the business process (es). They own a process or processes. They are responsible for:

  • Assisting the Business Process Analyst (B) throughout the modeling

  • Assisting the Business Process Administrators (IT) throughout runtime they require considerable business knowledge

  • Managing Process flow

  • Assigning tasks

  • Defining rules and objectives

  • Analyzing end-to-end Business Process Performance

  • Making process-specific decisions to resolve conflicts like the gap between departmental silos of business process activities where ownership is undetermined and knowledge is sparse. Process owners resolve such issues, as they are the process experts responsible for the end-to-end flow of key business processes.

  • Advocating recommendation for Enterprise-wide process improvements.

  • They are also responsible for the monitoring business process(es) that they own.

Modeling business processes with BPM


Modeling is the first phase of the BPM Application development lifecycle, as the preceding diagram shows, and is carried out by Process Analysts. It lays the foundation for Process Development, by creating a model of the process to be implemented. Oracle BPM Suite 11g provides a rich set of applications to perform modeling.

How to do it...

During the phase of modeling you will learn the following:

  1. 1. Simulating a BPM Application development lifecycle

  2. 2. Modeling a fictitious organization

  3. 3. Creating Business Process Flow

  4. 4. Defining process participants, Roles, and Organization Units

  5. 5. Defining the start and end of your process

  6. 6. Adding user interaction to your Process Flow

  7. 7. Controlling your Process Flow using gateways and sequence flows

  8. 8. Communicating with external processes and services (optional)

  9. 9. Creating Process Data objects

  10. 10. Adding documentation to Flow Elements and processes

  11. 11. Handling information in your process design

  12. 12. Configuring activity instance attributes

  13. 13. Developing arguments, scope, and access

  14. 14. Creating data associations

  15. 15. Developing transformations

  16. 16. Creating MDS for BPM

How it works...

The Oracle BPM Suite provides two primary applications for modeling and implementing business processes:

  • Oracle BPM Studio supports Business Process Management Notation (BPMN) 2.0. It is a component of the Oracle BPM Suite that provides a user-friendly environment.

  • Business Process Composer provides a user friendly environment for editing processes and process templates created in Oracle BPM Studio.

You will simulate, model, define, interact, control, and document, using Oracle BPM Studio. As this is the chapter in which you will model the Business Process, you will act as a Process Analyst and you will use Oracle BPM Suite 11g BPM Studio to model the Business Process.

Simulating the BPM Application development lifecycle


By simulating BPM Application development lifecycle, you will define the strategy, paradigm, and Use Cases. As a Process Analyst, you will use BPM Studio to create BPM Process Models. Based on these models, Process Developers will implement the BPM applications and deploy it to BPM runtime.

Using BPM Studio, a Process Analyst can do the following:

  • Model business processes

  • Define business rules and performance indicators

  • Simulate processes

  • Determine the optimal resource requirements to achieve specified SLAs

How to do it...

The steps to define strategy, paradigm, and Use Case are:

  1. 1. Chose between BPA and BPM Suite.

    If your answer is 'YES' to following requirements, then you need BPM as a tool:

    • If you are concentrating only on a process and not enterprise-wide modeling

    • If you have human-centric Use Cases that require flexibility and collaboration

    • If you have to focus on the project at hand and not on your total enterprise

    • If you have the tactical/implementation of the processes, BPM Suite works best

    If your answer is 'YES' to following requirements, then you need BPA as a tool:

    • If you have a strategic/pre-implementation work, such as as-is, to-be, gaps, requirements definition, and so on, BPA works best

    • If you need to focus on higher-level, enterprise-wide modeling that might be done using rigorous methodologies, use Oracle BPA

    • If you need the ability to model other things that relate to processes, such as systems, data, people, organizations, and services that represent the Enterprise, use BPA

    • If you need models that relate not only to processes but to other parts of the enterprise, as well, use BPA

  2. 2. Define modeling approach:

    If it is bottom-up, then:

    • Create projects in BPM Studio

    • Populate projects with reusable artifacts, such as data services, and so on

    • Publish to MDS—Projects or Templates can be published to MDS

    • From Process Composer, check out published BPM projects

    • Customize and use these projects to create new processes

    Else if it is top-down ,then:

    • Create high-level abstract Process Flows (blueprints) from scratch using BPM Composer

    • Publish them to MDS

    • Check into BPM Studio and refine them

    • Deploy

  3. 3. Define the Use Case:

    • Determine the business requirements

    • Model the required business processes using Oracle BPM Studio

    • Create simulation models for "as-is" and "to-be" processes or models. Implement the processes by integrating each element of the process with backend systems and reusable services

    • Compile the Oracle BPM project as a composite application

    • Deploy the application to the runtime environment

    • Interact with the deployed processes as part of a running business application

    • Maintain and monitor the running process-based applications

How it works...

You can start modeling in either BPA Suite or BPM Suite. However, as a Process Analyst, you will choose BPM Suite to model, because you have answered 'YES' to all questions asked when choosing between BPA and BPM, in favor of BPM. Along with it, BPM Suite offers predictability, traceability, adaptability, is measurable, and bridges the gap between Business and IT. As a Process Analyst, you have some knowledge of the business process and can collaborate with business users to enrich the modeling outcomes.

As a Process Analyst, in this chapter, you will probably follow the bottom-up modeling paradigm as your modeling strategy. Metadata Store (MDS) enables modeling paradigms. The MDS repository is used for creating a shared, collaborative work environment across multiple BPM Studios and process composers.

There's more...

In addition to the modeling methods described in the preceding text, there are different ways by which a Process Analyst can model business processes, such as the following:

  • Implementing a modeling Use Case with Business Process Composer, by creating Process blueprints. These blueprints will be used by developers to create project templates and store them into Oracle MDS. After this, Process Analyst will use these project templates again to create projects, and finally, to deploy them.

  • You can even use Oracle BPA suite to model the processes by designing the business architectures, analyzing the processes that will be candidates for BPM projects, and then creating process models and importing them into Studio to finally make them available at runtime.

Modeling a fictitious organization


Our fictitious organization "FusionNX", located at http://www.fusionnx.net/, has a number of business processes. Let's take into consideration FusionNX's Sales Quote business process to implement the modeling phase.

How to do it...

  1. 1. Define the Business Process and the tasks inside it:

    • Define SalesToContract as a process that you will model for the Sales Quote process of FusionNX

    • Create SalesToContract as the main process

    • Define Enter Quote, Business Analysis, Approvals, and Contract Finalization as different tasks inside it.

  2. 2. Define who the participants are and what role they will play in process development and at runtime:

    • Define users who will participate in different tasks/work in the process, such as Sales Representatives, Approvers, and so on, in the SalesToContract process, which you will model for the Sales Quote process of FusionNX.

  3. 3. Define what data will be associated with the process:

    • Define quote data, as per Quote.xsd, for the SalesToContract process, which you will model for the Sales Quote process of FusionNX.

  4. 4. Define the outcome of the process as a whole and outcomes of the different tasks:

    • Enlist outcomes of all the tasks that you have rejected or approved as possible outcomes of the Approvals task; also enlist all other tasks for the SalesToContract process which you will model for Sales Quote Process of FusionNX.

How it works...

As per the Use Case listed in the preceding text, the Process Analyst will determine the business requirement and will come up with with the Process Flow, user persona, data meant for the process, and outcome of the process. The resulting conclusion is an understanding of the business requirement specific to FusionNX's Sales Quote business process.

The following information is required by Process Analyst to design the Business Process Model:

  • Process Flow

  • Process participants: Users ,Groups, and organizational roles

  • Data: Business data, and input and output of each process step, and process as a whole

  • Outcomes: Possible Outputs from human workflow, process steps, and the process as a whole.

Creating Business Process Flow


Using the Business Process Flow, you will model the process the sales quote for FusionNX and in the SalesToContract business process meant for the creation of Sales Quote. The SalesToContract business process implements a solution for sales representatives to submit the sales quotes and manage all the approvals within a particular sales organization. The sales quote travels through many phases and gets finalized. Once finalized, it's saved in FusionNX's Enterprise database.

How to do it...

The SalesToContract process has many tasks. Let us define the major tasks of the SalesToContract business process:

  1. 1. Defining the task—Enter sales quote

    • Task: Entering a sales quote is a Sales Representative's solution process to:

    • Submit the sales quote:

      • i. Manage approvals

      • ii. Role: Sales Representative

    • Data: Input and output business data is Quote.

    • Outcomes: The Sales Representative, as a process participant, is responsible for the creation of a sales quote. He will create the sales quote initially, and after rejections from Approvers, edit it as well.

  2. 2. Defining the task—Business Analyst review

    • Task: Sales quote review

    • Role: Business Analyst

    • Data: Input and Output business data is "Quote" (Quote.xsd)

    • Outcome: The Business Analyst as process participant can either approve or reject the quote.

      If approved: The process continues forward.

      Else: On rejection, the flow token reaches the Sales Representative again, to refine and resubmit the quote.

  3. 3. Defining the task—Quote Approval

    • Task: Quote Approval has two parallel tasks

      • i. Deal Step Approval

      • ii. Term Step Approval

    • Roles: Approvers

    • Data: Input and Output business Data is "Quote" (Quote.xsd)

    • Outcomes: Approver as Process Participant can either APPROVE or REJECT the quote

      If Approved: The Process continues forward.

      Else: On rejection, the process reaches the Sales Representative again, to refine and resubmit the quote.

  4. 4. Defining the task—Finalize Contract

    • Task: Contract Finalization

    • Role: Contracts

    • Data: Input and Output Business Data is "Quote" (Quote.xsd)

    • Outcome: The quote is saved in the Enterprise database by external service call

How it works...

Task definition is the primary objective of Process Flow definition. The Process Analyst has to define roles and responsibilities, which depend on the task definitions. The Process Analyst can choose any tools to carry out the task definition. However, he must try and understand the process to the best of his ability.

Approve Deal is used for approving the deal structure of the quote, and the Approve Terms step is used for approving the terms of the quote.

Creating and defining projects


You will need a container for the resources that are used to create and support business applications created using Oracle BPM. Oracle BPM projects are based on SOA projects, but they include the additional functionality of the Oracle BPM Suite, including BPMN processes.

How to do it...

You will use JDeveloper as the IDE to work with BPM Studio. The version of JDeveloper used is 11.1.1.5.0. This is done as follows:

  1. 1. Start the JDeveloper Studio (11.1.1.5.0). Choose the default role, to enable all the technologies. You can also choose the BPM Process Analyst role.

  2. 2. Click on File | New | All Items, and choose BPM Application:

  3. 3. Give a name to the application, say FusionNX_Application.

  4. 4. We will create an application as we are starting the demo. In subsequent chapters and demos, we will use the same chapter.

  5. 5. Click on the Application menu, to the right of the application name in JDeveloper and click New Project....

  6. 6. Choose BPM Tier in the project gallery, and select BPM Project:

  7. 7. Enter the Project details such as Project Name (SalesQuoteToContractDemo) and specify the Directory where it will get saved.

  8. 8. Make sure that both BPM and SOA are selected.

  9. 9. A new Project will get created and will appear in the Project navigator, with a structure of resources, as shown:

How it works...

You must be aware that to handle resources, which together create an application, you need a container. And Projects is the container for BPM resources to create a BPM application.

There's more...

In addition to the two resources of BPM project, Processes and Organization, there are other major resources of an Oracle BPM project:

  • Processes: BPM and/or BPEL processes

  • Activity Guide: Includes project milestones defined for each BPMN process

  • Organization: Includes the organization elements, such as Roles, Organization Units, Calendars, and Holiday rules

  • Business Catalog: Includes reusable components including services, adapters, and human tasks

  • Simulations: Includes the simulation models defined for a project and individual BPMN processes

  • Resources: Contain the XML transformations defined for your project

Defining Role and Organization Units


Once finished with defining a process model, you, as Process Analyst, will define the roles (who will perform which responsibility/task) and Organization Units (Organization association, Calendar rules, and Holiday rules). You will define Application Roles in the BPM Studio, and those Application Roles are mapped to organizational users.

Getting ready

Roles authorize the people with a set of responsibilities (tasks) to perform. Later, you divide the tasks based on these roles by creating swimlanes in the process. Each horizontal swimlane is associated with a role.

The roles we will create in Project | Organization are logical roles. LDAP defines the actual users, and during deployment of BPM projects, logical roles are mapped to LDAP roles. Use BPM Studio to map roles to specific users using LDAP.

How to do it...

Now, you have created Application and Project. You already know the Process Flow. Let's create the processes. However, we still don't know "who will perform what", that is, the roles yet need to be defined. Let's organize our Processes, based on roles and Organization Units. Every process has some task/work to be performed. It's the Roles that help decide who has the responsibility to perform the task/work.

Creating a Role

You will create application roles, and later, these roles will be mapped to organizational users. This is done as follows:

  1. 1. Double-click Organization in the Project navigator. Project Editor will open the Organization window.

  2. 2. Select the Roles tab.

  3. 3. Click the "add" (+) icon to add roles.

  4. 4. The role name dialog appears. Enter Name of the role, say Sales Representative. Repeat this step to create other roles listed.

Associating Roles with members

Here, you will map Application Roles to organizational users. This is done as follows:

  1. 1. Click the Roles tab in Organizations.

  2. 2. In the Roles | Members section, choose User as the Type.

  3. 3. Click on Browse (Identity lookup browse).

  4. 4. Select the Application Server connection and Realm from the drop-down lists.

  5. 5. In Search Pattern, specify *(search all) and select User Name from the drop-down list as the search string. This will list all the users in the Realm.

  6. 6. Select the User. As you are associating members to the Sales Representative role, choose a user (member) meant to perform the Sales Representative role.

  7. 7. Repeat the preceding steps for all the users and associate them with members.

    Note

    However, in actual scenarios, Process Analysts need not know which user in the organization is mapped to application roles. This assignment is typically done by Process Admins through the Worklist Application or EM.

Creating Organization Units

Organization units represent a division in an organization, and once defined, process participants might be assigned to one of the organizational units. This is done as follows:

  1. 1. Click Organization, in the Project navigator, and select the Organizational Chart tab.

  2. 2. Click + to add an organization unit root node, which will contain organization units based on geography; say FusionNXorganizationUnit:

  3. 3. Let's say your Sales Representative is from APJ | India. However, for his/her sales quote he/she needs approvals from the APJ head.

  4. 4. When you have finished the preceding steps, click Save.

Associating members to Organization Units

The Organization Units and Roles defined in BPM Studio are abstract. They need to be mapped to your real-world organization FusionNX. During deployment of your project, the components of the modeled organization and roles are mapped to your real-world organization:

  1. 1. In Organization, select the Organization Unit tab.

  2. 2. Scroll to Members Section. Select User as the Type and click Browse, to browse Identity Lookup.

  3. 3. Select Application Server and Realm.

  4. 4. In Search Pattern, search for all (*), with User Name as search string.

  5. 5. When users are listed, choose the appropriate user to associate with the Organization Unit. Say, for APJ | India, associate Sales Representative user and APJ with Approvers.

  6. 6. When you are finished, click Save.

Creating Calendar Rules for Organization Units

In this section, you will define the working hours of an individual, as follows:

  1. 1. In the Organization Unit editor window, select the Calendar tab.

  2. 2. Click the "add" (+) icon to create a calendar, say FusionNXCal.

  3. 3. Click the created Calendar rule to define Time Zone and Work Days with hours:

  4. 4. Chose the Work Days by selecting the checkbox, and specify the Starting Time and Finish Time for each day.You can include an optional Holiday rule for Calendars.

  5. 5. When you have finished the preceding steps, click Save.

Creating Holiday rules

Use the following steps to create a Holiday rule:

  1. 1. Open JDeveloper in the default role and go to View | Application Navigator.

  2. 2. Select FusionNX_Application, which you have just created, and select the SalesQuoteToContractDemo project, which you have already created. This is the Project navigator.

  3. 3. In the Project navigator go to Open Organization.

  4. 4. In the Organization Unit editor window, select the Holiday tab

  5. 5. Click the "add" (+) icon to create a Calendar, say FusionNXHolidayRule.

  6. 6. Select Holiday Rule and click the "add" (+) icon.

  7. 7. Provide the following details for the Holiday rule, and then click OK.

    • Description: Fill in a description of the Holiday rule

    • Type: Common (Common/Fixed)

    • Date: This refers to the dates for this Holiday rule. To specify a range, you must create a new entry for each day

  8. 8. When you have finished the preceding steps, click Save.

How it works...

Creating roles works only when Process Analyst has the Process Flows defined. This has resulted in the following list of Roles:

  • Sales Representative

  • Business Analyst

  • Approvers

  • Contracts

Roles are defined in Organization Resources inside the BPM Project. Check the preceding screenshot of the Project navigator; you can identify Organizational Chart in it. Organizational Chart is used to define Roles, Organization Units, Calendar Rules, and Holiday rules.

Associating roles to members allows you to define what members of your real-world organization are responsible for performing the activities and tasks within your process.

FusionNX operates in multiple geographical locations and has sales units that are divided based on geography, say America, EMEA, APJ, and so on. Hence, organization units were categorized by geography. You know that the Sales Representative is from APJ in the India Organization Unit and that the Approver is from APJ.

To define when resources are working in an Organization, create Calendar rule, and to define when resources are not working, define Holiday rules in an organization.

Organizing processes using swimlanes


Swimlanes are the horizontal lines running across the Process Editor and are used to:

  • Group flow objects based on roles

  • Make process readable.

Swimlanes are created for a process, hence you have to create and define processes first. Tasks inside the swimlane must have application roles associated with them.

How to do it...

In this section, you will create a BPM process, and will create a swimlane, and associate it with an application role.

Create Process

This is done as follows:

  1. 1. Go to the Project navigator and right-click processes (this will open the new gallery).

  2. 2. From Categories, choose BPM Tier.

  3. 3. Select Process to create a process.

  4. 4. Click OK.

  5. 5. The BPMN Process definition dialog opens up.

  6. 6. Enter process name and choose Type:

    • Process name: SalesToContract process:

    • Process Type: Manual Process (no Start and End event)

    • Process Instance initialization: A None start event followed by a user task defined with the initiator pattern will result in Process Instance initialization.

  7. 7. Click Next.

  8. 8. In the Advance tab, go to Select | Inherit Project Default.

  9. 9. Click Finish and Save.

Adding swimlanes

Follow the ensuing steps to create swimlanes:

  1. 1. Click Add Role in the Project Editor, as shown:

  2. 2. It will open a Role properties dialog box.

  3. 3. From the Role properties, choose the Role.

  4. 4. For the first swimlane, choose the SalesRepresentative role:

  5. 5. Repeat the preceding steps to create swimlanes for BusinessAnalyst, Approvers and Contracts roles too.

  6. 6. For SalesRepresentative, BusinessAnalyst, Approvers and Contracts roles, the swimlanes will look like the following:

  7. 7. When you have finished the preceding steps, click Save.

How it works...

The None start event will not trigger the Process Instance. However, it is required while triggering a process instance using the following flow objects:

  • Receive task must have a Create Instance property set to true

    OR

  • User task must be implemented with the initiator pattern

In the SalesToContract process, since the process contains a User task implemented with the initiator pattern, the None start event triggers a process instance.

By default, a default role and a single horizontal swimlane get created in the Project Editor. You can make it work by either renaming the first default swimlane or following the preceding steps.

There's more...

Process Instance creation depends on the type of start event. FusionNX's SalesToContract process is a manual process, as we have chosen while creating the process.

Triggering of a Process Instance: For SalesToContract, we have a User task following the None start event, which has an initiator pattern defined. This will result in initialization of a Process Instance. None start event will not accept input arguments.

Defining the Start and End of a Process

Start events: A Start defines the starting point of a process. Start means initialization of the Process Instance.

End Events: An End event defines the end of a process. When the token reaches the end event, it gets consumed and the instance gets completed. The SalesToContract process will end when the contract is finalized in the Contracts swimlane.

Since the SalesToContract process will end once the contract is finalized, follow the ensuing steps:

  1. 1. Drag the End event to the Contracts swimlane.

  2. 2. Delete the sequence flow from User Task in the SalesRepresentative swimlane to End event by right-clicking the sequence flow, as shown in the following screenshot:

  3. 3. Delete the created User Task, Default, as we will create a User task with initiator pattern to initiate the Process Flow.

  4. 4. When you have finished the preceding steps, click Save.

Adding user interaction to Process Flow


The Process participant's interaction is enabled in the SalesToContract process by Human Tasks. You will create a User task in the process, where a process participant is required to perform tasks.

How to do it...

In the SalesToContract process, inside the SalesRepresentative swimlane, the user with the Sales Representative role has the task of entering quote information.

Create a User task, which will prompt the Sales Representative, to enter quote information, as follows:

  1. 1. Click on the process name (SalesToContract) in the Project navigator. This will open the Process Editor.

  2. 2. Click on Component Palette | BPM Components and select Activities, in the list.

  3. 3. Click on Interactive | Initiator. You will create a human task of the Initiator type:

  4. 4. Enter name of the User task as Enter Quote.

  5. 5. Click on the sequence flow icon, at the top middle of the Process Editor.

  6. 6. Create an outgoing sequence flow from Start Event | Enter Quote.

  7. 7. Create the sequence flow as "unconditional".

  8. 8. Click on Sequence flow, and open the Sequence Flow Properties dialog box, wherein you can create Conditional sequence flows as well.

  9. 9. When you have finished the preceding steps, click Save.

How it works...

The Process participant interacts with BPM Workspace in BPM Suite. This can be a simple interaction, such as entering a form, or part of a more complicated workflow that requires input from multiple process participants.

As you are modeling the process, you, as a Process Analyst, will only add the user task to a process diagram. Process Developers, during implementation, will create the necessary human tasks and implement them as part of creating the overall process-based business application.

User tasks contain incoming and outgoing data associations. User tasks may also contain incoming and default outgoing sequence flows.

Controlling Process Flow—Defining exclusive gateways


You will be modeling Task # 2 (Business Analyst Review), which is performed by the Business Analyst role, in the Business Analyst swimlane.

Getting ready

The Business Analyst will review the Sales quote and he/she can either APPROVE or REJECT the Quote.

If Approved: The process continues forward.

Else: On Rejection, the process reaches the Sales Representative again, to refine and resubmit the quote.

How to do it...

Create User Task

Perform the following steps to create a User task:

  1. 1. Select Project navigator, click Process | Project Editor.

  2. 2. In the Project Editor, at the the BusinessAnalyst swimlane, create a User task, which is performed by the Business Analyst to review the quotation.

  3. 3. Select Component Palette | BPM | Activities and select User task.

  4. 4. Drag User task from Interactive Activities and position it in the swimlane.

  5. 5. Name the User task Business Analyst Review.

  6. 6. When you have finished the preceding steps, click Save.

Create a Condition Switch

Before the Business Analyst performs the review on the sales quote and either rejects or approves the quote, you will check if a Business Analyst Review is required or not.

If required: Proceed to the Business Analyst Review User task.

Else: Proceed to Approvers review.

  1. 1. Select Component Palette | BPM | Gateways.

  2. 2. Select Exclusive Gateway, click on the Business Analyst swimlane, and position it where you want to create the Condition switches.

  3. 3. It will open a Properties dialog box. Enter basic information:

    Name: Is Business Analyst Review required? This will get displayed on the Process editor on the Exclusive Gateway.

  4. 4. Create an unconditional sequence flow from Enter Quote (Initiator User task) to the Is Business Analyst Review required? Exclusive Gateway.

  5. 5. When finished, click Save.

Create Process Data Object

Processes access and store information, and BPM supports data structures to keep track of this information. These data structures are—Process Data objects, Project Data objects, Arguments, and Subprocess Data objects.

Process Data objects—They store information related to each process instance you create. The value of these data objects is different for every instance in the process. However, the structure of the data object is the same for all process instances. When you define a process, you must define the data object to store information. You must also define in which part of the process you assign a value to these data objects. The value of data objects may come from user input, from external systems, or might be calculated based on other process data objects. When you create an instance, the Process Engine assigns Null as the default value for all the process data objects defined for that process. Later on, the activities in the process assign values to these variables.

Project Data objects—The processes in a BPM project often have a set of data they share. The value of this data is different for every instance in each of those processes; they only share the necessity to keep track of that data. Project data objects allow you to ensure that all the processes in a certain project keep track of a set of data. Then each process has to assign and update the value of this data.

You can create project data objects as follows:

  1. 1. In the Project navigator, click on the process name, SalesToContract.

  2. 2. You can see a Structure panel open at the lower-left corner of the JDeveloper screen.

  3. 3. Right-click Process Data Objects. Click New to create a Data object.

  4. 4. Enter the following details for the Process data object:

    • Data Object name: BusinessAnalystReviewRequire

    • Type: Boolean (Bool)

  5. 5. Create a conditional sequence flow from Exclusive Gateway to Business Analyst Review User task.

  6. 6. This will open sequence a Flow properties dialog.

  7. 7. In the Description tab, enter Name of the Sequence flow as Yes.

  8. 8. In the Properties tab, click on Expression Builder and set the value of the Process Data object as BusinessAnalystReviewRequire == true.

  9. 9. When you have finished the preceding steps, click Save.

How it works...

This User task, Business Analyst Review, will be performed by the Business Analyst to review the quotation. However, even before a review is carried out by the Business Analyst, you will check if a review is required or not. When the token reaches Exclusive Gateways, it will determine what path the process token will take.

Controlling Process Flow—Implementing Exclusive Gateways


The Business Analyst will either reject the quote or approve it, to switch the token flow, based on Business Analyst Review User task.

How to do it...

Perform the following steps to implement Exclusive gateways:

  1. 1. Create an Exclusive Gateway for the condition switch.

  2. 2. Create an Exclusive Gateway to check on the Business Analyst Approval Outcome.

  3. 3. Select Component Palette | BPM | Gateways and select Exclusive Gateway.

  4. 4. Next, click on the BusinessAnalyst swimlane and position it where you want to create the condition switches. In this case, place it after the Review task (User task).

  5. 5. It will open a Properties dialog box. Enter basic information, such as:

    • Name:Business Analyst Outcome

  6. 6. When you have finished the preceding steps, click Save.

Create a Process Data object to hold outcome of the Business Analyst Review User task as follows:

  1. 1. Click the process name SalesToContract in the Project navigator.

  2. 2. You can see that a Structure panel opens at the lower left corner of the JDeveloper screen.

  3. 3. In the Structure panel, on the lower-left side, right-click Process Data Objects and click New, to create a new Data object.

  4. 4. Enter the following details for the Process Data object:

    • Data object name: BusinessAnalystOutcome

    • Type: String

    • Enable Auto Initialise.

  5. 5. When you have finished the preceding steps, click Save.

  6. 6. Create Sequence flows by implementing the outcome scenario:

    If outcome of the Business Analyst Review is REJECT: Then, send a quote to the Sales Representative.

    Else: Send it to Approvers for approvals.

  7. 7. Case: REJECT

    • Create a Conditional Sequence flow from Business Analyst Outcome Gateway to User Task (Enter Quote)

    • Click on sequence flow to open the Properties dialog

    • Enter basic information as follows:

    • In the Description tab ,enter Name: Business Analyst Rejected

    • In the Properties tab:

    • Select Type as Condition (to implement conditional sequence flow)

    • In the Expression section, click Expression Builder

    • In Expression Builder, select Mode as Simple expression

    • From the Variables section, chose the Data object BusinessAnalystOutcome and set value as: BusinessAnalystOutcome=="REJECT"

    • Click OK

    • When you have finished the preceding steps, click Save.

  8. 8. Case: APPROVE

    • Create an unconditional sequence flow from Gateway (Business Analyst Outcome )to Approvals(Parallel gateway), in the Approvers swimlane

    • Enter basic information such as:

    • In the Description tab, enter Name: Business Analyst Approved

    • In the Properties tab, select Unconditional as Type(to implement unconditional sequence flow)

    • When you have finished the preceding steps, click Save.

How it works...

Exclusive gateways used for the conditional switch discussed in the preceding text are flow objects that define the flow of process. Gateways define what path the process token will take. Exclusive gateways have conditional outgoing sequence flows. You can build expressions to determine if your process continues down a conditional sequence flow.

To implement Conditional Switch:

If: Business Analyst Review is required = Yes, then proceed to the Business Analyst Review User task.

Else: Proceed to Approvers Review.

You will create a Process Data Object to store values, as the evaluation is determined by the expression defined for the outgoing conditional sequence flow. If this evaluates to true, then the Process Flow proceeds down the Yes path (towards the Business Analyst Review User task). If it evaluates to false, then the Process Flow proceeds down the path of the default outgoing sequence flow. The condition in the sequence flow will be based on values of Process Data object BusinessAnalystReviewRequired.

If the Process Data object BusinessAnalystReviewRequired = True, then choose the sequence flow Yes

Else: Choose the sequence flow No

Controlling Process Flow—Parallel gateways


Task # 3, Quote Approval has 2 parallel tasks:

  • Deal Step Approval

  • Term Step Approval

They need to be performed in parallel by the Approvers and Contracts roles.

How to do it...

I. Create a Parallel gateway

  1. 1. Move to Component Palette | BPM | Activities.

  2. 2. Click Gateways, and select Parallel Gateway.

  3. 3. Drag it to the Project Editor, in the Approvers swimlane.

  4. 4. Enter basic information into the properties dialog of the gateway, such as:

    • Name: Approvals

  5. 5. When you have finished the preceding steps, click Save.

II. Create a User task

Note

You need to create two User tasks in the Process Model, which will perform the Approval deal and Approval terms tasks, by the Approvers and Contracts roles, respectively.

  1. 1. Go to Component Palette | BPM | Activities.

  2. 2. Click User task in interactive activities.

  3. 3. Click in the Approvers swimlane, where you want to position this User task.

  4. 4. Enter the following details in the Properties dialog of the User task:

    • In the Base tab, enter Name as Approve Deal

    • In the Implementation tab, leave the default, as we will implement it in the implementation phase of the development cycle

  5. 5. When you have finished the preceding steps, click Save.

  6. 6. Go to Component Palette | BPM | Activities.

  7. 7. Click User task in interactive activities.

  8. 8. Click on the Approvers swimlane, at the point where you want to position this User task.

  9. 9. Enter the following details in the Properties dialog of the User task:

    • In the Base tab, enter Name as Approve Terms

    • In the Implementation tab, leave the default, as we will implement it in the implementation phase of the development cycle.

  10. 10. When you have finished, click Save.

III. Create sequence flows

Create unconditional sequence flows from the Approvals Parallel gateway to Approve Deal and Approve Terms User tasks.

  1. 1. Click on the sequence flow on top of the Process Editor.

  2. 2. Create a Sequence flow (Unconditional) from the Approvals Parallel gateway in the Approvers swimlane to the Approve Deal User task.

  3. 3. Similarly, create a Sequence flow (Unconditional) from the Approvals Parallel gateway in the Approvers swimlane to the Approve Terms User task.

  4. 4. When you have finished the preceding steps, click Save.

IV. Create Process Data objects

Create Process Data objects to store the outcome of the Approve Deal and Approve Terms User tasks.

  1. 1. Click the process name SalesToContract in the Project navigator.

  2. 2. You can check the open Structure panel at the lower-left corner of the JDeveloper screen.

  3. 3. In the Structure panel, on the lower-left side, right-click the Process Data object, and click New, to create a new Data object.

  4. 4. Enter the following details for the Process data object:

    • Data object name: approveDealOutcome

    • Type: String

    • Enable Auto Initialize

  5. 5. Enter Following Details for the Process data object :

    • Data Object name : approveTermsOutcome

    • Type: String

    • Enable Auto Initialize

  6. 6. When you have finished the preceding steps, click Save.

How it works...

The Parallel Gateway guides the process token to perform two or more tasks simultaneously.

The Parallel Gateway:

  • Splits your process into two or more paths when you want your Process Flow to follow all paths simultaneously

  • When a token reaches a parallel gateway, the parallel gateway creates a token for each outgoing sequence flow

Controlling Process Flow—Sequence Flows


Task # 4 is performed at the Contracts swimlane by the Contracts role. You will merge the outcome of the Approval Deal and Approval Terms User tasks. Data objects that have already been created (approveDealOutcome and approveTermsOutcome) will contain the values of outcome from the Approve Deal and Approve Terms User tasks, respectively.

How to do it...

  1. 1. Merge Outcome: Merge the outcome of Approve Deal and Approve Term User tasks:

    • Go to Component Palette | BPM | Gateways

    • Click on Parallel Gateway

    • Click on the Contracts swimlane, where you want to place the Parallel Gateway

    • Name the Parallel Gateway Merge Approvals

    • Create an unconditional, unnamed sequence flow from the Approve Deal and Approve Terms User tasks to the gateway Merge Approvals.

    • When you have finished the preceding steps, click Save

  2. 2. Create a Finalize User task:

    • Go to Component Palette | BPM | Activities

    • Select a User task from the interactive section

    • Click on the Contracts swimlane and position User task before theEnd event

    • In the User task Properties window, enter the following:

    • In the Basic tab, enter Name = Contract Finalize

    • Leave the implementation tab as default

    • When you have finished the preceding steps, click Save

    • Create an unconditional sequence flow from the gateway Approvals Outcome to the Contract Finalize User task.

    • Name the sequence flow as Approved

    • When you have finished the preceding steps, click Save

  3. 3. Switch on Approve Deal and Approve Terms outcome:

    Post merger, you have to switch on the outcome of Approve Deal and Approve Terms User tasks. Create Exclusive Gateway to implement conditional switch on outcomes.

    • Go to Component Pallet | BPM | Gateway and select Exclusive Gateway

    • Click on the Contracts swimlane, where you want to place the Exclusive Gateway

    • Name the gateway Approvals Outcome

    • When you have finished the preceding steps, click Save

  4. 4. Create sequence flows:

    To implement the outcome scenario

    If the outcome of Approve Deal OR Approve Terms User tasks is REJECT, then send the quote back to the Sales Representative

    Else: Send it to Finalize Contract User task

  5. 5. When REJECT:

    • Click on the sequence flow icon on top of the process editor to create a sequence flow

    • Create a conditional sequence flow from the gateway Approvals Outcome to the Enter Quote User task.

    • Enter the following information in the properties of the sequence flow:

    • In the Description tab, enter Name = Deal or Terms Rejected

    • In the Properties tab, Type = Condition

    • In the Expression section, choose Simple Expression

    • Select Expression Builder

    • You can find the approveDealOutcome and approveTermsOutcome process Data objects. They hold the outcome values from User tasks:

    • approveDealOutcome == REJECT or approveTermsOutcome == REJECT

    • When you have finished, click Save

  6. 6. When APPROVE:

    • Create an unconditional sequence flow from the Gateway Approvals Outcome to the Contract Finalize User task.

    • Name the sequence flow Approved

    • When you have finished the preceding steps, click Save

How it works...

As per Process Flow:

If: the outcomes for the Approve Deal or the Approve Terms User tasks' is REJECT,

Else: The contract will be finalized.

You can also use the parallel gateway to merge process paths split by the parallel gateway. The merge of the parallel gateway waits for a token to arrive from each of the incoming sequence flows. After all tokens arrive, only one token is passed to the outgoing sequence flow.

In addition, you should design your process so that a token arrives for each incoming sequence flow, for the merging parallel gateway. If you do not, your process can freeze if the merger is expecting tokens that do not arrive.

Communicating with external processes and services


Till this point, you have finalized the contract. Let's save the contract information in the database. We can achieve it by communicating with either an external service, which performs the service of interacting with the desired database and performs an insert operation into it. This external service could be a BPEL Service, Mediator service, Adapter Service, or another BPM Process itself. Let's take the case of invoking an Adapter Service (Database Adapter) to perform the insert operation. As a Process Analyst, you will model the service call in the process. However you will implement it in Implementation phase.

How to do it...

  1. 1. Go to Component Palette | BPM | Default Activities and select the Service Task activity.

  2. 2. Click on the Contract swimlane between the Finalize Contracts User task and End event.

  3. 3. This will open the Properties dialog for the Service Task activity.

  4. 4. In the Basic tab, enter Name as Save Quote.

  5. 5. Leave other tabs as default. We will implement it at the implementation phase.

  6. 6. Create an unconditional sequence flow from the Contracts Finalize User task to the Save Quote service and from the Save Quote service to the End event.

  7. 7. When you have finished the preceding steps, click Save.

How it works...

Process Analysts can add the service task when they know that a process must invoke an external service or process to communicate with other processes and services, such as BPMN process, BPEL process, SOA service, Adapter Services and mediator services.

Service task invokes processes and service, synchronously. When the service task invokes a process or service, the token waits at the service task until a response is returned. After the response is received, the token continues to the next sequence flow in the process.

There's more...

Service Adapter (Database Adapter) will be configured in Composite.xml.

In the Service Activity Save Quote properties, on the Implementation tab, you can browse the service that you will carry out in the Implementation phase to implement it.

Changing the value of Data objects in your process


You have created a couple of Process Data Objects while modeling the SalesToContract process. However, you have never initialized those Data objects.

The following Data objects were created during modeling:

  • BusinessAnalystOutcome (to hold the outcome of the Business Analyst Review User task)

  • approveDealOutcome (to hold the outcome of the Approve Deal User task)

  • approveTermsOutcome (To hold the outcome of the Approve Terms User task)

Let's try to change Process Data object values and initialize them in the process.

How to do it...

  1. 1. Go to Component Palette | BPM | Default Activity and select the Script task activity.

  2. 2. You will use this activity to initialize the Quote Data objects.

  3. 3. In the Sales Representative swimlane, click where you want to position the Script task activity. Click between the Start event and the Enter Quote User task, to position Script Task.

  4. 4. Once the Script task| Properties dialog opens, enter the following information in the properties dialog:

    • In the Basic tab, enter Name = Initialize Quote

    • In the Implementation tab

    • Chose Implementation Type = Script task

    • Check Use Association

    • Click the Edit button to the right of the Use Associations checkbox

  5. 5. The Data Associations editing dialog will open.

  6. 6. On the right side of the dialog box, list the Data objects created so far in the process.

  7. 7. Drag the BusinessAnalystReviewRequired process Data objects to the Data Associations editor. This will open a blank box with an Expression Builder, as shown in the following screenshot.

  8. 8. Click on Expression Builder to assign values to this Data object, say BusinessAnalystReviewRequired Data object:

  9. 9. In the Expression Builder dialog, choose XPath Exp for Mode:

  10. 10. In the Expression editor, enter false() to assign false() as initial value to the BusinessAnalystReviewRequire Data object.

  11. 11. Click OK, and when you have finished the preceding steps, click Save.

How it works...

Script Tasks are used to change Process Data objects values. So when the process token reaches the script task, it will initialize those Data objects.

The script task is used to:

  • Change values of Data objects within your process

  • Change the values of Data objects outside of another flow object

  • Set initial values of Data objects at the beginning of a process

Project Data objects are Data objects that you define in a project. As with other flow objects that accept data associations, you can use expressions to change the values of Data objects.

Creating Business objects in a Business Catalog


The main elements of a business process are tasks and information related to those tasks. The information of a process may change as you run the process. This information defines the state of a process at a given time. According to the value of this information, the instance may take one path or another. This information defines the state of a process at a given time.

You may store this information in an external system also.

The Sales Quote example process uses the following information:

  • Approval flow

  • Approval terms outcome

  • Quote

BPM data objects have two characteristics: Data Object Name and Data Object Data Type. The business catalog is a repository that stores the reusable components you use to implement some flow objects in BPMN processes. The business catalog stores the following types of components:

  • Errors

  • Events

  • Human Tasks

  • Business Rules

  • Service Adapters

  • Synthesized Types

  • BPEL Processes and Mediators

  • Business Objects

  • Business Exceptions

The Business Catalog holds the different types of Services (System, BPEL processes, Task Services, Rule Services) as well as Business objects (Data). There are different folders for holding different types of BPM artifacts. Some folders have a lock to indicate that the artifacts inside them cannot be deleted. Business objects allow you to model and develop the business entities that are part of your process using the Object Oriented paradigm. Using Business objects simplifies the management of the data in your process by encapsulating the data and business behavior associated with the business entity it represents. A Business object is composed of a set of attributes and a set of methods.

  • Attributes store the data related to the entity you are modeling.

  • Methods manipulate the value of these attributes, or perform calculations based on their values.

In a Sales Quote example, you can identify the business entities Quote, Contract, and so on.

You can create Business objects either manually, or based on an XML schema element or complex type, or by customizing a synthetic type in the types.

How to do it...

You will use BPM Studio to create the Quote Business object represented by XML Schema. These Business objects will be stored under Business Catalog.

  1. 1. In the BPM Project navigator, right-click on Business Catalog, select New, and then select Business Object.

    This will bring up the Business Object dialog, as follows:

  2. 2. Type Quote in the Name field.

  3. 3. Click on the magnifying glass icon next to the Destination module. This will bring up the Module List dialog. Click on the New symbol to add a module with the name Data under Business Catalog.

  4. 4. Click OK.

  5. 5. Select the Based on External Schema option and click the magnifying glass icon. This brings up the Type Chooser dialog. Click on the Import Schema Files icon on the top-right corner to import an XSD file into your BPM Project.

  6. 6. Select the Copy to Project option in the Import Schema File dialog and select the magnifying glass icon.

  7. 7. This brings up the SOA Resource browser window. Locate and select the Quote.xsd file.

  8. 8. Click OK to close the SOA Resource browser and click OK again on the Localize Files dialog.

  9. 9. Expand the Project Schema Files folder in Type Chooser, and select the Quote Request element. Click OK and then OK, again.

  10. 10. The Quote Business Object opens. You can add description and documentation details here, as desired. When finished, close the Quote window.

  11. 11. You have now created the Business object quote.

  12. 12. When you have finished the preceding steps, click Save.

How it works...

When you implement Interactive tasks with a Task Service, say the Enter Quote task, you choose a pattern that sets its outcome, and there, you will choose Business object as the task parameter. For the Enter Quote Implementation, you will choose Initiator as the Pattern, outcome will be set to SUBMIT, and the Parameter chosen will be the Business object quote.

Adding documentation to the Flow Element


The Oracle BPM Suite 's BPM Studio provides process documentation features too. Within the documentation Windows allows you add documentation for the entire process or for each flow object within your process. You can create end user and Use Case documentation for your processes.

  • End User Documentation: This is the documentation the process participants see using the Oracle BPM Workspace application.

  • Use Case documentation: This is the documentation that Process Analysts and Process Developers see when updating a business process.

How to do it...

Adding documentation to the Flow Element in a process is done as follows:

  1. 1. Open the process SaleToContract.

  2. 2. From the View menu select Documentation.

  3. 3. Select the flow object within your process that you want to document.

  4. 4. You can even add documentation for the whole process or any of its individual elements.

  5. 5. From the drop-down list, select the type of documentation you want to add.

  6. 6. You can choose either Documentation or Use Case Documentation, based on your requirements.

  7. 7. Enter your documentation.

  8. 8. When you have finished, click Save.

How it works...

Have a look at the Documentation tab in the following screenshot. On the upper-left side, you can find the process name given (SalesToContract), as you are documenting the entire process. However, you can choose any Flow Element and its name will appear there, and then you can document for that particular Flow Element too.

Creating MDS for BPM


Oracle Metadata Service (MDS) repository is an Oracle Fusion Middleware component that stores metadata for certain types of deployed applications. Oracle BPM uses this repository when deploying applications to runtime. In addition to using Oracle MDS to store information about deployed applications, Oracle BPM also creates a partition in the MDS repository to store projects and project templates.

When an MDS connection is created, BPM partitions are created. These partitions are used by both Oracle BPM Studio and Business Process Composer to share projects and project templates.

The Oracle BPM MDS repository contains the following default folders:

  • Public: Contains all shared Oracle BPM projects.

  • Templates: Contains all project templates.

You can create additional subfolders within these folders, to organize your projects and project templates. The Oracle BPM Metadata Services repository is installed as part of the Oracle BPM runtime installation. After this installation is complete, you must configure your Oracle BPM Studio installation to connect to the repository.

How to do it...

Here you will create an MDS for BPM:

  1. 1. Open JDeveloper in the default role.

  2. 2. Open Resource Palette, by selecting View | Resource Palette.

  3. 3. Go to IDE Connections. Click on the folder with the + sign.

  4. 4. Right-click on New Connection and then Database.

  5. 5. Create a database connection to the MDS, as shown in the following screenshot.

  6. 6. Get the database TNS details and fill the details as per your environment. Once you're done, you can check the connection by pressing the Test Connection button; a Success! message appears, if the parameters are correct. Click the OK button.

  7. 7. Right-click on New Connection and select New Connection and select SOA-MDS.

  8. 8. Create a new SOA MDS Connection, as started in the previous step. In the Select MDS partition, obpm should be automatically selected. Test the connection.

  9. 9. Go to View | BPM MDS Navigator, to open the BPM MDS Navigator.

  10. 10. Open Configure Connection and choose the SOA MDS Connection that you just defined.

  11. 11. Check that root folders Public and Templates are shown in BPM MDS Navigator.

  12. 12. When you have finished the preceding steps, click Save.

How it works...

The Oracle BPM Metadata Service browser enables you to view the contents of the Oracle BPM MDS repository and perform related tasks. You can perform the following tasks using this browser:

  • Publish projects and project templates.

  • Create and configure Oracle BPM MDS connections.

  • Check out and lock projects and project templates

Publishing a BPM Project in BPM Studio to MDS


Getting ready

Publishing a project to the Oracle BPM MDS repository enables you to share projects and project templates with other Process Analysts and Process Developers. Once a project or project template is published to the repository, it can be accessed by other Process Analysts and developers using either Oracle BPM Studio or Business Process Composer.

How to do it...

Follow the steps of this section to publish a BPM project in BPM studio to MDS:

  1. 1. Go to BPM Project navigator, right-click on the BPM project that you want to publish, and select the Publish to BPM MDS menu item.

  2. 2. The Publish to BPM MDS dialog pops up. Keep the default name of QuoteProcessLab, Check the Override box, and click OK.

  3. 3. To see the project just published, go to the BPM MDS navigator and expand the Public folder; the project should be listed in the correct location folder.

  4. 4. If you published a BPM Template Project, then you would find it in the Templates root folder.

  5. 5. When you have finished the preceding steps, click Save.

How it works...

After publishing projects to the Oracle BPM MDS repository, business users can use them to create new deployable BPM projects. You can use them in BPM Composer too.

Left arrow icon Right arrow icon

Key benefits

  • Full of illustrations, diagrams, and tips with clear step-by-step instructions and real time examples to develop Industry Sample BPM Process and BPM interaction with SOA Components
  • Dive into lessons on Fault ,Performance and Rum Time Management
  • Explore User Interaction ,Deployment and Monitoring
  • Dive into BPM Process Implementation as process developer while conglomerating BPMN elements

Description

Oracle Business Process Management Suite is a complete set of tools for creating, executing, and optimizing business processes.Oracle BPM Suite 11g offers the flexibility that business demands, hand-in-hand with the power IT requires. The result is an agile platform that brings together your existing applications, enabling you to react quickly to new business requirements.With this cookbook we will develop rich, interactive business processes using the Oracle Business Process Management suite.With Oracle BPM Suite 11g Developer's Cookbook, a common process model based on BPMN is presented to the specific role assigned to readers in each chapter. Explore Oracle BPM 11g with Modelling, Implementation, Simulation, Deployment, Exception Management, BPM and SOA in Concert, Advanced Rules and Human tasks, End User Interaction and Run-time.Oracle BPM Suite 11g Developer's Cookbook will help readers learn BPM 11g through a Real World Sample Process.This book is divided into four sections: the first section, Modeling, lays the foundation and demonstrates how to implement the Modeling of Business processes for a Use Case of a Fictitious Organization which needs BPM to be implemented at their site (with data objects and information handling). In the second section, Implementation, we learn about Process Implementation, Human Interaction, Business Rules, and much more. In the third section, Measuring, we learn about Post Process Development, Performance Analysis and Simulation Models. In the last section, Deployment, Migration and Run-Time, we learn deployment and migration, and Post Deployment Run-Time.

Who is this book for?

If you are a BPM,Oracle SOA or Oracle Fusion Applications - developer, designer, architect, end-user looking to develop BPM solutions without impediments, then this is the best guide for you. Book assume that you have fundamental knowledge of BPM.

What you will learn

  • Dive into BPM Process Implementation as process developer while conglomerating BPMN elements
  • Deploy the BPM Process to Run-Time using BPM Studio
  • Amalgamate Decision Components into the BPM process
  • Design Advanced Human-Centric workflows infusing Human Task service components
  • Enmesh Process Optimization using Process Simulation
  • Develop Rich User Interface using Oracle ADF for BPM Process
  • Manage Error Inference in BPM process
  • Manage, Monitor, and Administer BPM Process
  • Witness BPM and SOA in Concert

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 25, 2012
Length: 512 pages
Edition : 1st
Language : English
ISBN-13 : 9781849684224
Vendor :
Oracle
Category :

What do you get with a Packt Subscription?

Free for first 7 days. ₹800 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Apr 25, 2012
Length: 512 pages
Edition : 1st
Language : English
ISBN-13 : 9781849684224
Vendor :
Oracle
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
₹800 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
₹4500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₹400 each
Feature tick icon Exclusive print discounts
₹5000 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₹400 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 12,214.97
Oracle BPM Suite 11g Developer's cookbook
₹5287.99
Oracle BPM Suite 11g: Advanced BPMN Topics
₹2010.99
Oracle Service Bus 11g Development Cookbook
₹4915.99
Total 12,214.97 Stars icon

Table of Contents

11 Chapters
Process Modeling Chevron down icon Chevron up icon
Process Implementation Chevron down icon Chevron up icon
Process Deployment and Testing Chevron down icon Chevron up icon
Business Rules in the BPM Process Chevron down icon Chevron up icon
Human Workflow in BPM Process Chevron down icon Chevron up icon
Process Simulation Chevron down icon Chevron up icon
Developing UI using Oracle ADF Chevron down icon Chevron up icon
Exception Management Chevron down icon Chevron up icon
BPM and SOA in Concert Chevron down icon Chevron up icon
End User Interaction Chevron down icon Chevron up icon
Manage, Monitor and Administer BPM Process Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.2
(5 Ratings)
5 star 20%
4 star 80%
3 star 0%
2 star 0%
1 star 0%
IIC Jun 18, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Excellent
Amazon Verified review Amazon
Serafeim Karapatis Jul 26, 2012
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The book raises immediate interest, especially when the subtitle states that it contains "over 80 advanced recipes to develop rich, interactive business processes using the Oracle BPM Suite". But is this the case ? What's its positioning against the fellow Packt title of Getting Started with Oracle BPM Suite 11gR1 - A Hands-On Tutorial ?Let's start by looking briefly into the material of the book. Content flows in parallel with the development of a case study which is about a Sales Quote process of a fictitious company. It is rather fair to say that the case study is not a particularly innovative as the official Oracle's BPM reference process flow is based on a similar process. Starting from the modeling phase of the solution, and then expanding it in the areas of business rules, human tasks and calling external services, the book covers different and very important angles in the BPM development. Other vertical concerns, such as Exception Management, Business Monitoring and Process Simulation occupy dedicated chapters. For each point or recipe to cover, there is a preceding description of the subject, a solution how-to section, a how it works paragraph and finally pointers for further information. This is a very successful layout frame, which I enjoyed immensely in the Nikos Charalambides work ( Oracle JDeveloper 11gR2 Cookbook ) but this time, the recipes are much more simplified, do not cover the latest product features or provide explicit best practices. Details of the contents of the book chapter by chapter:The first chapter (Process Modeling) offers a brief description of the case study and a draft drawing of the process with almost all its elements. It is therefore a short and deep-dive into BPM Suite, especially for those who are already acquainted with it and have the basic knowledge of XML, Web Services and so on. The second chapter (Process Implementation) makes ''a quick coverage of Human Tasks. This chapter is followed by Process Deployment and Testing in which our process is deployed and being monitored in the runtime.Then comes the business rules component of Oracle SOA Suite Platform (Business Rules in the BPM Process) into play with a concrete and accurate coverage. The book will compensate its readers in the next chapter with a fairly good description of Human tasks (Human Workflow in the BPM Process), the business-driven simulation of the entire process (Process Simulation) and the customization of Human tasks using Oracle ADF (UI components and task flows) Especially Chapter 7 ( Developing UI using Oracle ADF) is excellent.The next chapter (Exception Management) deals with exceptions from the BPM and SOA Suite perspectives, while the interaction between the two is the subject of a very good chapter 9 (BPM and SOA in Concert) There is also a special chapter on the functional aspects of the BPM Workspace and Webcenter Process Spaces that I do not think are of special relevance to developer audience. Just before the end comes another good chapter on extracting business intelligence and monitoring in operational terms the BPM Suite in collaboration with Oracle BAM. Also the Chapter 11 (Manage Monitor and Administer BPM Process) refers to the administrator tools for the platform (eg, fault management, notifications, deployment, etc.) It would be rather preferable to split this chapter into two parts, one covering the operational and the other the technical aspect of the BPM Suite management.The first appendix (Oracle BPM - Application Development Life Cycle) focuses on the roles, responsibilities and steps to be taken for carrying out a BPM project. The second (Approval Management) is a good example of a dynamic human task assignment using business rules and Java.Having now covered all chapters of the book, it is inevitable to compare it with the other title of Packt about BPM Suite ("Getting Started with Oracle BPM Suite 11g R1 - A hands-on tutorial") Even though the latter is older, I find it more more complete, versatile and consistent. Of course between the two books there is some overlapping but still a purchase of both might worth it. A side-note complaint about the book has to do with the online code downloads annex: one would expect the full source code of the interim solutions per chapter. Instead, all you poorly find is the xml schema (xsd) of the case study...
Amazon Verified review Amazon
高橋さん Apr 30, 2016
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
利用するBPMバージョンは11.1.1.5 ベースで記述されていますが、11.1.1.7で試して十分に動作させることができました。(最新バージョンに比べ、画面の構成や設定方法が若干異なる箇所があるため、自分で考えなければならない箇所もあります)Oracleで提供されているサンプルをベースにしており、BPMN、Business Rule、ADF、等々、基本的な開発要素をとりあえずは一通り試すことができると思います。なので、まずはOracle BPM でどんなことができるかを体感してみたい方にはおすすめです。
Amazon Verified review Amazon
W Boudville Aug 01, 2012
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
I am impressed by the amount of effort that Oracle has put into building out this BPM 11g product. The sheer arbitrariness of a business process must have been a headache to code a framework to. It appears that Oracle has admirably let the developer easily lay out complex interactive tasks. Take the example figure on page 93 of a screenshot of a final modelling process. The user interface lets you intuitively put together such a process that consists of several (many!) interactive tasks into a compound Task, explicitly spelt with a capital T in the book's convention. Of course, this naturally and immediately suggests that this new composite Task might in turn be a single task in a higher level of other tasks. Hence the expressive power of the user interface is vast. Perhaps effectively unbounded!The book might be favourably compared to earlier texts on Service Oriented Architecture, like this one by Erl, Service-Oriented Architecture (SOA): Concepts, Technology, and Design from almost 10 years ago. That earlier text while stuffed with information, simply lacks the specificity and detailed user interface building ability of Acharya's book. It is instructive to thumb through both side by side. Progress has been considerable, and one should certainly hope so. At the simplest level, Erl lacked any nifty GUI to construct a business process. Instead, much space was devoted to explaining at the XML level how a BPM or SOA would be fitted together. Whereas Acharya shows no XML; mostly focusing on explicating the resources of the GUI.Granted, Acharya is still not an easy read. But you can now focus on the business essentials of a process and safely ignore the lowest level of actually explicitly constructing XML snippets. The latter is highly error prone and Erl's book made it hard to see the larger picture.
Amazon Verified review Amazon
Lucas Jellema Jun 04, 2012
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The breadth of the book is impressive. Vivek has done a great job in describing many topics and aspects of the BPM Suite story. Along with the impressive scope, he also manages to provide a lot of details and in depth descriptions, for example in his discussion of business indicators and BAM, configuration of fault policies and on the development of User Interfaces with ADF to support Human Tasks. He uses a single case throughout the book - a case that is clear and comprehensive. Not too simplistic to become trivial and neither too complex to overburden the reader. Both business and process analysts as well as developers will benefit from this book - although I think that the former roles may find the level of technical detail a little overwhelming (the discussion of Data Objects for example very early on mentions XSD - too early in my opinion).On the other hand, even though the book is very recently published, it does not discuss the very important new features in BPM Suite first introduced in the PS 4 Feature Pack (August 2011) and release as part of PS 5 (February 2012) (apart from a two sentence reference to the ability to do correlation for BPM instances). Subjects such as draft processes, instance migration and altering running instances (as one way to add improvisation) should in my opinion have been part of this book. I also find the discussion of the Composers (both the SOA and Process Composer) wanting: when it comes to run time, business driven agility, these tools are very valuable. Yet they are hardly mentioned at all. The same applies to events and the event delivery network (at the same time JMS based interaction is discussed at length - arguably less business level than EDN).Although many topics are explained as well as demonstrated in a large number of useful screenshots, some subjects are mentioned in passing but not explained at all -leaving the reader a little bewildered about what just hit them.All in all when you want to get a pragmatic introduction to Oracle BPM Suite that gets you started with doing things and also helps you understand many of those things, this book is an excellent investment. Even for readers who may not do BPM Suite but only SOA Suite, this book is very useful because of its introduction and detailed discussion of Business Rule, Human Task and ADF based User Interfaces for Human Tasks and several examples of fault handling, adapter usage and run time monitoring and configuration.The central case in the book is a business process for responding to a Sales Quote request. Some customer wants to order certain products. The process for determining the offer to be made to the customer - including the discount, the final price, additional terms etc. - is modeled and implemented over the subsequent chapters. This includes the implementation of the Business Rules and the User Interfaces for the Human Tasks. It even includes configuration of a File Adapter for writing the Quote details to a file.Packt publications over the past months have adopted a structure based on recipes. For example the OSB 11g Development Cookbook that I recently reviewed is organized that way - and for that particular book it works very well. This book on BPM Suite is best read back-to-back, so I feel the recipe structure does not help a lot.The ChaptersChapter 1 (Process Modeling) provides the foundation for the book. It describes the relative position of BPM in the enterprise, linked to Business Strategy and Enterprise Architecture. It describes the phases an enterprise will go through in applying BPM. It then drills down a bit to talk about the activities and roles in doing BPM Modeling. It discusses when to use BPA Suite (IDS Scheer's ARIS based) and when to use BPM Studio. It briefly mentions Process Composer and MDS. It introduces the organization of the book's business case - FusionNX - and the SalesQuote business process under scrutiny in the book. After these initial necessities, on page 21 the modeling of the process flow starts in anger. On page 22 the first reference to XSD is made (way too early in my opinion, and not explained at all). The SalesQuote process that the book will further explore and implement is introduced step by step and the visualization of the process is provided. Subsequently, the reader is invited to start JDeveloper and open BPM Studio to model the business process that was just introduced - pretending to play the part of the process analyst.One can argue about best practices. One practice I advocate is to not refer to individual users in applications or business process definitions, but only to roles. The mapping between roles and users is made elsewhere, outside the process implementation. The author decided to not apply this practice, but instead include direct references to users (from the WebLogic Server internal LDAP directory). To make things even more confusing, the users have role-like names such as salesrepresentative and businessanalyst .When the organization units have been created and members have been added, when the business calendar with working hours and the holiday rules have been created, then on page 39 the business process itself is created. In a brisk pace the first activities are added as are some gateways and sequence flows. The first data object is defined - called BusinessAnalystReviewRequire. Here is the first of several examples in the book where naming conventions have not been applied rigorously and some confusion may arise. In this case, an added d - BusinessAnalystReviewRequired - would have been more logical. More confusing choices with regards to naming occur throughout the book (for example in the chapter on business rules).After Exclusive Gateways the Parallel Gateways are also introduced. Additionally, interaction with other processes and services is introduced - through Service Tasks.The author chooses to not only discuss the process activities, gateways and flows but also dive into the details of data objects and sequence flow conditions. For a technically inclined reader, that is perfect - because it quickly makes the story more tangible and concrete. However, a process analyst may not feel comfortable with a discussion of booleans and strings and the example of an XPath expression so early on. (it is my experiences that there is a fairly sharp division between implementors/developers on the one hand and analysts/modelers on the other. Variables, data types and expressions are very much not part of the comfort zone for that latter group. Perhaps it should have been introduced a little bit later on in this book.The final part of this first whirlwind chapter is a discussion of MDS and the publication of the process from BPM Studio (== JDeveloper) to MDS to share it through Process Composer. It would have been nice to also describe and show the Process Composer end of things; the chapter now leaves you with the instruction of connect to MDS and deploy from BPM Studio but does not take that next step.Undoubtedly however, at the end of this chapter (page 77) the author has accomplished an awful lot. The reader may have to read the chapter twice, but he will most certainly have made a lot of progress in getting going with his first BPM process. To the point where we could already simulate the process! However, the author has chosen to postpone that discussion until chapter 6.Chapter 2 discusses process implementation. This includes User Interaction activities that translate to Human Task components at SOA Composite application level. The default task forms are generated and outcomes are defined. The next step is a little bit advanced (too advanced for this stage in the book perhaps): how to create a common task and task form that can be used for several user interaction activities in the process. Next Data Associations are created - mappings between Process Data Objects and the Input and Output for process activities. Then a Service Task is implemented by creating a File Adapter service to write data from the process to the file system. This is a very concrete implementation task, one that will be beyond most process analysts I believe. Note: in a real system I would adopt the practice of not linking a business process directly to a technical adapter, but inserting a Mediator component in between. I can see how that would unnecessarily complicate the chapter - yet now it seems to almost encourage very direct dependencies from the process on the fairly technical directly environment dependent adapters.At the end of chapter 2, the process is designed and implemented and ready to be deployed. It has flow, logic, human interaction and even a service that will write data to the file system.Chapter 3 has the reader deploy and initiate the process and subsequently act on the tasks assigned to various users. It demonstrates the BPM Workspace, the generated Task Forms and the Enterprise Manager FMW Control console.This illustration shows the visual trace of a process instance that was triggered and executed:The last section of the chapter is titled Debugging. A little deceptive as true debugging is not supported in the BPM Suite. The section really explains how to configure the most fine grained audit level in the EM console.Chapter 4 is on Business Rules. From my own experience of writing a book on Oracle SOA Suite, back in 2010, I remember all too well that Business Rules are a tricky topic. It is hard to explain what the Business Rules are and how they work. It is easy to either provide too little or too much detail. The rules are not as intuitive as one would expect from a concept and a tool that is so clearly aimed at business users.The author describes both types of business rules: the (simple) IF/THEN rules and the 'clustered' Decision Tables. He introduces the latter using the business rule CheckCustomer that a few pages later is suddenly called CustomerCheck:This rule needs to decide on the approval flow that is required and the effective discount that is awarded given the type of the customer (new or known) and the quantity of the quote. So far so good. However, the author makes things a little confusing in the ensuing discussion.he introduces the ApprovalFlow Data Object with several properties including Tier1ApprovalNeeded. However, this property is not assigned any value but false and therefore seems superfluous. It caused me some confusion.he introduces a global variable - a constant - to compare the value of the Quote.CustomerType with in order to determine if the customer type is New; this global is called CustomerType - rather than something like NewCustomType or any other name that explicitly refers to New. Again, quite confusinghe creates an incomplete end result: a decision table that does not cater for the case where the customer is not new and the quantity is under 50; again, confusing for someone trying to figure out what all of this means.In the second example, the business rule DiscountCheck that is used to determine whether the size of the discount in conjunction with the type of Customer (premium or not) is discussed. Here too the author is a little sloppy: he discusses the cases where the discount is higher than the threshold (spelled Threashold) and the custom type is Premium or not, but he fails to discuss the situation where the discount <= threshold.Not only is the logic incomplete, the Business Rule will actually return a fault when invoked for cases where the discount is not over the threshold. Also, the name of the global constant used for holding the discount threshold value is Discountvar, a vague and unclear name. This would also be the perfect opportunity to talk about the SOA Composer where at run time the value of this threshold value can be altered. Vivek hints at the possibility of modifying the business rules at run time - a very powerful notion I believe - but unfortunately he does not explain nor demonstrates this in any detail. I believe that a missed opportunity.The author demonstrates how the rule can be tried out by starting the business process with different input values. He could also have demonstrated testing the business rule using a test function inside JDeveloper - the easier way to test an individual business rule.Note that despite my criticism, the chapter does a fair enough job of making clear what business rules can do and how they are configured.Chapter 5 - Human Workflow in BPM Process continues the introduction on Human Interaction activities in chapters 1 and 2. It introduces the Human Workflow Services in the SOA Suite - including aspects such as allocation (aka assignment), escalation and notification. This chapter does not really discuss any BPM specific details. It does a great job of explaining some Human Task theory that applies to anyone using Human Task components in the SOA Suite. For example Task Stages (Sequential and Parallel) and Participant Types such as user, role, management chain (with dynamically determined number of levels) or dynamically generated list of task participants produced using business rules. It talks about Approval Groups defined at run time through the BPM Workspace application and about Adhoc Routing. All in all a great overview of some quite advanced features of the Human Task component. Note that Appendix B continues on this discussion by introducing AMX - Approval Management Extension - and providing some even more advanced examples of creating task approval routing.Chapter 6 - Process Simulation. Vivek uses a lot of words to explain why he discusses simulation only so late in the book. It is as if a reviewer suggested he move it more to the front and he did not want to do that and instead tries to justify that decision. I feel simulation could have been discussed earlier on. The process analyst can make perfect use of simulation and could already to do right after chapter 1. I fear that this analyst will not make it through chapter 2 all the way to this chapter 6, which is unfortunate. Despite his many words of defending his choice, Vivek does not convince me.He argues that "Implementation before simulation is helpful" using various reasons that more or less amount to: implementation results in data that can be used for better simulation models. However, he does not demonstrate how that works: which data becomes available by first implementing for simulating and how can that data be fed into the simulation? The question is relevant: the simulation is configured for example with percentages of process instances that go in each direction at gateways and with the average time required to complete an activity. Deriving these values from real, accurate data rather than just feeding in some best guesses would be perfect. Vivek writes "It [Oracle BPM Simulation] actively assists the user with setting model parameters to match known aggregated metrics of the as-is process", but he omits an explanation of exactly how this is done - deriving the metrics and loading them into the simulation model.The description Vivek gives of how simulations are set up and run is very clear. He makes a good case explaining why simulating the process can be instructive. His primary example of improvements that can be achieved is by finding that additional resources for specific human tasks will reduce the average time to completion by a staggering degree. He also concludes that by doing so, a more than substantial cost reduction would be realized: from $17000 to $3000. He does not explain how adding resources will decrease the total cost - and that might be the most valuable piece of advice in the entire book. In addition to adding resource where it helps the most, BPM Process Simulation will also typically help spot opportunities for parallel paths in the process instead of currently sequential flows; such findings are typically more dramatic and less obvious than adding resources; I would have liked such an example too.Chapter 7 Developing UI using Oracle ADF is not really about BPM Suite. Developing User Interfaces with ADF, to support Human Tasks, is not strictly speaking a BPM topic but a much more general subject. That makes Chapter 7 no less useful - quite the opposite in fact. It goes a long way in explaining the various approaches for creating an ADF user interface for a Human Task defined in a SOA Composite application - including generation of the task form, using the task wizard and leveraging the task data control for individual bits and pieces of the task definition. It even explains routing between ADF Faces pages and using a Train (multi step wizard) component. The final segment of the chapter is called Creating a Task form with ADF Business Components. Here it seems the author had a plan but in the end decided to do something else. The text introduces ADF Business Components - a framework for interacting with a relational database - and then goes on to use the Database Adapter in SOA Suite to connect a BPEL process to a PL/SQL procedure. The BPEL process exposes its service interface as a web service. The chapter then uses the ADF Web Service Data Control to create a data control for the web service that represents the BPEL process that virtualizes the database adapter that represents the PL/SQL procedure. Why the ADF Business Components framework is not used, is not explained. The Data Control is given the name OpportunityVO - suggesting an association with ADF BC that also uses the VO abbreviation for ViewObject. However, that association does not really exist. Note that the next erroneously states Data Source Name instead of Data Control Name. Not a biggy, but confusing for novice readers.The chapter demonstrates how this Data Control can be leveraged to add fields based on the Web Service (aka BPEL process aka PL/SQL procedure) output to the Task-supporting-ADF-pages - which is neatly done. Quite cool in fact.The chapter then describes the creation of a real ADF BC Entity and View Object, based on a Database Table - but it never makes use of it, making me wonder why it was discussed at all.Chapter 8 - Exceptions. A clear and straightforward discussion of the Error Catch Event activity used in the business process to handle an exception raised by a service task (upon reception of a SOAP Fault from the Web Service).Subsequently a good explanation of a business event that are raised within the BPM process itself and that is handled by an Event Handler (of type Error as opposed to Timer and Message) at the start of a sub process. The Fault Management Framework in the SOA Suite is intended to provide error handling that is external to SOA and does not impact the SOA/BPEL design or runtime. Even though that framework is quite far removed from the level of the business process - as it deals with system errors, not with business exceptions -the book provides and extensive example of using the Fault Management Framework, including detailed configuration of xml files. The next topic discussed is the Timer Event that can be used to throw a time out exception when a certain period of time has passed (and the scope on which the timer event was specified has not yet been completed). Annoyingly, all activities in this example are misspelled: CatchSLAVoilation, SLAVoilated, ThrowSLAVoilation etc. The example is fine, the spelling distracts a little.The chapter concludes with a demo of all the exceptions (and their handling) at run time. This further clarifies what is already a well explained area.Chapter 9 BPM and SOA in Concert. Of course we have been using BPM and SOA in concert throughout the book. The BPM(N) component that defines the Business Process worked with Human Tasks, Business Rules, Service Components and even Adapters at various points throughout the book. This chapter makes some of that interaction a little bit more explicit.The chapter shows how the BPM process can invoke an asynchronous service task - receiving the call back response at a later point in the process flow. The wording is a little unclear at times: "Invocation is carried out by the throw message event, which is configured to initiate a conversation. The BPMN service engine performs the invocation and callback." It is the remote service (engine) that performs the call back I would think, the BPMN engine handles the response received during that call back - it does not perform it. Unless of course the asynchronous service that is invoked is just another BPM process that has to do the callback.A little later, the text makes clear that when the process has not reached the Catch Message Event activity that receives the call back, when the call back comes in "then the engine waits for the service operation to complete before passing the token to the next flow object in the process". I take this to mean that when the process is specified with: A - throw message Event - B - C - D - catch message event - E - F (where A-F are process activities) and the process is executing C when the call back message is received by the engine, that in that case C is completed, D is performed and only then the message is fed into the process flow. I also suppose, though the book does not explicitly say so, that when D is complete and no callback is received yet, that then the process instance will freeze until the callback is received.A little further on, Vivek writes: "You can use send and receive tasks too for invoking asynchronous services and BPMN processes." (instead of message throw and message catch). He does not make clear what is the difference between the two approaches and why/when you would use one or the other.The synchronous invocation of (what becomes a child) process is discussed - straightforward.Then a somewhat detailed demonstration of how a BPM process can be triggered via JMS. The JMS Adapter is configured - twice: inbound linked to the BPM process and outbound linked from a BPEL process that is used to publish the event that has to trigger the BPM process. I wonder why the author chose this fairly elaborate, technical JMS approach instead of using the Event Delivery Network (EDN) in SOA Suite, that would seem more appropriate. The description though is clear and potentially useful.Chapter 10 End User Interaction. The introduction to this chapter is promising: "Post deployment, it's the end users who will interact with the process by participating in it. In this chapter, you will focus on end-user interaction in the running process. While learning about end-user interaction, you will also experience the power of Social BPM." The chapter is only some 15 pages and it is a bit of a disappointment: it shows some screenshots from Process Spaces and it demonstrates how to create a Poll and an Announcement. But it fails to give an overview of what can be seen about a process instance at run time and how discussion around that 'case' or instance would take place. Nor does it tell us anything about collaboration "on the design of the model" or "task collaboration and is used to view details for all running processes". The introduction of some features of the Business Process Workspace is relevant, but it is only a tiny little bit of information dispensed in this chapter.Chapter 11 Manage, Monitor and Administer BPM Process - the final chapter. It opens with a very good explanation of business indicators, such as counters, dimensions and measures, that process instances can expose and that can be used to report on. The author clearly describes the definition in the business process of the indicators and the measurement marks (the moment on which values are reported). He then demonstrates how in the Business Process Workspace these indicators can be used to create dashboards from. Next, the integration between BPM and BAM is introduced and demonstrated. Again, this is done in great and clear detail.The last part of the chapter is devoted to monitoring and administration via the Enterprise Manager Fusion Middleware Control Console - focused more on technical than on business details. The Audit Level is revisited as is the instance tracing facilities. Fine grained logging is mentioned, but neither illustrated nor explained. A brief discussion on deployment. But no reference to what happens to running instances upon deployment of either an overwriting revision or a new revision. An extension of discussion in chapter 8 on exception handling - showing a 'retry' for a previously failed instance. Configuration of notification settings for a human task.In the section on deployment, Vivek mentions: "You can even attach a configuration plan to include with the archive. The configuration plan enables you to define the URL and property values to use in different environments." And that is all on this subject. Not even a 'read this resource for more details' . It is very valuable, this use of a configuration plan, and I am curious to know which aspects of a BPM process can perhaps be customized in this way. For example the values of constants in Business Rules or the business SLA set in Timer Events.The configuration required to integrate BPM with BAM - leveraged in the first part of this chapter - is now described in detail. Then the definition of organization units and the vacation rules for users; the link between the units and rules that were defined in BPM Studio, 9 chapters ago, and the units and rules that can be maintained through the BPM Workspace is not made clear ( I believe there is no link, frustratingly enough).The final explanation about Flex Fields that can be defined for Human Tasks, mapping values from the task payload to these fields that can be included in the BPM Worklist application to list for tasks and even search on is valuable and again, quite clear.Appendix A is titled Oracle BPM -- Application Development Lifecycle. It seems largely a repeat of information from Chapter 1. I am not convinced it adds anything meaningful.ConclusionIt is an attractive book, providing a fine balance between information, action (hands-on) and background. On the whole: When you want to get a pragmatic introduction to Oracle BPM Suite that gets you started with doing things and also helps you understand many of those things, this book is an excellent investment that I can fully recommend.Even for readers who may not do BPM Suite but only SOA Suite, this book is very useful because of its introduction and detailed discussion of Business Rule, Human Task and ADF based User Interfaces for Human Tasks and several examples of fault handling, adapter usage and run time monitoring and configuration.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.