Skip Headers
Oracle® BPEL Process Manager Order Booking Tutorial
10g (10.1.3.1.0)

Part Number B28987-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1 Introduction

This tutorial describes how to design and execute a sophisticated process that uses synchronous and asynchronous services, parallel flows of execution, conditional branching logic, fault handling and exceptions management, transformations, file adapter and database adapter functionality, and human workflow, notification, and sensor functionality.

This chapter contains the following topics:

Note:

This tutorial assumes you have installed the Basic Install installation option of Oracle Application Server SOA Suite 10.1.3.1.0 on a supported Windows operating system. See the Oracle Application Server Installation Guide 10g Release 3 (10.1.3.1) for your operating system for instructions.

1.1 Order Booking Introduction

GlobalCompany is a large original equipment manufacturer (OEM) that sells assembled widgets and widget parts to their customers through multiple sales channels, including:

GlobalCompany uses a virtual inventory business model. GlobalCompany has contract suppliers who build and distribute their products. Their core business expertise is product design and product marketing.

GlobalCompany currently deals with two primary suppliers for their order fulfillment, based on order size and geographic location:

1.1.1 Business Problem

GlobalCompany cannot provide the same services and responses to all customers, irrespective of the channel of order placement and order type.

GlobalCompany has seen sales increase but profit margins fall for the last two quarters and has decided to immediately implement stronger control mechanisms.

GlobalCompany wants their suppliers to compete for business rather than using the current system of fixed quotas and allocations.

1.1.2 Business Goal

GlobalCompany has the following goals:

  • Consistent order booking and fulfillment across all sales channels

  • Suppliers must bid on all orders and the lowest-priced supplier must be awarded the order

  • The ability to override orders approved for fulfillment when margins are low, based on supplier bids

  • Completely automated order booking that uses the existing systems and applications

  • Automated ability to send an outgoing purchase order acknowledgment to a customer

  • The ability to send an e-mail notification to confirm receipt of an order

1.1.3 Business Solution

GlobalCompany decides to use Oracle BPEL Process Manager to create an order booking composite application. GlobalCompany uses the Oracle Applications Server platform to enable service-oriented architecture (SOA) in their enterprise.

Oracle BPEL Process Manager is used to implement a business process that receives orders placed to the company through any channels. The same process orchestrates all the existing services in the enterprise for order fulfillment with the right supplier, based on the business rules in the process.

Figure 1-1 provides an overview of this solution:

Figure 1-1 Order Booking Tutorial Overview

Description of bptut001.gif follows
Description of the illustration bptut001.gif

  1. The OrderBooking process receives sales orders from the following:

    • B2B systems

    • Web systems

    • New customer resource management (CRM) applications

    • Old legacy order capturing systems through files

  2. The customer is identified from the order and checked against the existing Credit Rating service. The credit check system returns the relevant rating for the customer.

  3. The order's line items are passed to the two suppliers for their price quotes. Select Manufacturing normally quotes lower prices because it is a direct manufacturer, but has slow turnaround times for a response. Rapid Distributors has an automated response service for price quotes and responds in seconds, but normally quotes higher prices. Both suppliers should respond within thirty minutes. Because of business confidentiality, the order's end user details (customer contact, phone number, e-mail address, and so on) are not sent to the two suppliers. Only the part of the order that is relevant to quoting a price is sent.

  4. The process collects the quotes and selects the lowest quoted price as the supplier to which to award the order.

  5. An important step is to pass all this information to the business managers to approve the order for fulfillment with all the order details, especially the sales price and the supplier-quoted price, for margin reviews.

  6. If the order is approved, it is sent for fulfillment. The old fulfillment service is repackaged to capture orders in the order management system and to send a notification to the supplier for order shipment.

  7. An order acknowledgment is then sent to the order placing channel of the sales order to confirm that the order is accepted or rejected.

1.2 Using this Tutorial

This tutorial is divided into twelve separate phases. Each phase builds on the previous phase. You must complete each phase in the order described in this tutorial. The files to use with this tutorial are located in the following directory:

SOA_Oracle_Home\bpel\samples\tutorials\127.OrderBookingTutorial

A subdirectory in 127.OrderBookingTutorial named PracticeFiles includes key schema files that you copy into the project directories in this tutorial. You are now ready to begin.

1.2.1 Installing Oracle Application Server SOA Suite

  1. See the Oracle Application Server Installation Guide 10g Release 3 (10.1.3.1) for your operating system for instructions on installing Oracle Application Server SOA Suite.

  2. Select Basic Install on the Oracle Application Server SOA Suite 10.1.3.1.0 Installation window.

    Notes:

    • If you want to use Oracle BPEL Process Manager samples, enter welcome1 in the AS Administrator Password field for the oc4jadmin user. If you enter a different password, some samples require modification in order to work.

    • If you install the Oracle BPEL Process Manager for Developers installation type and attempt to use this tutorial, note that the ports (9700), Oracle BPEL Server startup commands, and Oracle BPEL Control user name (bpeladmin) may be different from those listed in this tutorial.

  3. Click Install.

  4. Click Exit when installation completes.

