Oracle® BPEL Process Manager Order Booking Tutorial
10g Release 2 (10.1.2) B15813-02 |
|
Previous |
Next |
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:
GlobalCompany is a large original equipment manufacturer (OEM) that sells assembled widgets and widget parts to their customers through multiple sales channels, including:
Retail on the Web
Direct sales through sales representatives
Large customers through automated business-to-business (B2B) orders
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:
Select Manufacturing (a local contract manufacturer)
Rapid Distributors (an out-of-state distributor that sources goods from an overseas low-cost manufacturer)
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.
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
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
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
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.
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.
The process collects the quotes and selects the lowest quoted price as the supplier to which to award the order.
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.
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.
An order acknowledgement is then sent to the order placing channel of the sales order to confirm that the order is accepted or rejected.
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:
Oracle_Home\integration\orabpel\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.
Follow the instructions to start Oracle BPEL Process Manager components.
Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager 10.1.2 > Start BPEL PM Server to start the Oracle BPEL Server.
Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager 10.1.2 > JDeveloper BPEL Designer to start the JDeveloper BPEL Designer.
Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager 10.1.2 > Developer Prompt to open up a command prompt at the Oracle_Home
\integration\orabpel\samples
directory. This enables you to easily access demonstrations and start any required Web services.
Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager 10.1.2 > BPEL Console to start the Oracle BPEL Console.
Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager 10.1.2 > Getting Started with Samples for details about BPEL samples and additional tutorials available for use.
Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager 10.1.2 > Sample Worklist Application to access the login window for the Oracle BPEL Worklist Application.
When you start JDeveloper BPEL Designer for the first time, a connection named LocalBPELServer is automatically created. This connection enables you to deploy your BPEL process from JDeveloper BPEL Designer to Oracle BPEL Server. The LocalBPELServer connection is sufficient for completing all phases of this tutorial.
If you want to create additional connections, follow these instructions.
Select Connection Navigator from the View main menu in JDeveloper BPEL Designer.
Right click BPEL Process Manager Server.
Select New BPEL Process Manager Connection.
Click Next on the Welcome page.
Provide a name for connecting to the server.
Click Next.
Enter the following details:
Field | Value |
---|---|
Host Name | localhost (default value) |
Port Number | 9700 (default value) |
Click Next.
Test the connection by clicking Test Connection. If the connection was successful, the following message appears:
Success.
Click Finish.
Add the hostname of your computer to JDeveloper BPEL Designer preference settings. If you do not do this, you can receive parsing errors when selecting a WSDL file on the WSDL Chooser window while creating a partner link. Perform this task even if you do not have a proxy server.
Select Preferences from the Tools main menu.
Click Web Browser and Proxy.
Enter your hostname in the Exceptions field. For example, if your hostname is myhost-pc
:
us.acme.com|*.us.acme.com|localhost|127.0.0.1|myhost-pc
Ensure also that localhost
appears in the Exceptions field.
Click OK.