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

Appendix A. Oracle BPM—Application Development Lifecycle

Business Process Management (BPM) is for process transparency, process intelligence, business empowerment, and business alignment. What makes the heart of an enterprise? What makes or breaks an enterprise? What's the differentiating factor? What provides operational efficiency, business visibility, and agility to an enterprise? It's the business process, and Oracle BPM is all about business process and business process management. BPM encompasses the vision, modelling, collaboration, simulation, implementation, measurement, execution, monitoring, management, and administration of business processes.

Business architecture lays the blueprint for operating and transforming the enterprise. It includes various models and defines business goals, objectives, initiatives, and metrics, and models business functions both internal and external. It also encompasses organizational models to depict roles, responsibilities, and collaborations, to define how and by whom defined functions will be provided and used. Along with all of this, business architecture defines business rules and policies to infuse governance, so that stakeholders can adhere and enforce policies. They also define steps to achieve business transformation objectives.

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

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

With BPM, the enterprise can achieve the goal of automation. Enterprise can now model a business process, make associations with Human Workflow and IT applications, and infuse Business Rules Management Systems (BRMS) . And, in combination with SOA and BRMS, enterprises can achieve extremes of agility. Oracle BPM offers business agility. Process impact is directly proportional to process complexity. BPM is for continuous process improvement, too.

Oracle BPM methodology is an agile strategy and an iterative approach to Business Process Management. And they are best suited in this era of ever-changing business processes, where there is a demand for continuous incremental improvement. Traditional methodologies were code-centric, rarely model-driven, always overlooked 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 follows:

  • Business in Oracle BPM lifecycle, business leadership, and Enterprise architect, work closely, which 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 assessed, and required enhancements can be specified.

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

  • Bridging Business and IT Gap: Business stakeholders are involved at every step of process design and development. Information is exchanged at every engineering step. Process or business analysts always work with process architects. Business process analysts with their process, business, and modelling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPIs, 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.

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

Oracle BPM Methodology has put more control in the hands of business leadership. The following figure shows the Oracle BPM Application development lifecycle. It has many phases, such as:

  • Vision

  • Model

  • Implementation

  • Deployment

  • Run-time

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

You can refer to http://acharyavivek.wordpress.com/, for more information about choreography and orchestration.

In the screenshot, B stands for a business role or a participant from Business and (IT) means a participant from IT.

Vision

Adopting BPM into an enterprise to make it business-driven is the vision laid by leadership and coordinated by enterprise-wide architects. It brings both business and process agility. As you can see in the screenshot, business leadership and enterprise architects work closely, for vision and mission, and this leads to improvements in process, with continuous alignment to business needs.

This phase lays the foundation for BPM adoption in the enterprise, with automation and continuous improvement guaranteed, and at the same time staying aligned with business needs.

You can term it as planning, strategy, analysis, and design. Planning is must for a BPM initiative to succeed. BPM planning needs to go beyond departmental level and must incorporate a comprehensive view of the entire enterprise, its goals, operations, processes, and IT systems.

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

Enterprise architects will then analyze the technical aspects of the BPM process candidates and will create a BPM road map. This road map will describe the current state and future vision, and will also identify the gaps between the two. The road map to get from the current state to the desired state is defined as the Mission. The participants in this phase are business leadership and enterprise architects.

  • Business leadership (business participant) will drive the business requirements by setting business goals, objectives, and priorities. Business leadership provides initial inputs, such as high-level vision, definition, and mission statements and funds 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 responsible for developing a process-centric culture, system, and behaviours. 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 with determining the needs for a major business process change.

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 modelling 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. A Process analyst models the flow of a business process and documents its steps. Process analysts 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 technical orientation. This bridges the business and IT gap. Business process analysts, with their process, business, and modelling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPIs, and work with process architects for technical coordination.

Modelling participants are process analysts and process architects, described as follows:

  • Process analyst: They are also termed as business process analysts. They are involved in process modelling and own process modelling skills. They are responsible for the following:

    • Capturing and managing 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 process architects for technical coordination.

  • Process architects: - They coordinate with process analysts in process modelling. It's a role also identified as solution architect. However, they have modelling 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 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 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 are 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, however they rely on process models for implementations. They have the following responsibilities:

  • Rapidly create business processes using tools; tools required: BPM Studio

  • Create implementation artifacts

  • Populate business catalogs 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 Quality Analyst (QA) can be involved. Testing with different phases can see different people participation. Generally, developers will perform the unit testing; system and integration testing will be performed by QAs and directed by process architects. User acceptance testing 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 run-time environment. This can be either a testing or production run-time environment. After finishing the integration of business processes with back-end systems and reusable services, process developers create and compile a working process-based application. This application is then deployed to Oracle BPM runtime. Oracle BPM Suite contains the following typical scenarios for deploying to Oracle BPM Runtime:

  • 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 or ANT)

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

Runtime

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

  • End-user interaction: Process participants and process owners are responsible for interacting with the running application using the 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 designers to know what they actually do. They have many roles, such as supervisor, sales manager, sales representative, business analyst, agent, clerk, 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. Everything, from end-user interaction to running the process, is performed by logging in to either Oracle BPM Workspace or Process Spaces.

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

Administrators or operation managers are responsible for:

  • Configuring and monitoring SOA Infrastructure

  • Configuring BPMN process service engine

  • Integrating the server with organization directory store and allowing logical/process roles to be mapped to real organizational users or groups. Integrating Oracle BPM with external monitoring, such as Oracle Business Activity Monitoring and much 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 Activity Monitoring to monitor the real-time performance of business processes and KPIs. The participant in this phase is the process owner.

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

  • Assisting Business Process Analysts (B) throughout modeling.

  • Assisting Business Process Administrators (IT) throughout runtime.

  • Managing process flow.

  • Assigning Tasks.

  • Defining Rules and Objectives.

  • Analysing end-to-end Business Process Performance.

  • Making process-specific decisions to resolve conflicts, such as the gap between departmental silos of business process activity, 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 recommendations for enterprise-wide process improvements.

  • They are also responsible for monitoring the business processes they own.

Oracle BPM is the leading technology for supporting business process management. Oracle BPM lifecycle supports the entire process improvement lifecycle, vision,modeling, collaboration, simulation, implementation, measurement, execution, monitoring, management, and administration of business processes. Its model-driven approach enables business and IT professionals to work together more collaboratively throughout the Oracle BPM lifecycle. It is collaboration with excellence.