Oracle® Business Process Architect Quick Start Guide
Release 10.1.3.3
E10030-01
  Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
 

5 Developing Business Processes Using Oracle BPA

This chapter describes how to develop business processes using Oracle BPA. It includes the following sections:

5.1 Understanding the Global Company Sales Processes Case Study

This chapter uses a case study to illustrate the process of developing business processes. The case study focuses on the sales process for Global Company.

Global Company sells electronics, such as MP3 players and televisions, to consumers using a Web-based client application. The core Sales processes consist of Quote process, Order booking & shipping process and Invoice process. The business processes have been simplified and the focus is on understanding the various method objects and does not truly represent all the complexities inherent in a business process.

First step is to identify the core business processes for the Global Company Sales organization. Second step is to define the business goals for these core business processes. The Value Added Chain diagram is used to identify the functions within a company which are directly involved in the creation of a company's added value. These functions can be interlinked by creating a function sequence which together form a value-added chain. The Global Company core sales processes are:

Table 5-1 Descriptions of Processes and Goals

Process Name Goals

Quote Process

Minimize over promise and under pricing

Order Booking & Shipment Process

Reduce cycle time and improve quality

Invoice Process

Maintain adequate cash flow and improve Days of Sale outstanding.


5.1.1 Quote Process Flow

The overall process flow for the Quote system is as follows:

  1. Convert Customer Inquiry into a New Quote document after validation. This contains Customer information and requirements. A Sales Representative gets assigned to the Quote document and he is the owner for the Quote document throughout the Quote process.

  2. Identify product solutions that satisfy customer requirements. Add the solution details to the Quote document. The Sales Representative collaborates with the Sales Consultant and Product Managers to achieve this step. The Sales Representative also interfaces with the Product Catalog System to identify the Product Solutions available.

  3. Update the Quote document with the pricing information for the Solution. The Sales Representative performs this by consulting the Pricing Management System.

  4. Apply discounts depending on the size of the deal and the preferred status of the Customer. Platinum customers are offered more deep discounts than the Gold or Silver customers. The Sales Representative performs this by interfacing with the Discount Matrix System.

  5. Quotations above $50,000 need approval from a Sales Manager.

  6. Once approved by the Sales Manager, the Quote Document is updated with the discounted pricing and is forwarded to the Customer.

5.1.2 Order Booking and Shipment Process Flow

When an order request from the customer arrives, the following occurs:

  1. A Purchase Order is created and inserted into the Order Processing System. The status of the Order is set to "Pending". The Input is the "Quote" document and the output is the "Purchase Order".

  2. The Customer information (ID, name, address, credit card information) is retrieved from the CRM system. Input is the customer name and output is the Customer data.

  3. Credit check is then performed for the customer and the credit service returns the credit rating. If credit is not approved, an order-cancelled notification is sent to the Customer and the Sales person and the order booking process ends. Input is Customer and output is Credit Rating.

  4. If credit is approved, the process evaluates Business Rules to determine if the order requires approval by management. The Business Rule states the following:

    1. If the customer has a Platinum status, then no manual approval is required.

    2. If the customer has a Gold status, then manual approval is only required for orders over $1000.

    3. If the customer has a Silver status, then manual approval is required for all orders, regardless of the order amount.

  5. For those orders requiring manual approval, the human workflow step is required, which routes a message to a manager.

  6. If the order is approved, it is sent to Order Fulfillment. Once the order is fulfilled, the process sets the order status to complete, and sends a notification to the customer via email with the purchase order information.

5.1.3 Invoice Process Flow

When an invoice is required, the following occurs:

  1. Once Order acknowledgment notification is received from Customer, the next step is to Book Withdrawal of Good to correct Inventory.

  2. An Invoice is then generated and sent to the Customer for payment.

5.2 Creating a Business Process Model

Creating the Order Booking and Shipment Business Process Model is explained in detail. The Sales and Invoice processes can be created in the same way.

5.2.1 Creating a Project

The first step in creating a business process model is creating a project in Oracle Business Process Architect.

5.2.1.1 Starting Oracle Business Process Architect

It is assumed that you installed Oracle BPA Suite in the directory and program group suggested by the installation program.

  1. From Windows, select Start > Programs > Oracle BPA Suite > Oracle Business Process Architect.

  2. On the Oracle BPA start page, select With Designer from the options displayed in the How do you want to start ARIS next time? section.

5.2.1.2 Setting the Filter

