Book Image

Oracle BPM Suite 11g Developer's cookbook

By : Vivek Acharya
Book Image

Oracle BPM Suite 11g Developer's cookbook

By: Vivek Acharya

Overview of this book

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.
Table of Contents (20 chapters)
Oracle BPM Suite 11g Developer's Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Oracle BPM—Application Development Lifecycle

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.