1.2.2 Identifying Ports

Identify several port numbers that were automatically configured during installation. You use these port numbers when creating application server and integration server connections to Oracle BPEL Server.

  1. Use a text editor to open the SOA_Oracle_Home\bpel\utilities\ant-orabpel.properties file.

  2. Make note of the ports being used by the following properties:

    • http.port

    • opmn.requestport

    These port values are required later when you create connections in "Creating Oracle Application Server and Integration Server Connections".

1.2.3 Installing Oracle JDeveloper

You must separately install Oracle JDeveloper 10.1.3.1 Studio.

  1. Unzip Oracle JDeveloper into a location on your host.

    Note:

    Do not install Oracle JDeveloper into a directory path that includes a space (for example, C:\Program Files\JDev). If you do, you receive an error when you compile BPEL processes.
  2. Start Oracle JDeveloper by clicking JDev_Oracle_Home\JDev\bin\jdev.exe or creating a shortcut.

1.2.4 Starting Oracle BPEL Process Manager Components

Follow these instructions to start key Oracle BPEL Process Manager components:

  1. Select Start > All Programs > Oracle - Oracle_Home > Start SOA Suite to start the Oracle BPEL Server and other SOA components.

  2. Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Developer Prompt to open up a command prompt at the SOA_Oracle_Home\bpel\samples directory. This enables you to access demonstrations and start any required Web services.

    Note:

    Always use the Developer Prompt to open an operating system command prompt in this tutorial. This sets all required paths. Opening an operating system command prompt in any other way to run tutorial commands is not supported.
  3. Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > BPEL Control to start the Oracle BPEL Control.

  4. Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Getting Started with Samples for details about BPEL samples and additional tutorials available for use.

  5. Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Sample Worklist Application to access the login window for the Oracle BPEL Worklist Application.

    Note:

    You must use Internet Explorer version 6 or Mozilla Firefox version 1.0.7 with this tutorial.

1.2.5 Creating Oracle Application Server and Integration Server Connections

  1. Select Connection Navigator from the View main menu in Oracle JDeveloper.

  2. Right-click Application Server.

  3. Select New Application Server Connection.

  4. Click Next on the Welcome page.

  5. Provide a meaningful name for connecting to the application server. Remember this name, as you select it when creating an integration server connection in Step 19.

  6. Select Oracle Application Server 10g 10.1.3 from the Connection Type list.

  7. Click Next.

  8. Enter the following details:

    Field Value
    Username oc4jadmin
    Password Enter the same administrator password you entered in "Installing Oracle Application Server SOA Suite".
    Deploy Password Select this check box; otherwise, you must authenticate each time you deploy a process.

  9. Click Next.

  10. Enter the following details:

    Field Value
    Host Name localhost
    OPMN Port Enter the same port value used by the opmn.requestport property that you identified in Step 2 of "Identifying Ports". This is likely port 6003.
    Group/OC4J Instance Name home
    Single Instance Select this radio button.
    Group Leave this radio button unselected.

  11. Click Next.

  12. Test the connection by clicking Test Connection. If the connection is successful, the following message appears:

    Success!
    
    
  13. Click Finish.

  14. Right-click Integration Server in the Connection Navigator.

  15. Select New Integration Server Connection.

    You use this integration server connection to deploy all your BPEL processes.

  16. Click Next on the Welcome page.

  17. Provide a meaningful name for connecting to the server.

  18. Click Next.

  19. Select the application server connection name you specified in Step 5 from the Application Server list.

  20. Enter the following details:

    Field Value
    Host Name localhost
    Port Enter the same port value used by the http.port property that you identified in Step 2 of "Identifying Ports". This is likely port 8888.
    Add host name to the list of proxy exceptions Select this check box to automatically add this host to the list of proxy exceptions shown in the Exceptions field under Tools > Preferences > Web Browser and Proxy. The first time it is started, Oracle JDeveloper by default picks up these proxy exceptions that are set for your browser.

  21. Click Next.

  22. Test the connection by clicking Test Connection. If the connection is successful, the following message appears:

    Application Server: OK
    BPEL Process Manager Server: OK
    ESB Server: OK
    
    
  23. Click Finish.

1.2.6 Setting the Hostname in Your Oracle JDeveloper Web Browser Preferences

The hostname of your computer was automatically added to the Oracle JDeveloper preference settings during installation. If the hostname does not appear in the preference settings, you can receive parsing errors when selecting a WSDL file on the Service Explorer window while creating a partner link.

  1. Select Preferences from the Tools main menu.

  2. Click Web Browser and Proxy.

  3. Verify that your hostname is in the Exceptions field. For example, if your hostname is myhost-pc:

    us.acme.com|*.us.acme.com|localhost|myhost-pc|127.0.0.1
    
    
  4. Ensure also that localhost appears in the Exceptions field.

  5. Click OK.

    You are now ready to design your BPEL process.