A filter is used to limit which model types are available.

  1. Select on View/Options.

  2. Click on Log in the left panel of the Options dialog.

  3. Click on the ellipsis (...) button next to the Filter field.

  4. Select the Server, e.g. LOCAL.

  5. Select Oracle BPA Filter as the filter name.

  6. Click OK.

  7. Click OK to apply this filter as the default setting.

5.2.1.3 Creating a Database

If you are not restoring the QuoteToCash_Quickstart.adb to Oracle BPA, you need to create a database to save the data you will generate while working through this guide.

  1. Click Administration in the Modules pane of Oracle BPA.

  2. Expand the LOCAL server node in the Oracle BPA network tree in the tree view by clicking the plus sign in front of the LOCAL server to connect to the server and display the hierarchical structure of the Oracle BPA Suite network.

  3. Right-click on LOCAL and select New/Database.

  4. Enter QuoteToCash_QuickStart as the database name in the Create Database dialog box.

  5. Enter the username and password for the user you want to use for this database.

  6. Select the "Entire Method" filter then click OK.

5.2.1.4 Creating Folders

  1. Click Designer in the Modules bar to use the Designer module.

  2. Click on the plus sign in front of the "QuoteToCash_QuickStart" database.

  3. Right-click on the Main group and select New > Group.

  4. Create "Global Company" folder under "Main group" folder then create the following under "Global Company":

    • "Business Processes" group for business processes.

    • "Business Data" for business data.

    • "IT systems" for IT and Application systems.

    • "Org Structure" for the organizational chart.

Figure 5-1

Folder structure in Oracle BPA: Global Company contains Business Data, Business Processes, IT Systems, Org Structure, WSDL Imports, XSD Imports.

5.2.2 Capturing the Core Business Processes

Before defining lower level business information in models such as the Event Process Chain diagrams, you should first define the core business goals and processes on a value-added chain diagram. This is primarily used to represent a company's process map. The process map provides an overview of the processes in a company, and therefore represents an ideal starting point for looking at business processes.

The value-added chain diagram is used to identify the functions within a company that are directly involved in the creation of a company's added value. These functions can be interlinked by creating a function sequence and thus form a value-added chain.

5.2.2.1 How to Create a Value-added Chain Diagram

  1. Create a "Sales Processes" folder under the "Business Processes" folder.

  2. Right-click the "Sales Processes" node and select New > Model.

  3. Select the Processes module in the Create model dialog.

  4. Select "Value-added chain diagram" from the Model types list and enter "Global Company Core Sales Processes" in the Name field.

    Figure 5-2 Value Added Chain Diagram Creation

    Create model dialog, with Value-added chain diagram selected, and the name "Global Company Core Slaes Processes"
  5. Create the following objects on the Value Added Chain diagram by selecting them in the Symbols Palette and then clicking on the diagram.

    Table 5-2 Creating Objects from the Symbols Palette

    Model Object Purpose

    Value added chain object


    A closed Value Added Chain object for the "Global Company Sales Process".

    Open value added chain object


    Open Value Added Chain objects for the "Quote", "Order Booking & Shipment", and "Invoice" processes.

    Connection object


    Connection objects to link "Global Company Sales Process" with the "Quote", "Order Booking & Shipment", and "Invoice" processes

    Objective object


    Objective objects for "Minimize over promise under pricing", "Reduce cycle time while improving quality", and "maintain adequate cash flow and improve DOS outstanding".


  1. Create Connection objects to link "Quote" and "Minimize over promise under pricing", "Order Booking & Shipment" and "Reduce cycle time while improving quality", and "Invoice" and "maintain adequate cash flow and improve DOS outstanding".


Note:

Only one relationship, a "belongs to" relationship, can exist between an Objective and a Value Added Chain diagram.

Figure 5-3 Completed Value Added Chain Diagram

Completed value added chain diagram

5.2.3 Creating an Process

