testcontent
Purpose
In this tutorial, you learn how to configure PeopleSoft Integration Broker to publish an Application Message as an outbound SOAP message to an external Oracle Enterprise Service Bus (ESB) process. You create an XSD from a WSDL file that is generated by Peopelsoft and provide that XSD file as input to the ESB service. You also learn how to create, deploy, and test an ESB service to receive the published Application Message (a Sales Order from PeopleSoft.)
Time to Complete
Approximately 3 hours
This tutorial covers the following topics:
| |
Overview |
| |
Prerequisites |
| |
PeopleSoft Setup |
| |
|
| |
Create an ESB Service |
| |
Submit a Sales Order from PeopleSoft |
| |
Summary |
| |
Related information |
Place the cursor over this icon to
load and view all the screenshots for this tutorial. (Caution: This action loads all screenshots simultaneously, so response time may be slow depending on your Internet connection.)
Note: Alternatively, you can place the cursor over an individual icon in the following steps to load and view only the screenshot associated with that step. You can hide an individual screenshot by clicking it.
This integration example highlights PeopleSoft as a Web Service provider for services that are consumed by Oracle SOA Suite Enterprise Service Bus (ESB). A common business scenario is where an event is generated in Peoplesoft and a number of external applications need to be made aware of the availability of this event. For example, generation of a new Sales Order, new employee record, or new journal entry are events that require order data, employee data or journal data to be published to external system. In this tutorial, when a new Sales Order is created in PeopleSoft CRM, an AppMessage is created, wrapped in a SOAP envelope, and published using Integration Broker to Oracle ESB. As part of this task, message schemas are extracted and provided to the ESB for service consumption. ESB then consumes the message and routes it to any external application. This tutorial uses a file system as an external application to which messages are routed.
Before starting this tutorial, you should:
| 1. |
Have installed Oracle SOA Suite 10g (10.1.3.1). You can download the software from Oracle Technology Network web site. |
| 2. |
Have installed Oracle Jdeveloper 10g (10.1.3.2). You can download the software from Oracle Technology Network web site. |
| 3. |
Have access to Peoplesoft CRM 9 with PeopleTools v8.48. For the PeopleSoft domain ensure that the PUB/SUB server is up and that the process scheduler is started (you need psadmin screen to perform these tasks). This tutorial uses CRM 9.0 and CRM_SALES ORDER is the application message that is published. CRM9.0 with PeopleTools 8.48 delivers this message and the integration points out of the box. If you are using a module other than CRM 9.0, for example HCM, then you need to apply the steps mentioned here to your module. There will be differences in the applications and functional steps, but for out of the box delivered integrations (such as say, PERSON_BASIC_SYNC Application Message which is commonly found in many peoplesoft modules) the majority of the PeopleTools configuration steps are the same. |
To perform steps described in this tutorial, first make sure that PeopleSoft Configuration is ready. Verify that the PeopleSoft Gateway is accessible and that the Peoplesoft Integration Broker service is ready to create an outbound event message route as described below. Then define the message type to be consumed by a Web Service consumer such as an Enterprise Service Bus process.
|
1. |
Define the Integration Broker Gateway: Navigate to PeopleTools -> Integration Broker -> Configuration -> Gateways Click
Search in the Gateways window to view a list of available integration gateways. PeopleSoft Integration Broker is delivered out of the box with one local gateway and details for that gateway are returned. You can search explicitly for gateway ID = LOCAL as well.
Note: You can use this gateway as the default local gateway or create a new gateway and designate that as the default local gateway. . Click the
Load Gateway Connectors button to load the connectors delivered with PeopleSoft Integration Broker. Click
Save to save the changes. You will configure the HTTPTARGET connector for integration with Oracle ESB in a later step in this tutorial.
Click the Ping Gateway button to make sure the gateway status is active. Notice the message that the gateway is activesee a response as below |
||||||||||||
|
2. |
Activate Integration Broker Domain. Be sure to activate the pub/sub messaging server domain. This task has to be performed using PSADMIN screens. Verify with your Peoplesoft system administrator or you can find more details on this in Peoplebooks.
In the
Integration Broker Domains section of the page, locate your machine name and notice that its
Domain Status is
Active. Otherwise, click the
Domain Status link from the Domains section and select status to be active from the Domain Status drop down list. Click
Save.
|
||||||||||||
| 3. |
Set Up Integration Broker Service Configuration.
|
||||||||||||
| 4. |
Verify that the GetWSDL and GetSchema Service Operations and Routings are Active. Make sure the GetWSDL and GetSchema service operations for the IB_UTILITY service are Active and have Active Routings. These operations must be available for WSDLs and Schemas to be generated. IB_UTILITY is a system service that has these two operations to generate Schemas and WSDLs.
|
||||||||||||
| 5. |
Create Transformation Program to Append Namespace to Message. A BPEL or ESB service requires namespace from a document root node. For Outbound messages, namespaces are not added to Document Root Node by default. Hence, you need to create an outbound message as PeopleCode Application Engine Transformation program. This transformation program can generate and append namespace to the document node. For example, consider the following situation: Before Transformation
After Transformation
|
||||||||||||
| 6. |
Verify whether the CRM_SALES_ORDER Service Operation is active. Navigate to
PeopleTools -> Integration Broker -> Integration Setup -> Service Operations. Search for the Service CRM_SALES_ORDER.
In the Services Operation section, click the CRM_SALES_ORDER link to view details about this service. Verify that the service is active. |
||||||||||||
| 7. |
Activate Message Queue:
Ensure that the Queue Status is set to Run. Select the Unordered check box so messages do not get backed up if a message errors out. Click Save to save the page. |
| 1. |
Creating a Node: Nodes represent any organization, application or system that play a part in integration. For example, nodes can represent customers, business units, suppliers, other trading partners, external or third-party software systems, and so on. Node definitions define the locations to or from which messages can be routed. Because an application can send messages to itself, a default local node definition that represents the application is delivered as part of the integration engine. Create a Node for your SOA Suite system.
|
|||||||||||||||||||||||||||||||||||||||||||||||
| 2. |
Creating a Routing A routing definition defines the sending and receiving nodes for a transaction, and specifies any inbound and outbound transformations to invoke. A routing definition must exist on each system that is participating in a particular transaction. For example, let's say that System A (local node) is going to send a service operation to System B (ESB), a point-to-point routing needs to be created between the two systems.
|
|||||||||||||||||||||||||||||||||||||||||||||||
| 3. |
Creating XSD file from Generated WSDL You need to import the XSD schema of the CRM_SALES_ORDER message into the ESB project that you will create in the next section. The Provide Web Service function generates a WSDL with inline XSD schema for any Service/Service Operation with an "Any to Local" Inbound Routing. Even though this tutorial is an Outbound integration and not an Inbound integration, we will add an inbound routing so the WSDL can be generated and we can pull the inline XSD. Perform the following are the steps to generate a WSDL and to copy/paste the schema from it to create a XSD file.
|
| 1. |
Create a ESB Workspace
|
||||||||||||||||||||||||||
| 2. |
Create an ESB Project
|
||||||||||||||||||||||||||
| 3. |
Create an ESB System and Service Group
|
||||||||||||||||||||||||||
| 4. |
Adding a Routing Service to Receive PeopleSoft Order
|
||||||||||||||||||||||||||
| 5. |
Create an Adapter Services to Write Order to a File
|
||||||||||||||||||||||||||
| 6. |
Create Routing Rule to the File Adapter Service .
|
||||||||||||||||||||||||||
| 7. |
Register with ESB .
|
Finally, we are ready to test by creating a new Sales Order. The customer name and product ID used in our example here are based on our local configuration. For your CRM instance, use a customer and a product that exists in your system.
| 1. |
Open an Internet Explorer window to the PeopleSoft URL and login to PeopleSoft instance with appropriate Userid and Password. From the menu on the left, navigate to
Orders and Quotes -> Add Order to open a New Order Form.
|
| 2. |
In the
Customer Field box, enter
Adventure 54 and click the
Search button to bring up the customer record.
|
| 3. |
In the
Line Summary section >
Add Product(s) field, enter
10009 and click the
Add button to retrieve the product data.
|
| 4. |
Click Submit. |
| 5. |
A message that the order has successfully been submitted is displayed along with an Order ID at the top of the page. |
| 6. |
Return to the ESB Control Center browser window or start it if not already open.
|
| 7. |
Click the Go arrow button that appears next to the Search field to search for all the Instances. If you don't see any new instance, review the Troubleshooting section. |
| 8. |
Highlight the retrieved Instance to see the Instance Diagram.
|
| 9 | For final confirmation of a successful run, use Windows Explorer to verify that the order file (Order_#.xml) was indeed created in the c:\temp folder which is you identified in FileAdapater creation. |
In this tutorial you learned how to generate WSDL from Peoplesoft and how to create an ESB service that can consume the generated WSDL.
Place the cursor over this icon to hide all screenshots.