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):
Ø Activities: Represent work to be done
Ø Gateways: Control flow logic of the process; are used to split and merge paths
Ø Events: Support 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:
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.
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