In this section you can create the Order Booking and Shipment BPMN process.

  1. Click Designer in the Modules bar to use the Designer module.

  2. Expand the LOCAL > QuoteToCash_QuickStart > Main group > Global Company > Business Processes in the Explorer tree.

  3. Right-click Sales Processes and select New > Group.

  4. Create "Quote Process", "Order Booking" and "Invoice" group folders in Sales Processes as shown in Figure 5-4.

    Figure 5-4

    Folder structure in Oracle BPA, Business Processes Node contains Sales Processes Node, which in turn contains: Invoice, Order Booking, and Quote Process.
  5. Right-click the Order Booking folder and select New > Model.

  6. Select the Processes module in the Filter diagram of the Create model dialog (as shown in Figure 5-5).

    Figure 5-5

    Create model dialog with Business process diagram (BPMN) selected, and the name "Order Booking Shipment Process"
  7. Click the Business process diagram (BPMN) model type and enter "Order Booking & Shipment Process" in the Name field.

  8. Drag a Start event from the Symbols palette and drop onto the diagram. If Start event is not displayed, click >> in the Symbols palette and add the Start event from the Add Symbols dialog.

  9. Drag an Automated Activity from the Symbols palette and drop onto the diagram. Enter "Create Customer Order" as the name for the activity.

  10. Properties of Create Customer Order activity are displayed.

  11. Select "Invoke" in the Represented by field.

  12. Enter "Order Process System" in the Service name field.


    Note:

    The Order Processing System object is created under the same group as the Order Processing & Shipment Process BPMN model. the object is of the Application System type, and represents a Business Service.

  13. Enter "Quote" in the Input field.

  14. Enter "Purchase Order" in the Output field.


    Note:

    The "Quote" and "Purchase Order" objects are created in the same group as the BPMN model. Both objects are of Technical Terms and represent Business Data. They represent the input and output messages of the Business Service.

  15. Repeat steps 9 to 15 to create an Automated Activity for "Get Customer Information" as shown in Figure 5-6.

    Figure 5-6

    Automated Activity properties for "Get Customer Information"
  16. Repeat steps 9 to 15 to create an Automated Activity for "Check Customer Credit Info" as shown in 5-7.

    Figure 5-7

    Automated Activity properties for "Check Customer Credit Info"
  17. Drag a Gateway activity from the Symbols palette and drop onto the diagram to indicate a switch activity.

  18. Double-click the Gateway activity to display the Properties wizard.

  19. Enter "Evaluate Credit Rating" as the Name of the activity.

  20. Select Attributes in the Selection tree then click More attributes. to display the Insert attributes dialog.

  21. Select Operator type and click OK.

  22. Select "XOR" in the Operator type field.

  23. Drag Intermediate events from the Symbols palette onto the diagram for the two outcomes ("Good Credit Rating" and "Bad Credit Rating") from the Evaluate Credit Rating Gateway activity. If Intermediate event is not displayed, click >> in the Symbols palette and add the Intermediate event from the Add Symbols dialog.

  24. Create connections from the Gateway-XOR activity to the "Good Credit Rating" and "Bad Credit Rating" events.

    Figure 5-8

    Gateway-XOR for good and bad credit ratings.
  25. Drag a Notification activity from the Symbols palette and drop onto the diagram below the "Poor Credit Rating" event. Enter "Order Cancelled due to Poor Credit Rating" then create a connection from the event to the Notification activity. Enter the details shown in Figure 5-9.

    Figure 5-9

    Notification activity properties for "Order cancelled due to poor credit rating"

    Note:

    A Customer object of "Person Type" is created under the same group as the BPMN process. Person Type represents a Role.

  26. In the Extended properties, enter "Sales Representative" in the CC field, and "Attach purchase order to email" in the Attachment field.


    Note:

    A Sales Representative object of "Person Type" is created under the same group as the BPMN process.

  27. Drag a Human Task from the Symbols palette and drop onto the diagram below the "Good Credit Rating" event. Enter "Approve Order by Sales Manager" for the Human Task name then create a connection from the event to the Human Task. Enter the details show in Figure 5-10.

    Figure 5-10

    Human Task properties for "Approve customer order by Sales Manager"
  28. Click Add in the Assignee group to specify which roles need to perform the human task.

  29. Enter "Sales Manager" in the Assignees field then click Add. More than one assignee can be entered for a task. A "Sales Manager" object of "Person Type" is created in the same group as the BPMN process.

    Figure 5-11

    Assignee dialog
  30. In the Extended properties for the Human Task, do the following:

    • Enter "Approve Purchase Order for non-platinum customers" in the Title field.

    • Enter "Remind every day" in the Notification/Reminder field.

    • Click the ellipsis (...) button next to the Owner field and select "Sales Representative" (this role has already been created).

    • Click the ellipsis (...) button next to the Task parameters field and select "Purchase Order" (this business term has already been created).

    • Click the ellipsis (...) button next to the Attachment field and select "Customer" (this business term has already been created).

  31. Drag an Automated Activity from the Symbols palette and drop onto the diagram. Enter the Name "Fulfill Order" then enter the details for the activity as shown in Figure 5-12.

    Figure 5-12

    Automated Activity properties for "Fulfill Order"
  32. Drag a Notification Activity from the Symbols palette and drop onto the diagram. Enter the Name "Notification regarding Order Shipment" then enter the details for the activity as shown in Figure 5-13.

    Figure 5-13

    Notification properties for "Notification regarding Order Shipment"
  33. Define the Extended properties of the notification activity as shown in Figure 5-14.

    Figure 5-14

    Extended Notification properties
  34. Drag an Automated Activity from the Symbols palette onto the diagram. Enter "Update Order Status" in the Name field. Select "Invoke" in the Represented by field, enter "Order Processing System" in the Service name field, then select "Purchase Order" for both Input and Output fields by clicking the ellipsis buttons for those fields.

    Figure 5-15

    Automated Activity properties for "Update Order Status"
  35. Drag an End event from the Symbols palette and drop onto the diagram. Rename it to "Order Booking Complete". If the End event is not displayed, click >> in the Symbols palette and add the End event from the Add Symbols dialog.

