Integrating PeopleSoft Integration Broker and Oracle Service Bus
By Srikant Subramaniam-Oracle on Oct 09, 2008
The recent BEA acquisition augments Oracle SOA Suite with BEA's AquaLogic Service Bus (henceforth referred to as the Oracle Service Bus). OSB offers a lightweight Enterprise Service Bus to connect, mediate and manage interactions between heterogeneous services and legacy applications. The go-forward strategy is to offer a unified service bus architecture that combines the respective strengths of the (existing) Oracle Enterprise Service Bus and the (newer) OSB, in addition to providing an automated upgrade path for existing customers.
This tutorial demonstrates some of the core ESB features.
The core OSB features showcased are:
- Connectivity, via the ability to access and integrate applications using a standards based approach (SOAP).
- Messaging and Routing: Once connectivity is established, incoming data and messages are routed to their appropriate destination. Routing decisions are usually based on headers, content or other external rules.
- Transformation: As data flows between services, it needs to be transformed to match the format that target services expect to receive.
We show how an outbound SOAP message generated by PeopleSoft Integration Broker can be consumed by the Oracle Service Bus. OSB then transforms the message using XQuery and routes it to the appropriate business service, using content based routing (CBR). This is a typical business scenario -- where events are generated in a PeopleSoft module and then published to various external applications.
PeopleSoft CRM generates a single purchase order containing multiple line items, and no single vendor is capable of supplying all the line items. As a result, the purchase order needs to be split (transformed) into several individual orders containing the respective line items.
The individual purchase orders will also need to conform to the schema of the respective vendor business services before they can be routed onwards. The tutorial defines two business services: "Vendor A" to supply product IDs 0-10100 and "Vendor B" for the remaining products.
The individual purchase orders contain the following fields:
- Order number
- Product ID
- Total price
Purchase orders for Vendor B contain an additional field:
- Business unit
The main steps in the process are:
- Configure PeopleSoft CRM to publish an outbound event message via the Integration Broker.
- Implement CBR (in the Oracle Service Bus) and define the relevant business services (Vendor A and Vendor B). This tutorial uses a file system to represent the different vendors.
- Route the incoming messages using CBR to the appropriate business service, while ensuring that the payload conforms to the expected format (i.e: invoke the appropriate transformation logic)
Upon successful execution, the incoming purchase order from PeopleSoft CRM is transformed and routed to the two business services.