Escolar Documentos
Profissional Documentos
Cultura Documentos
2
3
4
5
6
Introduction ......................................................................................................................... 2
1.1
Overview....................................................................................................................................................
1.2
Oracle BPM Solution .................................................................................................................................
1.2.1 Oracle Business Process Analysis Suite ................................................................... 3
1.2.2 Oracle SOA Suite....................................................................................................... 4
Typical process life cycle.................................................................................................... 6
Modeling Levels and Model Types................................................................................... 14
3.1
Modeling beyond processes the ARIS House concept ..........................................................................
3.2
Modeling Levels.........................................................................................................................................
3.2.1 Level 0 Process Catalog....................................................................................... 15
3.2.2 Level 1 Process Map ............................................................................................ 16
3.2.3 Level 2 Detailed Process Flow ............................................................................. 18
3.2.4 Level 3 Task Level Processes .............................................................................. 19
3.2.5 Level 4 UI flow, composition of business services ............................................... 19
Modeling Roles & Organization ........................................................................................ 21
Modeling Business Services............................................................................................. 22
Modeling detailed process flow ........................................................................................ 24
6.1
Simple Flow ...............................................................................................................................................
6.2
Conditional Branching ...............................................................................................................................
6.2.1 Mutually exclusive conditional branching................................................................. 25
6.2.2 Mutually Inclusive Conditional Gateway .................................................................. 26
6.2.3 Parallel Paths........................................................................................................... 26
6.3
Conditional Merging...................................................................................................................................
6.3.1 Merging mutually exclusive paths............................................................................ 27
6.3.2 Merging mutually inclusive paths............................................................................. 27
6.3.3 Parallel joins............................................................................................................. 28
6.4
Process Hierarchy .....................................................................................................................................
6.5
Loops .........................................................................................................................................................
6.6
Request-response scenarios.....................................................................................................................
6.7
Modeling Exception Scenarios ..................................................................................................................
6.8
Handling Business transactions and compensations................................................................................
Other Modeling best practices.......................................................................................... 33
7.1.1 Filters ....................................................................................................................... 33
7.1.2 Access Control......................................................................................................... 33
7.1.3 Clean up your database........................................................................................... 33
1 Introduction
1.1 Overview
The purpose of this paper is to provide guidelines and best practices around the creation of
business process models using the Oracle Business Process Analysis Suite (Oracle BPA Suite).
These models automatically get realized as close to complete implementation models that can
then be deployed on top of the Process Execution component of Oracle Business Process
Management solution. The modeling of process artifacts and the role of the BPA Suite in the
Oracle BPM life cycle is the focus of this paper. A case study has been provided in the end to
highlight the different modeling patterns. This is intended to be a living document and will
continuously be updated as the Oracle BPM solution evolves. The audience of this paper are
business analysts and business process modelers.
A business process is a set of coordinated tasks and activities, involving both human and
system interactions, that will lead to accomplishing a set of specific organizational goals. A
business process produces outputs and consumes inputs and is constrained by business policies
and business rules. A business process is defined by the following charectestics:
spread sheets and other forms of documentation were used to document and communicate
business process models and business requirements to IT. These tools are at best static
representations of business requirements and hence are not suited for rapid prototyping .
Miscommunication between business and IT people can lead to projects that might seem
successful from an IT-delivery viewpoint, but are considered business failures as they fail to show
business value. Oracle has addressed this issue by innovatively integrating the Oracle BPA Suite
the modeling tool with Oracle SOA Suite - the execution and monitoring environment. The
modeling and the IT IDE are integrated through a shared meta model and this unique valuegenerating approach enables both business and IT to work parallely and yet be in sync with each
other.
Automatic translation of business requirements in to BPEL processes: Once
business decides that a process model is ready for sharing, IT can access and edit it
from within their environment. Rich process definitions get generated from the model
promoting rapid and meaningful process automation and reducing the strategy to
implementation gap by translating the business requirements directly in to almost ready
to deploy BPEL process definitions.
Alignment of business model and IT process: The executable process is always in
lock step with the business process model. Business users can create and change
business models in the Oracle Business Process Analysis Suite while IT users can view
and modify these processes in parallel using the Process Designer component of the
Oracle SOA Suite.
Empowerment of both Business and IT: Business level changes can automatically be
merged with any changes done by the developers to ensure that the implemented
process is inline with the expectations of the business users. Further, IT can make
changes to the business flow that then become visible in the business tool and these
changes can be selectively incorporated to produce new versions of the business
process model.
The Architect is a versatile tool and can be used by business users of varying skill sets.
The tool provides a pre-defined set of perspectives also known as filters and easily allows
creating new perspectives as well.
Oracle Business Process Publisher is used for publishing Business Process Models to
a process portal and offers role-based and secure access to process content. This
fosters collaboration among the various team members and promotes sharing and review
of process models on an enterprise wide scale.
Benefits
Oracle BPA Suite provides the following benefits:
Oracle BPEL Process Manager (Execute) Oracle BPEL Process Manager is the
Process Execution engine for the Oracle BPM solution. It provides a comprehensive,
standards-based and easy to use solution for creating, deploying and managing
composite business processes with content, automated and human workflow steps all in
a Service Oriented architecture.Its native support for standards such as BPEL, XML,
XSLT, XPATH, JMS, JCA and Web Services makes this an ideal solution for creating
integrated business processes that are truly portable across platforms. The Oracle BPEL
Process Manager supports the following:
Human interactions:
The Oracle Process execution component has comprehensive support for human
participation in end-to-end processes. The human workflow features include a rich rolebased customizable work-list application, out of the box workflow patterns for
sophisticated routing and assignment, extensive support notifications and escalations
policies, and easy to use declarative modeling. The Task services created are reusable
across multiple business processes as well. The Work-list application can generate
various reports to monitor and optimize work execution. Reports may include work items
needing attention, current work loads and distributions, cycle times, and productivity.
Reports include data based on the user profile: supervisor reports include data for their
staff, etc. In addition to routing modeled in the process diagram, Oracle BPM supports
routing patterns suited for human to human workflows. Such support includes the ability
of participants to invite other participants, request information from other participants,
delegate or reassign tasks to other participants. These capabilities available at run time
may be restricted in the process model, if appropriate
Content interactions:
Oracle BPM enables both structured and unstructured interactions between human
participants. Participants may add comments and attachments to a Task that are then
available to all other participants. Documents in Content Management system may also
be used for structured communication. Oracle BPM also brings in discussion forums and
other unstructured communication such as chat, voip, etc.
System interactions:
The Oracle Process execution component has comprehensive support for system
integration in end-to-end processes. It provides a plug-and-play, standard-based
infrastructure for exposing systems as services and orchestrating these services into
easy-to-change process flows. It can be used to deliver both composite applications (web
service orchestration, J2EE process flows) and data integration applications via 300+
connectivity solutions and integrates with Partners via B2B connectors.
Oracle Business Rules, a rule design tool and inference engine to capture business
policies. The Business Rules component of the Oracle BPM Platform is a highperformance inference based Rules Engine and enables business rules to be explicitly
specified and managed by business users in a declarative fashion (that is statements vs.
procedural logic). The Rules Engine is based on industry standard Rete algorithm
(http://en.wikipedia.org/wiki/Rete_algorithm).
Oracle BPM includes best-in-breed tools for both business and IT, with unparalleled
depth in both areas. The Oracle BPA Suite is the modeling tool targeted at business users and
Oracle SOA Suite is the execution and monitoring platform targeted at IT developers.
Traditionally, such attempts to bring together best-in-breed tools for analysts and IT have been
plagued by broken round-tripping between modeling and implementation. The process model is
not just a business requirements specification meant for one-time hand off from business to IT.
The process models change vividly along with the frequently changing business requirements
and the business process model must be a continuous view of the implementation. Changes to
business process model must immediately be reflected in the implementation and any changes in
implementation that affect the business flow must be reflected back in the business process
model. Oracle has defined a shared meta-model between the analyst tooling and developer
tooling named Process Blueprint for synchronization of business and IT models throughout the
business process life-cycle . This unique approach enables both business and IT to work off a
shared process definition.
BPM is a journey that starts with baby steps. It demands maturity within the company to
handle process evaluation and evolution while keeping up with the demands of the day-to-day.
Once processes are broken into activities, each activity needs to be taken up in detail,
defining the 'role' that will execute the action, the 'input data(s)' and output data(s) associated
with the activity, whether the data will be manually entered or electronically picked up. The
following aspects are captured at the detailed process level:
Simple graphical tool such as Visio provides a static representation of a business process
and does not promote reuse. The Business Architect component of the Oracle BPA Suite
provides a graphical tool for capturing business processes. The Business Architect provides
a shared understanding of business processes, encourages a common and well understood
process vocabulary and promotes reuse and validation of process artifacts. In addition, the
Architect can be used in the analysis and simulation of business processes to identify
potential problems before the implementation of the models. The Business Architect can be
used to capture the following aspects of a business process
Process flow: sequence of activities from start to end along with their interdependencies
and inter-relationships.
Activity description : Define the various steps in the process, human (data manually
entered) versus system (data electronically picked up)
Forms : Business user interfaces and page flows.
Data flow: inputs and outputs for each of the activity mapped as part of activity flow.
Business rules: business policies and conditions governing the flow of business process
Participants: A person, a group of persons, or a system who participate in the activities
Message flow: messages sent to and received from other processes
Simulation : parameters such as processing time, cost and resource allocation for the
various activities
Business Exceptions and Alternative tasks: Business Exceptions are created when
processes break and if not addressed, exceptions will reduce operational profitability and
can become obstacles to organizations realizing their vision of fast, efficient error-free
processes. Hence it is key to model the alternative tasks that get triggered when
business exceptions occur in the process.
As you drill down in to the different layers of the business process, you develop a much
deeper understanding of the operation of the end to end business process . At the same time, IT
gains a more sophisticated understanding of the business processes they are supporting.In
addition, business managers develop a better understanding of how technologies can support
their needs,and this in turn increases their abilities to suggest targeted changes that better
supports their needs.
Note : The Oracle BPA Suite includes a business repository for storing the process content.
Multiple users can access and work concurrently on the process content and simultaneous
access of several users to the same model is provided via implicit check-in and checkout
capabilities.
The business process models are abstract and have to be implemented before they can
be realized.In the Oracle BPM lifecycle, the business process models are not just meant for
documentation purposes, but also is the starting point for implementation. Once business decides
that a specific version of the process model is ready for implementation, a corresponding Process
Blueprint is generated inside the Architect and saved in the Business Process Repository. The IT
developer can access these Blueprints by connecting to the Business Repository within the IT
tool and uses it as a starting point to create executable BPEL model. The IT developer is
presented with two views inside the Oracle BPEL Process Designer: the Blueprint view
showcasing the BPMN based business process and the BPEL view showcasing the executable
BPEL model. BPEL artifacts get automatically generated from the Blueprint promoting rapid and
meaningful process automation and reducing the strategy to implementation gap by translating
the business requirements directly in to almost ready to deploy BPEL process definitions. The IT
developer can then complete and deploy the BPEL model on top of the Oracle BPEL Process
Execution engine.
The sharing of Business Process Model with the IT developer is not a one time hand-off
but rather iterative in nature. Business can continuously refine and enrich the process models
while at the same time preserving business-IT alignment via the shared metadata Process
Blueprint. The executable process is always in lock step with the business process model
throughout the process life cycle. The IT developer gets real-time alerts upon creation of new
versions of the Process Blueprint and can view and modify these processes in parallel using the
BPEL Process Designer component of the Oracle SOA Suite. Business level changes can
automatically be merged with any changes done by the developers to ensure that the
implemented process is inline with the expectations of the business users. Meaningful
implementation work done by the IT is preserved during the merge process promoting rapid
development and prototyping. In addition, IT developer can make changes to the buisness flow
inside the Blueprint view and these in turn gets reflected in the Business Architect tool when the
executable BPEL model is saved to the Business Repository. Business user can review these
changes and incorporate them in to the business process model to produce a newer version.
8. Deploy and test
The IT developer deploys and test the executable processes on top of the Oracle BPEL
Process Manager. The Oracle SOA platform enables automated testing of executable processes
(derived from the process models) by simulating services, providing code coverage analysis and
supporting assert activities.
9. Monitor and Manage
The deployed and running processes can be managed using Oracle Application Server
Control and monitored using Oracle BAM. Oracle BAM provides real-time visibility and captures
business metrics in real-time from business processes, systems and other sources to gain
visibility and analyze performance. This gives business executives the ability to constantly
measure actual performance, monitor service level agreements (SLAs) across various services
and business processes in the enterprise. The tool allows correlation of the key performance
indicators (KPIs) with the option of drilling down to the actual business process themselves if
desired. Business managers can understand process bottlenecks and process delays very
effectively using dashboards and can take corrective action if the business environment changes.
The Oracle BPA Suite offers different types of models to capture the different process
artifacts and their relationships. There are about 200+ models and each model type comes with
its pre-defined symbols, diagram types and relationships that have business connotation. This
might seem daunting but the tool can be greatly dumbed down using Filters. Filters allow the
users to select the model types, the objects within those model types as well as the possible
relationships between those modeling objects. The tool comes with pre-defined Filters and the
Oracle BPA Filter is the recommended filter for the Oracle BPM lifecycle. It is also the default
filter.
Guideline: Consolidate functionally related activities in to a single activity. The below figure
illustrates this.
You can specify goals and objectives and associate them with the processes using the
Objective diagram model type. Objective diagram is a model type that is used to represent the
objectives in a hierarchical fashion. Following figure shows an Objective diagram model for the
Global Company Quote to cash process.
You can also capture risks and controls associated with a process using a Business
controls diagram model type. The following figure shows an example of risk and control model
with swinlanes representating different perspectives.
Guideline: Keep the level of abstraction high in the main process. For example, the Order
Fulfillment process could have been modeled as:
One process may need to invoke another process owned by a different organization.
A business process may simply be too big and hence it may be necessary to chunk or
break up a complex process into manageable sub-processes.
Process logic that is common across processes can be incorporated in to a sub-process
to promote reuse.
The sub-processes need to be linked together such that the output of the one becomes the input
of the other. Using a combination of top-down and bottom-up approaches, map out the entire end
to end process in detail. Steps in the main process drill down in to many levels of child processes
(sub-processes). Hence you could have multiple levels of process hierarchy.
The below figure shows the Modeling Pyramid and the model types recommended for the
different levels.
The conceptual levels do not get realized as implementation flows and they lead to more detailed
flows. The detailed process flows gets realized as implementation processes.
You can also create an organizational chart using the Organizational Chart model type.
You can design very rough overview models or detailed models depending on what you intend to
derive from this exercise. The Organizational chart model type allows you to capture positions,
persons, person type (role), group, organizational units as well as relationships among yhese
objects. The following figure shows a detailed Organizational chart.
The Business Architect also supports Service Discovery. You can browse for Service
definitions (WSDLs) and associate them with the Application System Type object.
You can create a Services folder under the Main folder to hold Business Service objects.
Right-click on the folder and select SOA/Import Service Decription option. The Service
descrtiption wizard allows you to define the Service requirements and to browse for the
WSDL.
2. An Order is created and inserted into the Order Processing System. The status of the
Order is set to Pending. The Input is the Quote and the output is the Order. This is
an automated step.
3. The complete Customer record is retrieved by invoking the Customer service. Input is the
customer name and output is the Customer record.
4. Credit check is then performed by invoking the Credit Rating Service. Input is the
Customer record. Output contains the Credit Rating information.
5. The Order is further manually approved by the Supervisor.
6. If the order is approved, it is sent to Order Fulfillment. If the order is not approved, the
order is canceled and a notification is sent to the customer regarding order cancellation.
(b) Merging mutually exclusive paths without the XOR Data Gateway. You can also have 3 End
events completing the 3 paths.
6.5 Loops
Lets build on the BPMN process defined in section 5.1 and introduce loops as well as conditional
branching. The Process Quote process defined in section 5.1 does not take in to
consideration that the Approve Quote step has 2 possible outcomes. The Quote can be
approved or rejected by the Sales Executive. If the Quote is rejected, the Sales Rep has to redo
the Quote. If it is approved, the Quote needs to be sent to the Customer for his approval. So,
there are 2 possible paths that can be taken after the Approve Quote step.
So far we have looked at modeling happy paths and have not addressed Business Exceptions.
Business Exceptions provide visibility in to the alternative paths that need to taken if the happy
path results in an error. It is key to model business exceptions especially if you intend to perform
simulation of your business process models as some business exceptions result in a significant
degradation in performance. In our example scenario, in the Process Quote sub-process, the
Cancel Quote path should throw an error that needs to be caught in the main process, the Quote
to cash process and the Quote to cash process should terminate and not proceed further to
Process Order sub-process. Place an Error End Event Cancel Quote
and connect it to the Reject Quote - path. The Accept Quote - path has a normal End event.
The error event thrown by the Process Quote sub-process now needs to be caught in the
Quote to cash main process. The section of the sub-process that throws the error event to the
main process is captured in the below figure.
The below figure shows the error being caught in the main process.
You can also model exceptions thrown at the activity level and the associated exception flow
path. The following figure shows business exceptions at the activity level in the Process
Order process. The Create Order Automated activity throws a timeout exception if there
is no response within 20 minutes and a bad data error if the input to the Create Order
activity does not contain the required fields. The exception path consists of Enter Order
Manually Human activity where the Order is entered manually by the Fulfillment Clerk.
Similarly, the Get Customer Information Automated activity can throw an exception when
the Customer is not present in the Customer system. The exception path consists of a human
step to create a new Customer record.