5.2.4 Creating Organizational Structure and Roles

An organization chart records the structures and roles within an organization, and relationships between those roles. Roles defined in the organizational chart are used in other diagrams to ensure tasks and responsibilities are assigned consistently.

5.2.4.1 Identifying Roles

Roles generalize the functions performed in a business. Typical roles could include:

  • Customer - When a new customer registers, the Customer Registration process inserts the customer's information by interfacing with the CRM system. When a registered customer attempts to place the order, the customer service application (CustomerService) is invoked and provides authentication. Customers expect that the Orders will be processes within a week.

  • Sales Representative - Part of the Sales Organizational Unit. Interfaces with the Customer and processes the Quote Requests and Order Requests.

  • Sales Manager - Part of the Sales Organizational Unit and manages a team of Sales Persons. Is used for approving Quotes and Sales Orders > $50,000.

  • Sales Director - Part of the Sales Organizational Unit and manages the Sales Division for a particular geographic region.

5.2.4.2 How to Create an Organizational Structure

  1. Click Designer in the Modules bar to use the Designer module.

  2. Expand the LOCAL > QuoteToCash_QuickStart > Main group > Global Company in the Explorer tree.

  3. Right-click "Org Structure" and select New > Model.

  4. Select the Organizational module in the Filter diagram of the Create model dialog (as shown in Figure 5-16).

  5. Click Organizational Chart model type and enter "Global Company Organizational Structure" in the Name field.

    Figure 5-16

    Create model diagram with Organizational Chart selected and the Name "Global Company Organizational Structure"
  6. Drag Organizational Units from the Symbols palette and drop onto the diagram to represent the various departments in Global Company. create the Organizational structure shown in Figure 5-5.

  7. Drag Connection objects from the Symbols palette and drop onto the diagram to link the various Organizational Units.

    Figure 5-17

    Organizational chart for Global Company

    Select the Relationship type "is composed of" when linking a a parent Organization Unit with a child unit.

    Figure 5-18

    Relationship properties for Global Company organizational chart
  8. Repeat steps 1 through 5 to create another organizational chart, this time enter "Global Company Sales Division" in the Name field.

  9. Drag the Organizational Unit, Position, Internal Person and Person Type from the Symbols palette and drop onto the diagram to create the Organizational structure shown in Figure 5-19.

    Figure 5-19

    Organizational structure for "Americas Sales unit"

    Choose the relationship type ÒperformsÓ between the Internal Person and the Person Type object. Choose the relationship type Òis organization manager forÓ to define the relationship between Menon (Internal Person) and the Regional Sales Manager (Position) objects. Choose the relationship type Òhas memberÓ to define the relationship between Clara (Internal Person) as well John (Internal Person) objects and Sales Rep (Position) objects. Use the Connection Property wizard to display the relationship types information on the business process diagram as shown in Figures 5-20 and 5-21.

    Figure 5-20

    Relationship properties for Americas Sales unit organizational structure

    Figure 5-21

    Relationship properties for Americas Sales unit organizational structure

Figure 5-22

Assignments dialog

5.2.5 Linking Two Models Using Assignments

The following steps describe how to link two models (Global Company Organization Unit and Global Company Sales Division).

  1. Open the global Company Organization Structure diagram.

  2. Right-click the Sales Organization Unit on the diagram.

  3. Select Assignments.

  4. Click New to create a new assignment.

  5. Select "Existing Model" and "Organizational Chart" then click Next.

    Figure 5-23

    Assignments wizard
  6. Select "Global Company Sales Division" model then click OK.

    Figure 5-24

    Assignments wizard

