Thursday, September 24, 2020

BPM Overview Part-2

 BPM: Business Process Management

BPM stands for Business Process Management. 

There are 2 different aspects of BPM: BPM as management discipline and BPM as software engineering. 

BPM as a management discipline is the responsibility of every strategic executive manager.  It’s to ensure that the organization performs well in their core business processes. 

This involves understanding what values the organization delivers and how those are achieved. 

This means analyzing, documenting and improving the way that people and systems work together. 

it’s useful to work with models and diagrams. 

BPMN diagrams express the execution flow of the steps to accomplish a certain goal.   

these models are used for people to people communication.

which means that they can contain valuable high level information without including unnecessary details

BPM is process layer

SOA is service layer

 It gives better visibility into the organization.

Visibility means: information about what activity involved in the process.

                Who is doing this activity?

BPMN consists of three main types of elements (flow objects):

Ø   ActivitiesRepresent work to be done

Ø  Gateways: Control flow logic of the process; are used to split and merge paths

Ø  EventsSupport asynchronous communication with other processes, error handling, and flow logic

Activity Types

Ø  Service: Synchronous system interaction

Ø  Send, Receive: Asynchronous interaction

Ø  User: Human step managed by human workflow engine

Ø  Manual: Not managed by a workflow engine

Ø  Rules: Managed by business rules engine

Ø  Script: Used for running scripts

Ø  Call: Invokes a reusable sub process

Oracle BPM supports the following data structures to keep track:

·         Process Data Objects

·         Subprocess Data Object

·         Project Data Objects

·         Arguments


Oracle BPM uses data objects to store the information related to the process. The value of these variables may or may not change as you run the process.

When you define a process you must define the data object to store information.

Data objects can be of the following data types:

·         string

·         int

·         boolean

·         double

·         decimal

·         time

·         duration

·         base64Binary

·         Component (enables you to select a complex data type)

Gateways

Define the flow of your process.

Types:

-          Exclusive (OR)(XOR) 

-          Inclusive

-          Parallel

-          Complex

-          Event Based

Exclusive : OR,XOR   

-          Only One branch will be taken.

-          It may or may not use a merge.

Parallel : AND   

-          All output paths are taken.

-          It is used for merging unconditional parallel paths only.


Inclusive OR: 

-          There is more than one possible outcome.

-          Outgoing paths of an inclusive can have a default path as well.

Complex : 

-          Complex gateways are decisions in which more advanced definitions of behavior can be defined.

-          When any two complete, kill the third and proceed to grant security clearance step.

-          Ex:  voting pattern.

DATA Objects

Data objects are variables used to store information.

Use arguments to pass data between components.

Process Data Object:  It can be used by a single process.   

Project Data Object: Used by all processes in a project.

Different scope of data object:

-          Activity data object

-          Process data object

-          Subprocess data object

-          Project data object

Business Objects:

Ø  All business objects are represented by XML schemas:

Ø  You can create a business object from an XML schema.

Ø  You can create a business object interactively by using JDeveloper.

Ø  Created with a number of attributes, and each attribute can be either a basic data object, or another business object.


Script Task:

To initialize variables before they are used in activities.

Human Workflow:

HWF is responsible for handling all interaction with users or groups in BPM & SOA.

Human Task Editor:

Data tab:  Add new data.

Assignment tab:

-          Define stages

-          Build Participant lists

-          Define routing

Defining a Human Workflow: How and Who

When you define a human workflow, you must define the basic pattern of the flow (how) and a list of participants in that flow (who)

• Stages determine how a workflow is routed:

-          Single

-          user routing

-          Serial routing

-          Parallel routing

A stage is a set of approvals related to a step in the workflow

Tasks can be assigned to users, groups, and roles.

• Participant lists determine who will participate:

– Users

– Groups

 – Application roles

Human Task Types   

Complex

– No pattern assumed. You must configure it in the task editor.

 – Swim lanes have no effect on assignees.

 • FYI

– For notification only

 • Group

– Parallel approval pattern

– Task is completed when voted outcomes complete.

• Initiator

– Process is initiated from the Task Worklist form.

• Management

– Sequential list of approvers up the management chain

– Starting participant is the manager of the role.

 • User

– Individual user(s) or group(s)

Participant Lists

For each stage, you must specify the participants.

Build a participant list by using one of these options:

 – Names and expressions

 – Management Chain

– Approval Groups

 – Parametric Roles

– Rule-based

– Job Level

 – Position

– Supervisory

• All participant list types can be built statically or dynamically.

Stakeholders

• Owner: – Is the super user for this specific task

– Can make changes or reassign

– Is specified on the General tab

 • Reviewers:

– Review a task without changing the outcome

– Can add comments and attachments

 – Are specified on the Assignment tab

 • Error assignees:

 – Receive the task on error conditions

 Example: Misspelled assignee

– Are specified on the Assignment tab 

Deadlines: Expiration and Escalation Policy

Notification: Notifications and Reminders

Access: Task Security: Role-Based Visibility, Access, and Digital Signatures

Handling Exceptions in the BPM Process:

Ø  Error Events and Scope

Ø  Implementing an Error Boundary Event

Ø  Implementing an Error Event Subprocess

Ø  Handling Exceptions Thrown from a Peer Process in a Request-Reply Conversation

Ø  Policy-Driven Exception Handling: Introduction

Types of Exceptions in BPM

System exception

Business exception

Business exception:

Business Exceptions handle unexpected business process errors within the process flow.

System Exceptions:

System Exceptions handle system errors that are consequence of a failure in the software or hardware infrastructure where the BPM Service Engine is running.

System Exceptions raised by the Database Adapter and the Web Service Adapter.

System Exceptions Type:

The two most commonly used system faults are Binding Fault and Remote Fault.

Remote Fault: Remote Fault is used to capture service unavailability errors.

Binding Fault is used for all other system errors such as wrong communication.

Strategies for catching exceptions


In a BPM Process, exceptions (both Business and System) can be captured in different ways:

· Event Subprocess

· Boundary Events

o Attached to a Subprocess

o Attached to an Activity

Types of Error Events

 

Throw errors: are used only in an error end event.


Catch errors:

– Catch a specific exception, all business exceptions, or all system exceptions

 – Are used as boundary error events for:

 — Tasks

 — Subprocesses

– Are used as the error start in an event subprocess

– Can have an exception flow to handle the exception

Flex Fields:

Flexfield is a database field possessing inbuilt flexibility of defining reporting structure, which is relevant to specific organizations. A flexfield is made up of segments or subfields.

Flex fields (also known as Mapped Attributes) are helpful to be able to display custom fields in the Oracle BPM WorkList and to be able to search for Tasks based on content in elements in the Task payload.

Given below are the two types of flex fields:
Key FlexFields: They are used to record key data elements.
Descriptive FlexFields: They are user-defined flexfields and can be customized.

Customizing Task Tables with Human Workflow Mapped Attributes- Flex Fields.

What are human workflow mapped attributes?

 – Human workflow mapped attributes (also called flex fields) store and query use case–specific custom attributes.

 – These custom attributes typically come from the task payload values.

 • Store custom attributes in mapped attributes to: 

– Display them as a column in the task listing

 – Use them to filter tasks in custom views and advanced searches – Choose them for a keyword-based search 

 



No comments:

Post a Comment

SOA Overview Part-1

  Middleware It provides a mechanism for the process to interact with other processes running on multiple network machines. Advantages...