5.2.6 Defining Your Business Data

Defining the business data, or "technical terms", used by a business is essential to defining the overall operation of a company. As well as the terms themselves, Oracle BPA can also record any synonyms for terms, and relationships between terms.

For example, the purchasing department may perceive an "Order" as something completely different to the Shipping department.

Multiple technical terms can be assigned to every information object of the data model.

The technical terms defined in the technical term model can also be used in other model types that contain information objects, for example in process chains for illustrating a function's input/output data.

5.2.6.1 How to Create a Data Model

  1. Click Designer in the Modules bar to use the Designer module.

  2. Expand the "LOCAL > QuoteToCash > Main group > Global Company > Business Data" in the Explorer tree.

  3. Right-click "Business Data" and select New > Model.

  4. Select the Data module in the Filter diagram of the Create model dialog (as shown in Figure 5-25).

    Figure 5-25

    Create model dialog with Technical terms model selected
  5. Click Technical terms model type and enter "Global Company Data" in the Name field.

  6. Drag the Technical Terms from the Symbols palette and drop them onto the diagram to create the Global Company Data as shown in Figure 5-26.

    Figure 5-26

    Technical terms for Global Company

5.2.7 Creating an IT Systems Model

IT systems and abstract business services to be used in your business are captures on an Application System Type diagram.

5.2.7.1 How to Create an IT Systems Model

  1. Click Designer in the Modules bar to use the Designer module.

  2. Expand the "LOCAL > QuoteToCash > Main group > Global Company > IT Systems" in the Explorer tree.

  3. Right-click IT Systems and select New > Model.

  4. Select the Function module in the Filter diagram of the Create model dialog (as shown in Figure 5-8).

    Figure 5-27

    Create model dialog with Application System Type Diagram selected
  5. Click Application system type model type and enter "Global Company IT Systems" in the Name field.

  6. Drag the Application System Type (AST) from the Symbols palette and drop onto the diagram to create the Global Company IT Systems as shown in Figure 5-28.


    Note:

    You can drag and drop Application System Types into other Application System Types.

    Figure 5-28

    Application System Type daigram for Global Company

5.2.8 Creating the Process Blueprint

  1. Select File > Save all.

  2. Select SOA > Share Blueprint with IT from the main menu.

5.3 Simulating and Analyzing the Process Model

Oracle Business Process Simulator is used for process analysis and process optimization. The Simulator supports Discrete Method for simulation purposes. This section explains how to set simulation parameters, perform simulation runs and interpret results.


Note:

Simulations must be run on EPC models. To create an EPC model, follow the instructions in section 5.2.6 Creating a Process, creating an EPC model in place of a BPMN model, then complete the instructions.

5.3.1 Setting Simulation Properties

  1. Select Properties in the toolbar to set the simulation properties in the Properties window appears.

    Figure 5-29

    Properties checkbox selected in the toolbar
  2. Select the Start event on the diagram and set the Frequency attribute for the Start event.


    Note:

    If the Frequency attribute you need is not displayed, click More attributes in the Properties window and select the Frequency attribute you require from the tree structure.

    Figure 5-30

    Attributes properties
  3. Hold down CTRL and select all Automated activities, Human Task activities and Notifications on the diagram.

  4. Press F8 to display the Attributes table for all activities.

  5. Select Business Simulator attributes in the Attribute tree and set the Processing time attributes for all the activities as shown in the following figures.

    Figure 5-31

    Simulator properties

    Figure 5-32

    Simulator properties

    Figure 5-33

    Simulator properties
  6. Set the Probability attribute for switches (XOR gates) as shown in the figure below.

    Figure 5-34

    Probability attribute for switches (XOR gates)

    Figure 5-35

    Probability attribute for switches (XOR gates)
  7. Select View > Options on the main menu.

  8. Open the Simulation section of the Selection tree and set the properties as shown in the figures below.

    Figure 5-36

    Simulation section of the Selection tree

    Figure 5-37

    Simulation section of the Selection tree

    Figure 5-38

    Simulation section of the Selection tree

    Figure 5-39

    Simulation section of the Selection tree
  9. Click OK.

5.3.2 Starting a Simulation

  1. Select the Order Booking Process in the Explorer tree and click the Start simulation button (Figure 5-40) on the main toolbar.

    Figure 5-40

    Start simulation toolbar button
  2. The Simulation page for the Order Booking Process is displayed.

  3. Click the Play button to run the simulation.

    Figure 5-41

    Simulation output